AWS ECS TaskDefinition 自动扩展

Posted

技术标签:

【中文标题】AWS ECS TaskDefinition 自动扩展【英文标题】:AWS ECS TaskDefinition autoscaling 【发布时间】:2021-09-17 19:33:59 【问题描述】:

我遇到了问题,希望您能提供帮助。 我想做 aws ecs 任务,但我找不到自动缩放它的方法 它卡在 256CPU 和 512Memory 上,我不想硬编码(2G 内存),因为我不需要它

 Parameters:
  SubnetIds:
    Type: "List<AWS::EC2::Subnet::Id>"
    Description: Select at least two subnets in your selected VPC.

Resources:      
  TaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      Family: name
      NetworkMode: awsvpc
      RequiresCompatibilities: 
        - FARGATE
      ContainerDefinitions:
        - 
          Name: "name"
          Image: "**/latest"
          Essential: true
          logConfiguration:
            logDriver: awslogs
            options:
              awslogs-group: /log/scheduledtasks
              awslogs-region: us-east-2
              awslogs-stream-prefix: log         
          Environment:
            - Name: OP_MODE
              Value: CRONJOB                
          Secrets:**                                                                                                                           
      ExecutionRoleArn: !ImportValue TaskExecutionRole  
      Cpu: 256
      Memory: 512
    
  TaskSchedule1:
    Type: AWS::Events::Rule
    Properties: 
      Description: Description
      Name: name
      ScheduleExpression: cron(5 10 * * ? *) 
      State: ENABLED
      Targets:
      - Id: id-name
        RoleArn: !ImportValue SchedulerRole
        EcsParameters:
          TaskDefinitionArn:
            Ref: TaskDefinition
          TaskCount: 1
          LaunchType: FARGATE
          NetworkConfiguration:
            AwsVpcConfiguration:
              AssignPublicIp: ENABLED
              Subnets: !Split [',', !Join [',', !Ref SubnetIds]]
        Input: '"containerOverrides":["name":"a","environment":["name":"TARGET_JOB","value":"definition"]]'
        Arn: !ImportValue Cluster
    

任何提示或资源都会很有帮助 我还在学习中,谢谢你的帮助

【问题讨论】:

进展如何?仍然不清楚为什么你不能做你想做的事? 【参考方案1】:

不能这样做。这不是autoscaling of ECS 服务/任务的工作方式。您可以通过启动同一任务的多个实例来自动扩展您的服务,而不是通过自动增加/减少您分配的 ram 和 cpu 的数量。

【讨论】:

以上是关于AWS ECS TaskDefinition 自动扩展的主要内容,如果未能解决你的问题,请参考以下文章

[AWS][容器][ECS] 容器动手实验201

ECS TaskDefinition 创建失败,并显示“提供的请求无效:创建 TaskDefinition:未知卷 'null'”。

使用 ECS 和 Fargate 时卷位于何处?

无法在 Loki 中获取日志记录

CloudFormation yaml - 如何强制数字类型?

Terraform 中的 ECS 服务如何连接到 AWS 自动缩放组