Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Joan Nin
Mar 27, 2020 · 6 min read
Save
Me imagino que como yo muchos han pensado migrar alguna VM en Virtualbox a AWS
para aprovechar las ventajas que ofrece cloud computing, aquí le dejo una pequeña
guía básica para poder lograrlo.
Requerimientos:
Virtualbox
AWS
AWS CLI
Para exportar un dispositivo su VM debe estar apagada. Si la máquina está en estado
Get unlimited access Open in app
SAVED, no se exportará.
Una vez que la máquina virtual en cuestión este apaga, vaya a la ventana principal de
VirtualBox y haga clic en File | Export Appliance. En la ventana resultante, ubique y
seleccione la VM que se va a exportar y haga clic en Siguiente
💡 Tips:
Opción de Mac Address Policy seleccionamos include all networks adapter MAC
addresses
Siguiente Paso Next
Get unlimited access Open in app
Esto tomara unos minutos dependiendo de que tan grande sea la VM.
AWS
Vamos a nuestra consola en AWS y creamos nuestro Amazon S3 Bucket.
Get unlimited access Open in app
IAM
Para aprovechar el tiempo mientras subimos nuestra VM, vamos a crear un usuario
IAM para nuestro AWS CLI
https://console.aws.amazon.com/iam/home#/users
Get unlimited access Open in app
Programmatic access
Enables an access key ID and secret access key for the AWS API, CLI, SDK, and other
development tools.
Get unlimited access Open in app
Copiar el texto en Access key ID y Secret access key y pasamos al próximo paso.
AWS CLI
Necesitamos tener instalado el AWS CLI en nuestra PC, el software está disponible para
Get unlimited access Open in app
Windows, MacOs y Linux
Mas información:
Instalación de la AWS CLI versión 2 en Linux
Si utilizas Windows en mi caso fue más práctico y rápido crear una VM con Ubuntu
Server e instalar AWS CLI para Linux ya que en 4 Pasos tienes listo
AWS CLI.
Ahora configuramos nuestro AWS CLI con los datos del IAM que creamos
anteriormente, ejecutando este comando.
aws configure
Este no solicitará información sobre un Access key ID y Secret access key esto lo
vamos a completar con la información del paso anterior.
AWS Access Key ID [None]: TU ACCESS KEY ID Get unlimited access Open in app
Ahora vamos a darle a nuestro AWS CLI las variables que va a utilizar para la
migración, copia y pega los siguientes comandos en tu consola AWS CLI
bucket_name="VM-Images"
vm_image_name="LinuxOS/NOMBRE-DEL-ARCHIVO-QUE-SUBISTE.vmdk"
"Version": "2012–10–17",
"Statement": [
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externalid": "vmimport"
EOF
Si todo salio bien esto va a crear un archivo llamado trust-policy.json en nuestro AWS
Get unlimited access Open in app
CLI
echo '{
"Version":"2012–10–17",
"Statement":[
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource":[
"arn:aws:s3:::'${bucket_name}'",
"arn:aws:s3:::'${bucket_name}'/*"
},
"Effect":"Allow",
"Action":[
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource":"*"
--policy-name vmimport \
--policy-document "file://role-policy.json"
echo '[
"Description": "CAMBIAME",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "'${bucket_name}'",
"S3Key": "'${vm_image_name}'"
}]
Inicio de importacion
"Description": "NOMBRE-QUE-LE-DISTE-A-TU-VM",
"ImportTaskId": "import-ami-NUMERO-GENERADO",
Get unlimited access Open in app
"Progress": "2",
"SnapshotDetails": [
"DiskImageSize": 0.0,
"Format": "VMDK",
"UserBucket": {
"S3Bucket": "VM-Images",
"S3Key": "LinuxOS/NOMBRE-DEL-ARCHIVO-QUE-SUBISTE.vmdk"
],
"Status": "active",
"StatusMessage": "pending"
"ImportImageTasks": [
"Description": "centosv7",
"ImportTaskId": "import-ami-0d6db3a35d431e4e3",
"Progress": "30",
"SnapshotDetails": [
"Description": "centosv7",
"DiskImageSize": 931182592.0,
"Format": "VMDK",
"Status": "completed",
"UserBucket": {
"S3Bucket": "n-backup",
"S3Key": "VM-Import/vCentOS7-disk002.vmdk"
}
Get unlimited access Open in app
}
],
"Status": "active",
"StatusMessage": "updating"
Aquí vemos que el estado es updating esto cambiará hasta llegar a el estado "Status":
Si todo salio bien podrás ir a tu Amazon EC2 y en la opción Images > AMIs veras tu VM
cargada en AWS solo tienes que darle a Launch y completar el wizard.
Listo.