Amazon web services 我们可以在AWS::CloudFormation::Init中收集实例元数据吗

Amazon web services 我们可以在AWS::CloudFormation::Init中收集实例元数据吗,amazon-web-services,amazon-ec2,amazon-cloudformation,Amazon Web Services,Amazon Ec2,Amazon Cloudformation,配置AWS cloudwatch代理时,可以在{instance\u id}中包含awslogs.conf [/var/log/cfn-hup.log] file = /var/log/cfn-hup.log log_group_name = my-log-group log_stream_name = {instance_id}/cfn-hup 有没有办法做到这一点 具体来说,我希望将我的实例ID添加到节中 资源: MyLaunchConfig: 类型:AWS::AutoScaling::L

配置AWS cloudwatch代理时,可以在
{instance\u id}
中包含
awslogs.conf

[/var/log/cfn-hup.log]
file = /var/log/cfn-hup.log
log_group_name = my-log-group
log_stream_name = {instance_id}/cfn-hup
有没有办法做到这一点

具体来说,我希望将我的实例ID添加到节中

资源:
MyLaunchConfig:
类型:AWS::AutoScaling::LaunchConfiguration
元数据:
AWS::CloudFormation::Init:
配置:
文件夹:
/opt/someconfig.conf:
内容:|
实例\u ID={INSTANCE\u ID}
模式:“000644”
所有者:“根”
组:“根”
我的解决方法是在
cfn init
命令之后,通过运行以下命令将
INSTANCE\u ID
附加到我的配置文件中:

echo”实例\u ID=$(curlhttp://169.254.169.254/latest/meta-data/instance-id)“>>/opt/someconfig.conf

有更好的方法吗?

我采用了Marcin在评论中指出的方法

资源:
MyLaunchConfig:
类型:AWS::AutoScaling::LaunchConfiguration
元数据:
AWS::CloudFormation::Init:
配置:
文件夹:
/opt/someconfig.conf:
内容:|
实例\u ID='实例\u ID\u占位符'
模式:“000644”
所有者:“根”
特性:
#为简洁起见,请删除
用户数据:
Fn::Base64:!潜艇|
#!/bin/bash-xe
cfn init-v\
--堆栈${AWS::StackName}\
--资源MyLaunchConfig\
--区域${AWS::region}
实例_ID=$(curlhttp://169.254.169.254/latest/meta-data/instance-id)
sed-i“s/INSTANCE\u ID\u占位符/$INSTANCE\u ID/g”/opt/someconfig.conf

我采用了Marcin在评论中指出的方法

资源:
MyLaunchConfig:
类型:AWS::AutoScaling::LaunchConfiguration
元数据:
AWS::CloudFormation::Init:
配置:
文件夹:
/opt/someconfig.conf:
内容:|
实例\u ID='实例\u ID\u占位符'
模式:“000644”
所有者:“根”
特性:
#为简洁起见,请删除
用户数据:
Fn::Base64:!潜艇|
#!/bin/bash-xe
cfn init-v\
--堆栈${AWS::StackName}\
--资源MyLaunchConfig\
--区域${AWS::region}
实例_ID=$(curlhttp://169.254.169.254/latest/meta-data/instance-id)
sed-i“s/INSTANCE\u ID\u占位符/$INSTANCE\u ID/g”/opt/someconfig.conf

以前也有类似的问题。但我没能找到一个“好”的方法来做这件事。因此,我的解决方法是使用
sed
替换
实例
Init
文件中的其他占位符。以前也有类似问题。但我没能找到一个“好”的方法来做这件事。因此,我的解决方法是使用
sed
替换
实例
Init
文件中的一些其他占位符。