Проблема с пользовательскими данными в AWS Cloudformation - PullRequest
0 голосов
/ 27 февраля 2019

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

AWSTemplateFormatVersion : 2010-09-09
Description: sonar
Resources:
  Ec2Instance:
    Type: AWS::EC2::Instance 
    Properties:
      KeyName: sivakey_feb
      ImageId: ami-04bfee437f38a691e
      UserData:
        Fn::Base64: 
          !Sub |
            #!/bin/bash -xe
            sudo chown -R ec2-user:ec2-user /opt/sonar/temp/conf
            /opt/sonar/bin/linux-x86-64/sonar.sh start
      InstanceType: t2.large
      Tags:
        -
          Key: Name
          Value: sonar

1 Ответ

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

Так что я не вижу ничего плохого в вашем сценарии.Но я бы предложил следующие действия:

  1. исполняемый флаг для вашего скрипта, поэтому

    chmod +x /opt/sonar/bin/linux-x86-64/sonar.sh
    
  2. для целей отладки добавьте следующую строку

    exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
    

Таким образом, ваши пользовательские данные должны выглядеть так:

    #!/bin/bash -xe
    exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
    sudo chown -R ec2-user:ec2-user /opt/sonar/temp/conf
    chmod +x /opt/sonar/bin/linux-x86-64/sonar.sh
    /opt/sonar/bin/linux-x86-64/sonar.sh start

Дополнительная строка взята из aws docs ;

Чтобы устранить проблемы с загрузкой экземпляра EC2 без необходимости доступа к экземпляру через SSH, вы можете добавить код в свой сценарий bash пользовательских данных, который перенаправляет весь вывод как в /var/log/user-data.log, так и в /DEV / консоли.Когда код будет выполнен, вы сможете увидеть журналы вызовов ваших пользовательских данных в консоли.

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