【问题标题】:AWS CloudFormation UserData EC2 Environment VariableAWS CloudFormation 用户数据 EC2 环境变量
【发布时间】:2019-02-25 00:43:20
【问题描述】:

我正在使用 CloudFormation 开发基础架构。 这是我自己的基础架构代码,如下所示。

 AWSRegionArch2AMI:
     us-east-1:
       HVM64: ami-0ff8a91507f77f867
       HVMG2: ami-0a584ac55a7631c0c
 ...
 ..
 .

 Resources:
 EC2Instance:
 Type: AWS::EC2::Instance
 Properties:
 InstanceType:
    Ref: InstanceType
  SecurityGroups:
  - Ref: InstanceSecurityGroup
  KeyName:
    Ref: KeyName
  UserData:
    Fn::Base64: !Sub |
      #!/bin/bash
      export MY_AMI_NAME=${ !GetAtt AWSRegionArch2AMI.us-east-1.HVM64 }

      echo $MY_AMI_NAME > $HOME/user_data.txt

我想将变量设置为 user_data 文件,但它是空的,我如何将环境变量放入我的用户数据字段中并在我自己的应用程序端使用它我该怎么做。

请帮忙!

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    试试这个:

    UserData:
      Fn::Base64: !Sub
        - |
          #!/bin/bash
          MY_AMI_NAME=${image_id}
          echo $MY_AMI_NAME > $HOME/user_data.txt
        - image_id: !GetAtt AWSRegionArch2AMI.us-east-1.HVM64
    

    解释:

    • 在 Bash 中使用export 是为了使变量可用于子shell - “环境变量”。你不需要它。

    • 请参阅docs 以正确使用!Sub 函数。

    • 另请参阅 this 相关 Stack Overflow 答案。

    【讨论】:

    • 谢谢兄弟!我已经从文档中找到了它,非常感谢它的工作原理!
    猜你喜欢
    • 2020-02-04
    • 2016-01-26
    • 2018-11-03
    • 2020-11-04
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 2021-11-12
    • 2019-05-09
    相关资源
    最近更新 更多