Возможно ли создать экземпляр ec2 с помощью boto3 в python? Документ Boto3 здесь не помогает, и я не могу найти какие-либо справочные документы в Интернете. укажите несколько примеров кодов/ссылок.
Как создать экземпляр ec2 с помощью boto3
Ответ 1
API изменился, но он находится прямо в документации
# Boto 3
ec2.create_instances(ImageId='<ami-image-id>', MinCount=1, MaxCount=5)
Ссылка на документацию: http://boto3.readthedocs.org/en/latest/guide/migrationec2.html#launching-new-instances
Ответ 2
Обратитесь к документации по API, у которой есть все доступные опции для создания экземпляра
http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Subnet.create_instances
Ответ 3
Ссылка, которую вы действительно ищете в документации, - это create_instances()
объекта create_instances()
. Это тип объекта, который вы вызываете, если вы создаете ресурс EC2, например:
s = boto3.Session(region_name="us-west-1")
ec2 = s.resource('ec2')
...
instance = ec2.create_instances(**y_kwargs)
Это содержит более подробный пример и более длинный список доступных параметров.
Вы также можете получить значения параметров для экземпляров AWS, которые уже работают, используя интерфейс командной строки AWS:
$ aws ec2 describe-instances
Это распечатывает файл JSON, из которого соответствующие параметры могут быть извлечены и переданы create_instances()
. (Или вы можете использовать клиент boto и вызвать метод describe_instances()
.)
(Примечание. Если вам интересно, в чем разница между клиентом и ресурсом, они служат разным целям для одного и того же конца - клиент является интерфейсом более низкого уровня, а ресурс - интерфейсом более высокого уровня.)
Ответ 4
Вы можете запустить код, который я использовал из документации boto3. Вы можете добавлять или удалять параметры в соответствии с вашими требованиями, но это то, что вам обычно требуется:
import boto3
client = boto3.client('ec2', region_name='us-west-2')
response = client.run_instances(
BlockDeviceMappings=[
{
'DeviceName': '/dev/xvda',
'Ebs': {
'DeleteOnTermination': True,
'VolumeSize': 8,
'VolumeType': 'gp2'
},
},
],
ImageId='ami-6cd6f714',
InstanceType='t3.micro',
MaxCount=1,
MinCount=1,
Monitoring={
'Enabled': False
},
SecurityGroupIds=[
'sg-1f39854x',
],
)
Ответ 5
Если вы работаете с компьютера с Windows, вам нужно настроить AWS Cli с соответствующим разрешением EC2 для запуска экземпляра.
#import boto3
ec2 = boto3.resource('ec2')
instance = ec2.create_instances(
ImageId='ami-5eb63a32',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro',
)
print(instance[0].id)