Col*_*rk1 1 amazon-web-services aws-cloudformation devops infrastructure-as-code
我有一个 CloudFormation 堆栈,如下所示,
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"/home/ec2-user/create_db_user.sh" : {
"source" :
"http://s3.amazonaws.com/devops/create_db_user.sh",
"mode" : "000755",
"owner" : "ec2-user"
}
}
...
Run Code Online (Sandbox Code Playgroud)
在我需要将此初始化脚本输出设置为 cloudformation 堆栈之后,我需要在 EC2 实例启动时运行此命令。
我怎么能这样。
聚会有点晚了,但除了之前的答案......
AWS::CloudFormation::Init
无法通过 Cloudformation 访问 at EC2 实例创建的输出。
但是,在已启动的 EC2 实例上,您将找到AWS::CloudFormation::Init
(又名cfn-init
)和用户数据(cloud-init
)的日志。
在 Amazon Linux 上,其结构如下:
访问这些日志的最简单方法是将日志流式传输到 Cloudwatch Logs,这将使您能够按时间和内容搜索和过滤日志。还可以考虑使用 Cloudwatch Insights 进行搜索和过滤 - 它为搜索、过滤甚至简单的可视化(图表)提供了更全面和易懂的语法。
鉴于您已经在使用 cfn-init,您可以在此处找到有关如何安装新的 Cloudwatch 代理(不是 Cloudwatch 日志代理!)的信息。使用 Cloudwatch 代理的好处是它还可以将自定义指标流式传输到 Cloudwatch Metrics(例如内存使用情况、应用指标、数据库指标等)。
对于已经在运行的 EC2 实例,请考虑查看cfn-hup
此处。
另一种方法是使用 SSM(系统管理器)按照此处的说明将代理推送到已经运行的实例上。
归档时间: |
|
查看次数: |
2068 次 |
最近记录: |