amazon-web-services - AWS ECS TaskDefinition 自动扩展
问题描述
我有问题希望你能帮忙。我想做 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
任何提示或资源都会很有帮助我还在学习,所以谢谢你的帮助
解决方案
你不能这样做。这不是ECS服务/任务的自动缩放工作方式。您可以通过启动同一任务的多个实例来自动扩展您的服务,而不是通过自动增加/减少您分配的 ram 和 cpu 的数量。
推荐阅读
- sql-server - 创建具有日期、时间和序列值的“PERSISTED COMPUTED COLUMN”
- rsa-archer-grc - 用于获取用户 ID 的 Archer API 不适用于所有用户
- excel - 使用宏更新标题时,它只会填充中心标题
- android-studio - 'pub get' 尚未在 android studio 中运行
- docker - socket.io 如何处理 docker 部署的多个实例?
- java - 我们可以使用 Firebase 的 UID 而不是注册令牌在 android 中发送通知吗?
- java - 在JUNIT json字符串中获取错误无法识别的字符转义'S'
- python-3.x - 根据列值python制作dtaframe的子集
- python - 现有 Oracle 表上的 Django 模型设置
- spring-boot - Spring Boot webflux TEXT_EVENT_STREAM_VALUE 不起作用