amazon-web-services - Cloudformation ECS集群

标签 amazon-web-services amazon-ecs aws-cloudformation user-data launch-configuration

我正在尝试编写一个 Cloud Formation 模板,该模板将创建启动配置、ASG、ECS 集群,并将 ASG 中的 ec2 实例注册到所述集群。

我有一个很长的 userdata.sh 文件,用于设置启动配置。

通过将此用户数据放入 yaml 文件中 即

   ...
   UserData:
      Fn::Base64: !Sub | 
        #!/bin/bash
        ...

看起来很糟糕。另外,当我尝试使用 Sub 将集群名称插入 ecs 代理 ${ECSCluster} 时,我得到“Fn::Sub 语法中的变量名称必须仅包含字母数字字符、下划线、句点和冒号”。我的用户数据中的环境变量采用相同的形式 ${ENV_VARIABLE}。

我已经尝试过Passing userdata file to AWS Cloudformation stack但收到“模板格式错误:YAML 格式不正确。”

将复杂的 userdata.sh 文件传递​​到 CFT 中的推荐方法是什么,以便您可以将集群名称添加到 ecs-agent 配置中?

最佳答案

错误只是表明它不喜欢您在 Fn::Sub 中引用变量的方式。它需要是 ${ECSCluster},而不是 $(ECSCluster)。请参阅examples在文档中。

关于amazon-web-services - Cloudformation ECS集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45696487/

相关文章:

amazon-web-services - Configsets 配置命令未按顺序执行 cloudformation

amazon-web-services - AWS MSK 用户/密码认证/授权

amazon-web-services - AWS Lambda CloudWatch 日志记录是否同步?

amazon-web-services - AWS ECS - 创建新集群或重新使用现有集群并创建新服务时应考虑哪些因素

amazon-web-services - 部署期间 ECS 服务中所需的任务计数

Terraform:在同一类型上同时使用数据源和资源有什么意义?

amazon-web-services - 如何使用AWS API检索资源的属性?

amazon-web-services - AWS 针对任意数量的 EC2 实例在 CPU 上自动缩放

amazon-web-services - 为什么我必须在 AWS Application Load Balancer 中禁用 HTTP/2 以防止出现 ERR_SPDY_PROTOCOL_ERROR?

node.js - aws-xray captureAWS 注释