【发布时间】:2018-11-19 22:06:19
【问题描述】:
我正在尝试使用 cloudwatch 创建计划任务。 我正在使用这个页面
我看到的问题是当我正常运行任务然后 aws 询问
- vpc
- 子网
- 启动类型
但是当我使用 cloudwatch 目标时,它不要求 vpc、子网等。这是为什么?
【问题讨论】:
标签: amazon-cloudformation amazon-cloudwatch amazon-ecs aws-fargate
我正在尝试使用 cloudwatch 创建计划任务。 我正在使用这个页面
我看到的问题是当我正常运行任务然后 aws 询问
但是当我使用 cloudwatch 目标时,它不要求 vpc、子网等。这是为什么?
【问题讨论】:
标签: amazon-cloudformation amazon-cloudwatch amazon-ecs aws-fargate
CloudFormation 尚未更新以适应某些 Fargate 功能。如果您在尝试从 CloudFormation 部署 ECS 任务时遇到错误,
尝试改用命令行界面 (aws events put-target),它允许您添加一个目标,其中包含启动类型和网络配置所需的 ECS 参数。
下面是我如何配置我的 ECS 任务以从 CLI 而不是 CloudFormation 部署的示例:
1. 将 vpc/subnet 配置添加到变量 NETWORK_CONFIGURATION:
NETWORK_CONFIGURATION='{"awsvpcConfiguration":{"AssignPublicIp":"ENABLED","SecurityGroups": \["'${AWS_NETWORKCONFIG_SECURITY_GROUP}'"],"Subnets":["'${AWS_NETWORKCONFIG_SUBNET}'"]}}'
aws events put-targets \
--rule events-rule--${TASK_NAME} \
--targets '{"Arn":"arn:aws:ecs:'${AWS_REGION}':'${AWS_ACCOUNT_ID}':cluster/ecs-cluster-1","EcsParameters":{"LaunchType":"FARGATE","NetworkConfiguration":'${NETWORK_CONFIGURATION}',"TaskCount": 1,"TaskDefinitionArn": "arn:aws:ecs:'${AWS_REGION}':'${AWS_ACCOUNT_ID}':task-definition/ecs-task-'${TASK_NAME}'"},"Id": "ecs-targets-'${TASK_NAME}'","RoleArn": "arn:aws:iam::'${AWS_ACCOUNT_ID}':role/ecsEventsRole"}' \
;
【讨论】: