AWS CloudFormation, где будут храниться пользовательские данные?

если у меня есть шаблон AWS CloudFormation, использующий блок UserData, содержащий блок скрипта, который нужно выполнить, например:

"UserData": {
    "Fn::Base64": {
        "Fn::Join": [
            "",
            [
                "#!/bin/bash\n",
                "apt-get update\n",
                "apt-get -y upgrade\n",
            ]
        ]
    }
}

После создания экземпляра

  1. Я предполагаю, что этот блок сценария будет сохранен где-то для выполнения?
  2. Если да, то где я могу найти этот скрипт в инстансе EC2?
  3. Удалит ли AWS этот временный скрипт после успешного создания стека?

Я не мог найти их упоминание в документе.

Спасибо


person Nam Nguyen    schedule 01.11.2013    source источник


Ответы (3)


Пользовательские данные для экземпляра доступны для любого процесса в экземпляре для извлечения в этом месте:

http://169.254.169.254/latest/user-data

DNS-имя «instance-data» разрешается в этот IP-адрес, поэтому, если вы доверяете DNS, вы также можете использовать более легкое для запоминания:

http://instance-data/latest/user-data

Вот документы Amazon:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html

person Eric Hammond    schedule 01.11.2013

в папке /var/lib/cloud/data/scripts/

person user3682640    schedule 05.09.2014

  1. Я предполагаю, что этот блок сценария будет сохранен где-то для выполнения?

Да, Cloudformation сохраняет все пользовательские данные, которые вы отправили внутри блока «UserData».

  1. Если да, то где я могу найти этот скрипт в инстансе EC2?

Вы можете найти Userdata @ /var/lib/cloud/instance/userdata.txt и журналы Userdata @ /var/log/cloud-init-output.log

  1. Удалит ли AWS этот временный скрипт после успешного создания стека? Нет, AWS не удалит скрипт пользовательских данных после создания стека. Вы можете использовать его для целей отладки.

К вашему сведению: если вы используете пользовательский AMI, вы можете увидеть исходные пользовательские данные экземпляра и текущие пользовательские данные также в /var/lib/cloud/instances/*. Похоже, AWS никогда не удаляет истории пользовательских данных.

Надеюсь, это поможет для базового понимания.

person Prakash26790    schedule 09.03.2017