Как узнать, где ваш скрипт пользовательских данных EC2 не работает? - PullRequest
1 голос
/ 22 марта 2012

У меня есть следующий сценарий пользовательских данных в моем шаблоне CloudFormation:

"UserData" : {"Fn::Base64" : {"Fn::Join" : ["", [
      "#!/bin/bash\n",
      "cd /home/www","\n",
      "sudo su www","\n",
      "git clone git@github.com:company-name/web-app.git -b master2 app","\n",
      "cd app","\n",
      "phing clean prepare configure -Dpropsfile ./build/props/build.ec2.properties","\n",
      "\n",
      "/opt/aws/bin/cfn-signal",
      " -e $?",
      " '", {"Ref" : "WebServerPort"}, "'",
      "\n"
    ]]}},

Это запускает предварительно сконфигурированные частные ami, основанные на шаблоне облачной информации по умолчанию. Если я запускаю экземпляр самостоятельно, я могу запустить черезпроцесс git / build без ошибки Но когда cloudformation запускает сервер, он выглядит так, как будто он никогда не запускался

1 Ответ

1 голос
/ 23 марта 2012

Похоже, что с тех пор, как я создал AMI из экземпляра, который запустил облачная информация, он уже запускал сценарии инициализации и кэшировал их как 'run', поэтому любые новые экземпляры уже будут иметь эти кэшированные файлы и никогда не будут запускать мой сценарий.

sudo rm /var/lib/cloud/sem/user-scripts.*
sudo rm /var/lib/cloud/sem/consume_userdata.*

Затем создание нового AMI позволило ему работать для моего собственного скрипта инициализации

Также не используйте su, вместо этого chown впоследствии:)

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