我正在尝试编写一个 Cloud Formation 模板,该模板将创建启动配置、ASG、ECS 集群,并将 ASG 中的 ec2 实例注册到所述集群。
我有一个很长的 userdata.sh 文件,用于设置启动配置。
通过将此用户数据放入 yaml 文件中,即
...
UserData:
Fn::Base64: !Sub |
#!/bin/bash
...
它看起来很糟糕。此外,当我尝试使用 Sub 将集群名称插入 ecs 代理 ${ECSCluster} 时,我得到“Fn::Sub 语法中的变量名称必须仅包含字母数字字符、下划线、句点和冒号”。我的用户数据中的环境变量采用相同的形式 ${ENV_VARIABLE}。
我尝试将用户数据文件传递到 AWS Cloudformation 堆栈,但收到“模板格式错误:YAML 格式不正确。”
将复杂的 userdata.sh 文件传递到 CFT 以将集群名称添加到 ecs-agent 配置的推荐方法是什么?