amazon-web-services - 如何发现 EC2 实例上的 AWS Cloudformation 堆栈名称以与 cfn-init 命令一起使用

标签 amazon-web-services powershell amazon-ec2 aws-cloudformation

我们已经使用 Cloudformation 部署了一些 Windows EC2 实例,这些实例是使用 cfn-init 配置的。脚本。

为了稍后更新实例上的组件,我们需要重新运行一些 Cloudformation::Init configsets使用 cfn-init 帮助程序脚本,所需参数之一 --stack 是堆栈名称。我期望这个值可以通过 EC2 Instance Metadata 动态获得。作为一个单一的调用,但我一直无法找到它。

我正在发布一个解决方法脚本,但我仍然想知道是否有一个我缺少的更简单、强大的方法。

最佳答案

您可能希望在 cloudformation 模板中定义 cfn-hup,以便它使用您需要的变量来放置文件:

来自文档

...
  LaunchConfig:
    Type: "AWS::AutoScaling::LaunchConfiguration"
    Metadata:
      QBVersion: !Ref paramQBVersion
      AWS::CloudFormation::Init:
...
            /etc/cfn/hooks.d/cfn-auto-reloader.conf:
              content: !Sub |
                [cfn-auto-reloader-hook]
                triggers=post.update
                path=Resources.LaunchConfig.Metadata.AWS::CloudFormation::Init
                action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
                runas=root
              mode: "000400"
              owner: "root"
              group: "root"
...

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-hup.html

关于amazon-web-services - 如何发现 EC2 实例上的 AWS Cloudformation 堆栈名称以与 cfn-init 命令一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76039310/

相关文章:

amazon-web-services - 无法更改现有 AWS::AutoScaling::Trigger 的任何属性

amazon-web-services - 无法将 AWS SES 配置为从 Cognito 发送电子邮件

amazon-web-services - Janus-Gateway RTP-Forward 将流发送到 AWS Elemental MediaLive

powershell - 如何处理要在Start-Job中运行的命令的错误?

c# - 如何构建 .NET 解释器(或者 Powershell 如何工作?)

html - CSS 在本地机器和服务器上的表现不同

amazon-web-services - AWS云信息模板

python - 带参数执行 python

amazon-web-services - Terraform:如何将 EFS 访问点挂载到 EC2?

amazon-web-services - 使用 AWS 自动缩放终止实例?