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

У меня есть экземпляр в aws, и файл закрытого ключа является авторизованным ключом, который хранится в пути .ssh. Когда запускается AMI с автоматическим масштабированием, этот файл должен быть скопирован на новый сервер в том же месте, т.е. .ssh как мы можем это сделать с помощью облака шаблон формирования.

какой код или какие команды я должен хранить в шаблоне CFN.

Спасибо


person smiling iliyas    schedule 24.01.2019    source источник
comment
Чтобы уточнить... Вы спрашиваете, как настроить автоматическое масштабирование в шаблоне CloudFormation, чтобы указать ключ SSH? Не могли бы вы просто указать KeyName в конфигурации запуска? (Предполагается, что вы ранее загрузили общедоступную половину пары ключей в AWS.)   -  person John Rotenstein    schedule 24.01.2019
comment
Да, новый экземпляр Autoscaling должен иметь новые изменения, добавленные в файл #vi /home/ec2-user/.ssh/authorized_keys.   -  person smiling iliyas    schedule 25.01.2019
comment
Да, у меня есть один шаблон формирования облака, который будет запускать запуск нового экземпляра автомасштабирования. У меня есть один файл, расположенный здесь /home/ec2-user/.ssh/authorized_keys файл в предыдущем экземпляре. Какие изменения произошли, этот файл должен войти тот же путь в новом экземпляре, когда я подключаюсь к нему.   -  person smiling iliyas    schedule 25.01.2019


Ответы (3)


вы можете создать новый ami с сохраненным закрытым ключом и использовать ami в своем шаблоне CloudFormation.

steps: 
1. launch new instance from the current ami you are using
2. ssh to your instance and copy the private key file
3. stop the instance in aws console and right click the instance -> image -> create image
4. use your new ami as EcsAmiId
person Liu    schedule 24.01.2019
comment
ssh в свой экземпляр и скопируйте файл закрытого ключа. Это шаг вручную. Он должен копироваться автоматически, когда CFN запускается для создания нового экземпляра. Мне нужно, какой json или yaml я должен написать, чтобы это произошло. - person smiling iliyas; 24.01.2019

Вы можете указать сценарий user data в своем шаблоне CF, где вы описываете свой экземпляр EC2. user data — это обычный сценарий bash, который будет выполняться при загрузке экземпляра, а это означает, что вы можете автоматизировать любую такую ​​задачу, как копирование файлов с его помощью, которую в противном случае вам пришлось бы выполнять вручную.

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

person Matus Dubrava    schedule 24.01.2019

Пару ключей можно создать в консоли EC2, или общедоступную половину существующей пары ключей можно загрузить в EC2.

Как только это будет сделано, экземпляр Amazon EC2 может быть запущен со ссылкой на эту пару ключей. Программное обеспечение экземпляра (при использовании Amazon Linux AMI) автоматически скопирует общедоступную половину назначенной пары ключей в файл /home/ec2-user/.ssh/authorized_keys.

Это относится к запуску экземпляра EC2 любым способом, например через консоль, API, CloudFormation.

Это намного проще, чем пытаться самостоятельно манипулировать файлом authorized_keys с помощью пользовательских данных.

person John Rotenstein    schedule 26.01.2019