Переменная среды AWS CloudFormation UserData EC2 - PullRequest
0 голосов
/ 25 февраля 2019

Я работаю над инфраструктурой с 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, но она пуста. Как я могу получить переменную среды внутри моего поля пользовательских данных и использовать ее на своей стороне приложения Как я могу это сделать.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 25 февраля 2019

Попробуйте:

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

Объяснение:

  • Использование export в Bash - сделать переменные доступными для подоболочек - «переменных среды».Там вам это не нужно.

  • См. документы для правильного использования функции !Sub.

  • См. Также этот связанный ответ переполнения стека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...