Программно настроить экземпляр EC2 - PullRequest
0 голосов
/ 28 декабря 2018

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

Например:

ssh ubuntu@1.2.3.4 -i aws.pem  && ./type1.sh
ssh ubuntu@5.6.7.8 -i aws.pem  && ./type2.sh

Есть ли способ автоматизировать этот процесс??Я работаю с питоном.Я знаю, что могу использовать boto для поддержки сервера, но я не уверен в лучших методах подключения к серверу и запуска сценария.

1 Ответ

0 голосов
/ 29 декабря 2018

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

При создании экземпляра EC2 вы можете предоставитьнекоторые так называемые «пользовательские данные», которые могут содержать код, который выполняется после первой загрузки экземпляра.Это возможно для всех способов создания экземпляра EC2, будь то консоль управления, CLI, API, boto3 или CloudFormation.Документация AWS содержит довольно обширную информацию о том, как это работает: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

Если вы создадите свой экземпляр EC2, например, с помощью boto3, он будет выглядеть следующим образом:

import boto3

ec2_client = boto3.client("ec2")
ec2_client.run_instances(ImageId="ami-abcd1234",
                         InstanceType="m3.medium",
                         SubnetId="subnet-abcd1234",
                         SecurityGroupIds=["sg-abcd1234"],
                         UserData="/home/ubuntu/type1.sh"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...