Выполнение сценария оболочки в CloudFormation cfn-init - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь запустить скрипт в команде cfn-init, но время ожидания истекло.Что я делаю не так, когда запускаю startup-script.sh?

"WebServerInstance" : {
      "Type" : "AWS::EC2::Instance",
      "DependsOn" : "AttachGateway",
      "Metadata" : {
        "Comment" : "Install a simple application",
        "AWS::CloudFormation::Init" : {
          "config" : {
            "files": {
              "/home/ec2-user/startup_script.sh": {
                "content": {
                  "Fn::Join": [
                    "",
                    [
                      "#!/bin/bash\n",
                      "aws s3 cp s3://server-assets/startserver.jar . --region=ap-northeast-1\n",
                      "aws s3 cp s3://server-assets/site-home-sprint2.jar . --region=ap-northeast-1\n",
                      "java -jar startserver.jar\n",
                      "java -jar site-home-sprint2.jar --spring.datasource.password=`< password.txt` --spring.datasource.username=`< username.txt` --spring.datasource.url=`<db_url.txt`\n"
                    ]
                  ]
                },
                "mode": "000755"
              }
            },
            "commands": {
              "start_server": {
                "command": "./startup_script.sh",
                "cwd": "~",
              }
            }
          }
        }
      },

Файловая часть работает нормально, и она создает файл, но время выполнения команды истекло.Как правильно выполнить сценарий оболочки?

1 Ответ

0 голосов
/ 01 июля 2019

Обычно сценарии инициализации выполняются пользователем root, если не указано иное. Можете ли вы попробовать указать полный путь при запуске сценария запуска. Вы можете попробовать cloudkast . Это онлайн-генератор шаблонов облачной информации. Упрощает создание объектов, таких как aws :: cloudformation :: init.

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