Облачная информация AWS: cfg-init не добавляет ключи в файл author_keys - PullRequest
0 голосов
/ 30 августа 2018

Попытка предварительно заполнить экземпляр (созданный из оптимизированного ECS AMI, чтобы быть более конкретным) некоторыми открытыми ключами следующим образом:

Resources:
    MyEC2Instance: 
      Type: AWS::EC2::Instance
      Properties: 
        ImageId: "ami-0af844a965e5738db"
        KeyName: "some_existing_key"
        InstanceType: "t3.small"
      Metadata:
        AWS::CloudFormation::Init:
          config:
              packages:
                  yum:
                      awslogs: []

              files:
                  "/etc/cfn/cfn-hup.conf":
                      mode: 000400
                      owner: root
                      group: root
                      content: !Sub |
                          [main]
                          stack=${AWS::StackId}
                          region=${AWS::Region}

                  "/etc/cfn/hooks.d/cfn-auto-reloader.conf":
                      content: !Sub |
                          [cfn-auto-reloader-hook]
                          triggers=post.update
                          path=Resources.ECSLaunchConfiguration.Metadata.AWS::CloudFormation::Init
                          action=/opt/aws/bin/cfn-init -v --region ${AWS::Region} --stack ${AWS::StackName} --resource ECSLaunchConfiguration

                  "/etc/awslogs/awscli.conf":
                      content: !Sub |
                          [plugins]
                          cwlogs = cwlogs
                          [default]
                          region = ${AWS::Region}

                  "/home/ec2-user/.ssh/authorized_keys":
                      mode: 000400
                      owner: ec2-user
                      group: ec2-user
                      content: !Sub |
                          ssh-rsa <pk_2>
                          ssh-rsa <pk_1>
                          ssh-rsa <pk_3>

Однако экземпляр в конечном итоге имеет только /home/ec2-user/.ssh/authorized_keys открытый ключ some_existing_key_pair.

Может быть, cfg-init не может переопределить /home/ec2-user/.ssh/authorized_keys?

Обновление : мне не хватало раздела пользовательских данных ниже

    UserData:
      "Fn::Base64": !Sub |
          #!/bin/bash                
          yum install -y aws-cfn-bootstrap hibagent
          /opt/aws/bin/cfn-init -v --region ${AWS::Region} --stack ${AWS::StackName} --resource MyEC2Instance
          /opt/aws/bin/cfn-signal -e $? --region ${AWS::Region} --stack ${AWS::StackName} --resource MyEC2Instance

поэтому все остальные файлы теперь создаются, но содержимое /home/ec2-user/.ssh/authorized_keys остается прежним.

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