python - cli - ¿Cómo creo una imagen EC2 desde una instancia en ejecución usando boto?
install boto3 (1)
Intento crear un script de copia de seguridad de python simple para mis instancias de EC2. El propósito de este script es crear instantáneas diarias / semanales de la máquina actual (vea esta pregunta en ServerFault ). Estoy usando el paquete boto python para la API EC2, y me gustaría crear una AMI de EBS desde una instancia determinada (como la acción "Crear imagen" de ElasticFox)
# This script will look up all your running EC2 images, find the current one, and back it up by creating an AMI
# Configuration
accessKeyId = "..."
accessKeySecret = "..."
target = "..."
def resolveIp(target):
import socket
ip = repr(socket.gethostbyname_ex(target)[2][0])
return ip
def find_target(target, connection) :
ip = resolveIp(target)
print "Finding instance for " + target + " (IP " + ip + ")"
reservations = connection.get_all_instances();
for reservation in reservations:
instances = reservation.instances
if len(instances) != 1:
print "Skipping reservation " + reservation
continue
instance = instances[0]
instanceIp = resolveIp(instance.dns_name)
if instanceIp == ip:
return instance
raise Exception("Can''t find instance with IP " + ip)
from boto.ec2.connection import EC2Connection
print "Connecting to EC2"
conn = EC2Connection(accessKeyId, accessKeySecret)
print "Connected to EC2"
instance = find_target(target, conn)
print "Backing up instance ''{}''".format(instance)
# Now, I''d like to create a new image out of this instance
# Can you help?
(También se informó como un problema en la página del proyecto boto , ya que no encontré una lista de correo)
Desea el método "create_image" del objeto EC2Connection. Vea los documentos aquí . También puede hacer preguntas sobre el grupo de usuarios de Google.