AWS ECS的CDK结构

aws-cdk.aws-ecs-patterns的Python项目详细描述


用于高级ECS构造的CDK构造库


Stability: Experimental

This is a developer preview (public beta) module. Releases might lack important features and might have future breaking changes.

This API is still under active development and subject to non-backward compatible changes or removal in any future version. Use of the API is not recommended in production environments. Experimental APIs are not subject to the Semantic Versioning model.


这个库提供了遵循通用架构模式的高级Amazon ECS结构它包含:

  • 负载平衡服务
  • 队列处理服务
  • 计划任务(cron作业)

负载平衡服务

要定义位于负载均衡器后面的amazon ecs服务,请实例化以下之一:

  • LoadBalancedEc2Service
constloadBalancedEcsService=newecsPatterns.LoadBalancedEc2Service(stack,'Service',{cluster,memoryLimitMiB: 1024,image: ecs.ContainerImage.fromRegistry('test'),desiredCount: 2,environment:{TEST_ENVIRONMENT_VARIABLE1:"test environment variable 1 value",TEST_ENVIRONMENT_VARIABLE2:"test environment variable 2 value"}});
  • LoadBalancedFargateService
constloadBalancedFargateService=newecsPatterns.LoadBalancedFargateService(stack,'Service',{cluster,memoryLimitMiB: 1024,cpu: 512,image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),});

如果指定vpc并省略cluster,cdk将创建一个新的amazon ecs集群。如果部署多个服务,cdk将只为每个vpc创建一个集群。

如果省略clustervpc,cdk将创建一个新的vpc,其子网位于两个可用区域中,集群位于该vpc内。

队列处理服务

要定义创建队列并从该队列读取数据的服务,请实例化以下服务之一:

  • QueueProcessingEc2Service
constqueueProcessingEc2Service=newQueueProcessingEc2Service(stack,'Service',{cluster,memoryLimitMiB: 1024,image: ecs.ContainerImage.fromRegistry('test'),command:["-c","4","amazon.com"],enableLogging: false,desiredTaskCount: 2,environment:{TEST_ENVIRONMENT_VARIABLE1:"test environment variable 1 value",TEST_ENVIRONMENT_VARIABLE2:"test environment variable 2 value"},queue,maxScalingCapacity: 5});
  • QueueProcessingFargateService
constqueueProcessingFargateService=newQueueProcessingFargateService(stack,'Service',{cluster,memoryLimitMiB: 512,image: ecs.ContainerImage.fromRegistry('test'),command:["-c","4","amazon.com"],enableLogging: false,desiredTaskCount: 2,environment:{TEST_ENVIRONMENT_VARIABLE1:"test environment variable 1 value",TEST_ENVIRONMENT_VARIABLE2:"test environment variable 2 value"},queue,maxScalingCapacity: 5});

计划任务

要定义定期运行的任务,请实例化一个ScheduledEc2Task

// Instantiate an Amazon EC2 Task to run at a scheduled intervalconstecsScheduledTask=newScheduledEc2Task(this,'ScheduledTask',{cluster,image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),scheduleExpression:'rate(1 minute)',environment:[{name:'TRIGGER',value:'CloudWatch Events'}],memoryLimitMiB: 256});

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
分析线程“main”java中的异常。时间总体安排DateTimeParseException:未能在索引0处分析文本“”   java为什么术语“工作单元”如此重要,为什么JDBC自动提交违反了这种模式?   java您的SQL语法有错误,但查询在MySQL工作台中运行   如何将api post请求从Java写入c#   java集成Hbase和Hive的优势是什么   使用Ecplise从数据库检索列表时遇到问题的java   java使用Guice需要做什么?   java在控制器中使用@Autowired和@Qualifier更改服务的数据源   通过Java API将具有值的字段添加到MongoDB中的现有文档中   java设置了JFrame背景,为什么这不起作用?   java和安卓中的异常处理   java如何在glassfish服务器中配置oracle精简连接池?   java如何使用spring@Lookup注释?   java Log4J调试不起作用?   java有没有人有一个好的代码示例/库,可以通过S3预签名的URL执行大文件(5GB)PUT操作?   java如何避免“除非模拟类型是可注入的或动态的,否则无法进入方法”?   浮点Java IEEE 754浮点到IBM浮点字节[4]转换