Cómo crear una instancia de ec2 usando boto3

¿Es posible crear una instancia ec2 usando boto3 en python? El documento de Boto3 no está ayudando aquí, y no pude encontrar ningún documento de ayuda en línea. por favor proporcione algunos códigos / enlaces de muestra

La API ha cambiado pero está justo ahí en la documentación.

# Boto 3 ec2.create_instances(ImageId='', MinCount=1, MaxCount=5) 

Enlace a la documentación: http://boto3.readthedocs.org/en/latest/guide/migrationec2.html#launching-new-instances

Consulte la documentación de la API tiene todas las opciones disponibles para crear la instancia

http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Subnet.create_instances

El enlace que realmente busca en la documentación es el método create_instances() del objeto ServiceResource . Este es el tipo de objeto al que está llamando si crea un recurso EC2 como este:

 s = boto3.Session(region_name="us-west-1") ec2 = s.resource('ec2') ... instance = ec2.create_instances(**y_kwargs) 

Esto contiene un ejemplo más detallado y una lista más larga de parámetros disponibles.

También puede obtener valores de parámetros para instancias de AWS que ya se están ejecutando utilizando la interfaz de línea de comandos de AWS:

 $ aws ec2 describe-instances 

Esto imprime un archivo JSON desde el cual los parámetros relevantes se pueden extraer y pasar al método create_instances() . (O puede usar un cliente de boto y llamar al método describe_instances() ).

(Nota: si se está preguntando cuál es la diferencia entre el Cliente y el Recurso, tienen diferentes propósitos para el mismo fin: el cliente es una interfaz de nivel inferior mientras que el Recurso es una interfaz de nivel superior).

Puedes ejecutar el código que usé de los documentos de boto3 . Puede agregar o eliminar parámetros según sus requisitos, pero esto es lo que normalmente requeriría:

 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', ], ) 

Si está ejecutando desde su computadora con Windows, necesita configurar AWS Cli con la autorización EC2 adecuada para iniciar la instancia.

#

 import boto3 ec2 = boto3.resource('ec2') instance = ec2.create_instances( ImageId='ami-5eb63a32', MinCount=1, MaxCount=1, InstanceType='t2.micro', ) print(instance[0].id)