【问题标题】:AWS ecs scheduled task with cloudwatch带有 cloudwatch 的 AWS ecs 计划任务
【发布时间】:2018-11-19 22:06:19
【问题描述】:

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

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

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

  1. vpc
  2. 子网
  3. 启动类型

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

【问题讨论】:

    标签: amazon-cloudformation amazon-cloudwatch amazon-ecs aws-fargate


    【解决方案1】:

    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-08-27
      • 2021-12-26
      • 1970-01-01
      • 2023-04-01
      • 2020-04-28
      • 1970-01-01
      • 2021-10-29
      • 2021-10-17
      • 1970-01-01
      相关资源
      最近更新 更多