简体   繁体   中英

AWS ECS TaskDefinition autoscaling

I'm have an issue hopping you can help. I wanted to make aws ecs task but I cant find a way to auto-scale it its stuck with 256CPU and 512Memory, and I dont want to hard code it (2G memory) because I don't need it all the time

 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
    

any tip or resource will be so helpful I'm still learning, so thank you for your help

You can't do this . This is not how autoscaling of ECS services/tasks work. You autoscale your service by launching multiple instances of the same task, not by automatically increasing/decreasing the amount of ram and cpu you have allocated.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM