Hola,
En el siguiente artículo, os voy a explicar como subir una máquina virtual que tenemos corriendo on premise a AWS, así como particularidades que he observado y aportes respecto al procedimiento oficial que podéis encontrar aquí:
https://docs.aws.amazon.com/es_es/vm-import/latest/userguide/vmimport-image-import.html
Y más extensamente aquí:
https://docs.aws.amazon.com/vm-import/latest/userguide/vm-import-ug.pdf
AWS Server Migration Services o Import/Export
Antes de nada, cabe destacar que desde que ha aparecido el proceso de migración de máquinas virtuales (AWS Server migration services) el proceso que aquí detallo, es idoneo si has de crear una plantilla para luego, crear diferentes máquinas virtuales. Este proceso también vale y hasta la fecha se utilizaba, para migrar tus máquinas virtuales, pero ahora que podemos elegir, AWS Server migration Services facilita enormemente la migración.
Requsitos en vuestro equipo
Previo a la realización del proceso, es necsario que instaléis AWS command line
https://aws.amazon.com/es/cli/
Requisitos de la VM
También, antes de apagar la máquina on premise y empezar a trabajar la migración hacia AWS, debéis leer el siguiente link, donde os dicen como preparar la máquina previo a la subida.
https://docs.aws.amazon.com/es_es/vm-import/latest/userguide/vmie_prereqs.html
En relación al formato de discos soportados, aquí AWS gana, porque soporta todos los formatos de discos virtuales y además, en referencia Hyper-V, soporta discos VHD, VHDX bien sean estáticos o dinámicos.
Es importante que siguiendo el link de pre requisitos antes expuesto, sigáis los pasos para preparar la máquina en el apartado "Prepare su máquina".
Migración
Vamos allá. Los pasos para la migración son los siguientes:1. Abrir CMD y conectar a vuestra suscripción en AWS con el comando AWS Configure.
2.Empezar a subir el disco de la VM a un Bucket. Para poder subir un archivo grande debéis utilizar la línea de comandos. El comando es el siguiente:
AWS s3 cp "origen" s3://nombredebucket.
Ejemplo:
3. En paralelo, mientras subimos el disco, debéis crear un archivo, con nombre trust-policy.json con el texto siguiente y ejecutar el comando que os detallo también.
Texto:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externalid": "vmimport"
}
}
}
]
}
Comando: aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
4. Creemos ahora un archivo con el cliente texto y nombre role-policy.json
4.2 Tenemos que lanzar el archivo con el comando: aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
Es necesario que sustituyas "Disk-image-file-bucket" con el nombre del bucket. (Ver ejemplo).
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket" ], "Resource":[
"arn:aws:s3:::
"arn:aws:s3:::
]
},
{
"Effect":"Allow",
"Action":[
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource":"*"
}
]
}
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket" ], "Resource":[
"arn:aws:s3:::
disk-image-file-bucket
","arn:aws:s3:::
disk-image-file-bucket
/*"]
},
{
"Effect":"Allow",
"Action":[
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource":"*"
}
]
}
Ejemplo:
5. Ahora tenemos que importar el disco ya subido (supervisar la copia lanzada en el paso 2.
Para ello tenemos que crear un nuevo archivo json, con el nombre "containers.json".
Texto:
[
{
"Description": "NOMBREDESCRIPTIVO",
"Format": "vhd",
"UserBucket": {
"S3Bucket": "
"S3Key": "
{
"Description": "NOMBREDESCRIPTIVO",
"Format": "vhd",
"UserBucket": {
"S3Bucket": "
my-import-bucket
","S3Key": "
vms/my-windows-2008-vm.ova
"}
}] *formato: vhd, VMDK, RAW, OVA, ETC. Comando: aws ec2 import-image --description "NombreDescriptivo" --license-type
- Auto (valor predeterminado)Detecta el sistema operativo (SO) del sistema de origen y aplica la licencia adecuada a la máquina virtual (MV) migrada.
- AWSReemplaza la licencia del sistema de origen por una licencia del AWS, si procede, en la MV migrada.
- BYOLConserva la licencia del sistema de origen, si procede, en la MV migrada
https://docs.aws.amazon.com/es_es/vm-import/latest/userguide/vmie_prereqs.htm
Ejemplo:
Comando:
AWS ec2 describe-import-image-task
Con este comando, podréis ver el estado de la migración de vuestro disco a imagen AMI. Los estados son:
active
— Ta tarea de importación esta en curso.deleting
— La tarea de importación se está cancelando.deleted
— La tarea de importación se ha cancelado.updating
— El estado de la importación se está actualizando.validating
— La imagen importada se está validando.validated
— La imagen importada se ha validado.converting
— La imagen importada se está convirtiendo en una AMI.completed
— La tarea de importación se ha completado y la AMI está lista para usar.
https://docs.aws.amazon.com/es_es/vm-import/latest/userguide/vmimport-image-import.html
5. Una vez finalice este proceso, pasáis a tener ya una AMI, que no es más que una plantilla lista para el despliegue.
No hay comentarios:
Publicar un comentario