1

我正在尝试使用 cloudwatch 创建计划任务。我正在使用这个页面

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html

我看到的问题是当我正常运行任务然后 aws 询问

  1. 个人电脑
  2. 子网
  3. 发射类型

但是当我使用 cloudwatch 目标时,它不会要求 vpc、子网等。这是为什么?

4

1 回答 1

0

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}'"]}}'
  1. 运行以下命令来部署您的任务,这将从上面声明的变量中获取 vpc 配置
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"}' \
;
于 2019-06-21T17:46:29.920 回答