Написание скрипта и запуск в EC2 через облачную среду aws - PullRequest
0 голосов
/ 24 октября 2019

Я могу создать экземпляр EC2 в облачной информации. Но я хочу написать сценарий .sh внутри EC2 и запускать его один раз при запуске экземпляра. Кто-нибудь может подсказать мне, как этого добиться?

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Вы можете использовать AWS :: CloudFormation :: Init и передавать команды оболочки напрямую (см. Первый пример) или, например, записывать файлы (второй пример)

{
  "Resources": {
    "MyEc2Instance": {
      "Type": "AWS::EC2::Instance",
      "Metadata": {
        "AWS::CloudFormation::Init": {
          "do_something": {
            "commands": {
              "foobar": {
                "command": "echo FOO > /etc/motd"
              }
            }
          }
        }
      },
      "Properties": {
        ...
      }
    }
  }
}

{
  "Resources": {
    "MyEc2Instance": {
      "Type": "AWS::EC2::Instance",
      "Metadata" : {
        "AWS::CloudFormation::Init" : {
          "do_something" : {
            "files" : {
              "/usr/local/bin/myscript.sh" : {
                "content" : { "Fn::Join" : ["", [
                  "#!/bin/sh\n",
                  "ls -al\n"
                ]]},
                "mode"  : "000755",
                "owner" : "root",
                "group" : "root"
              }
            }
          }
        }
      },
      "Properties": {
      }
    }
  }
}
1 голос
/ 24 октября 2019

Существует множество документации по использованию CloudFormation, которую можно использовать для вызова командлетов PowerShell и команд bash с использованием процедур инициализации ресурса.

Одна такая функция называется AWS::CloudFormation::Init и более подробно об использовании inзадокументировано в официальных документах

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