Migración de maquina Virtual AWS a Open Telefónica CLoud

Antes que nada aclarar que no soy un detractor de AWS ni un OTC lovers, pero si creo en soluciones escalables, libres y en el conocimiento universal y gratuito… También creo que si algo no te gusta debes tener la libertad de elegir una alternativa diferente.

Que es AWS

Amazon Web Services (AWS) es una plataforma de servicios de nube que ofrece potencia de cómputo, almacenamiento de bases de datos, entrega de contenido y otra funcionalidad para ayudar a las empresas a escalar y crecer. (Textual)

Que es OTC (Open Telefónica Cloud)

Open Cloud es una suite de servicios en la nube, que permite alojar y procesar datos de tu empresa de forma segura, a través de los Data Center de Telefónica Chile.
Ofrece un amplio conjunto de servicios que van desde almacenamiento, capacidad de cómputo, redes y bases de datos, hasta servicios más avanzados de analítica, seguridad y desarrollo de aplicaciones.  Basado en openstack y desarrollado por huawei. (Textual)

Por que razón no podemos exportar desde Amazon AWS?. 

La respuesta mas lógica es que no quiere que migremos nuestras maquinas virtuales a otros sistemas como Azure, GooGle Cloud, OTC, FusionStack, OpenStack, Nutanix, ETC.  Esto rompe el concepto de «Multi-Cloud», «Multi-Vendor» y te obliga a amarrarte a contratos o tener un administrador lo bastantemente competente como para realizar una migración a otra nube, si leemos las condiciones de exportación de AWS nos encontraremos con lo siguiente:

Porque debería Migrar!!

Las respuestas son variadas, pero me enfocare en Chile, los enlaces de los diferentes ISP son a nivel nacional y el trafico internacional deja mucho que desear por lo que las conexiones se vuelven lentas y una respuesta que podría demorar 0,X mili-segundo en un datacenter en Chile se vuelve en X,X al estar en USA u otra Región, con un cloud en Chile nos cobraran en moneda nacional y sabremos realmente cuanto pagare (NO EN DOLARES NI EUROS), adicionalmente y lo mas importante si me enojo con el proveedor lo tengo al lado y le podre golpear la puerta para reclamar por su pésimo servicio o felicitarlo por tener lo que necesitaba.  En fin basándome en lo mas básico la latencia de los enlaces… Realice las siguientes pruebas con MONITIS

1.- Cree una maquina en AWS (Región USA) y le direccione un registro A a la ip de la maquina

2.- Cree una maquina en OTC (Region Chile) y le direccione un registro A ala ip de la maquina

  • Ambas maquinas LINUX Ubuntu 16.04 con un servicio de APACHE escuchando
  • Ambos monitoreos enviando peticiones desde Brasil y Argentina, ya que monitis no tiene monitor en Chile.

Las pruebas dieron como ganador a OTC por sobre AWS para LATINOAMÉRICA, con una latencia de respuesta de 93.90ms v/s 338.0ms después de 1 Hora de monitoreo, también podemos destacar que la latencia entre Chile y Argentina es mucho menor que la latencia hacia Brasil, si el monitoreo se pudiera realizar contra Chile estoy 100% seguro que seria aun mas rápido, también estoy 100% que si se crea una conexión por MPLS entre OTC y las redes de cliente seria como estar navegando localmente en una red privada.

Después de esta prueba ya tengo una razón para migrarme, podría dar varias razones de peso pero seria hacerle promoción gratuita a Telefónica.

Manos a la obra…

1.- Creación de Maquina Virtual en Amazon AWS

Maquina creada con los recursos gratuitos que nos entrega AWS

2.- Ingresamos a la maquina

3.- Instalaremos apache para diferenciar nuestra maquina

apt update && apt install apache2

4.- Creare un backup del archivo index y le cargare la información del hostname

root@ip-172-31-14-5:~# mv /var/www/html/index.html /var/www/html/index.html.back && hostname -A > /var/www/html/index.html

5.- Adicionalmente creare un usuario y le dare permisos de root

root@ip-172-31-14-5:~# useradd xentech
root@ip-172-31-14-5:~# passwd xentech
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@ip-172-31-14-5:~# echo "xentech ALL=(ALL:ALL) ALL" >> /etc/sudoers

Ya con todo esto tenemos una maquina básica para hacer nuestra prueba y comenzar con la migración el proceso es bastante largo pero a la vez sencillo

1.- Crear un snapshot del disco de sistema

NOTA : Antiguamente en los inicios de AWS los snapshot quedaban a la vista en S3 hoy quedan guardados en S3 pero en una carpeta oculta que no puedes ver, por lo tanto no puedes descargar estos archivos.

2.- Crear un volumen a partir del snapshot

3.- Atachar el volumen creado a nuestra maquina virtual

fdisk -l | grep xv

ya tenemos montado el disco que contiene el snapshot en nuestra maquina base, a quedado montado en /dev/xvdf

4.- Crear un nuevo volumen al cual le volcaremos la imagen del sistema

5.- Atachar el volumen creado a nuestra maquina virtual

NOTA : Este disco fue creado con un espacio total de 20GB para el volcado de la imagen del sistema

fdisk -l

6.- Formatear la particion y montarla

root@ip-172-31-14-5:~# fdisk /dev/xvdg

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x1f2ff010.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): 

Created a new partition 1 of type 'Linux' and of size 20 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

root@ip-172-31-14-5:~# mkfs.ext4 /dev/xvdg1 
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 5242624 4k blocks and 1310720 inodes
Filesystem UUID: c5957170-24fd-46c1-8522-3dd991e24788
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

root@ip-172-31-14-5:~# mount /dev/xvdg1 /mnt/
root@ip-172-31-14-5:~# ls -la /mnt/
total 24
drwxr-xr-x  3 root root  4096 Jan  9 13:27 .
drwxr-xr-x 23 root root  4096 Jan  9 06:45 ..
drwx------  2 root root 16384 Jan  9 13:27 lost+found
   

7.- Ahora crearemos la imagen del snapshot que es la copia del sistema base, en formato raw y la volcaremos en el disco creado de 20GB

root@ip-172-31-14-5:~# dd if=/dev/xvdf of=/mnt/backupubuntuaws.raw
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 166.891 s, 64.3 MB/s
root@ip-172-31-14-5:~# ls -la /mnt/
total 10485788
drwxr-xr-x  3 root root        4096 Jan  9 13:44 .
drwxr-xr-x 23 root root        4096 Jan  9 06:45 ..
-rw-r--r--  1 root root 10737418240 Jan  9 13:46 backupubuntuaws.raw
drwx------  2 root root       16384 Jan  9 13:27 lost+found

8.- Instalares QEMU, ya que OTC solo acepta los siguientes formatos de entrada para crear maquina virtuales (VHD, ZVHD, VMDK y QCOW2)

root@ip-172-31-14-5:~# apt install qemu

9.- Convertir la imagen RAW a un formato aceptado por OTC.  La convertire en qcow2

root@ip-172-31-14-5:~# qemu-img convert -f raw -O qcow2 /mnt/backupubuntuaws.raw /mnt/backupubuntuaws.qcow2
root@ip-172-31-14-5:~# ls -la /mnt/
total 12063908
drwxr-xr-x  3 root root        4096 Jan  9 14:04 .
drwxr-xr-x 23 root root        4096 Jan  9 06:45 ..
-rw-r--r--  1 root root  1616052224 Jan  9 14:07 backupubuntuaws.qcow2
-rw-r--r--  1 root root 10737418240 Jan  9 13:46 backupubuntuaws.raw
drwx------  2 root root       16384 Jan  9 13:27 lost+found

10.- Instalaremos Python para que los comandos de AWS nos ayuden a hacer la trampita.

root@ip-172-31-14-5:~# apt install python python-pip

11.- Instalar awscli

root@ip-172-31-14-5:~# apt install awscli

12.- sacaremos las credeciales de AWS para poder conectar un bucket dentro de la maquina y enviar a S3 nuestro archivo qcow2

Nos bajara un archivo csv, con nombre rootkey.csv en cual contiene el user y password de conexión

13.- Crear el string de conexion, pedira AWSAccessKeyID, AWSSecretKey, Region, Formato

14.- Crear el Bucket en S3

root@ip-172-31-14-5:~# aws s3 mb s3://migracion-aws-otc-1 --region us-east-1

15.- Con los comandos de AWS copiaremos la imagen QCOW2 al bucket creado

root@ip-172-31-14-5:~# aws s3 cp /mnt/backupubuntuaws.qcow2 s3://migracion-aws-otc-1/
upload: ./backupubuntuaws.qcow2 to s3://migracion-aws-otc-1/backupubuntuaws.qcow2

Revisamos el archivo en el bucket

Con este ultimo paso ya damos por copiada la imagen del S.O en un archivo legible por OTC.

Configuración dentro de OTC (Open Telefónica Cloud)

Como les comentaba al inicio OTC es la solución Cloud de Telefónica y Huawei, esta construido bajo OpenStack y alojado en los datacenter de Telefónica Chile y latam, Actualmente cuenta con 6 zonas. USA – MEXICO – BRASIL -ARGENTINA – CHILE – PERU.  Para poder obtener una demo debes ser empresa o pyme, y puedes obtener un mes Gratuito sin limites en el siguiente link

Comencemos con la configuración

En OTC existe un modulo de migración, dentro de sus soluciones SAAS (MaaS- Migration as a Service), y es una solución para traer información a OTC de otras cloud conectándose a sus bucket.

1.- Bajamos nuestras credenciales para conectarnos a los bucket

 

Al pinchar sobre Añadir Clave de Acceso, se abrirá un pop-up donde debemos ingresar nuestra pass y presionar en obtener código, este codigo sera enviado al correo de tu usuario y te descargara un archivo de claves en formato csv, muy parecido al de AWS, con la diferencia que los datos de la credecial estan separados por «comas»

2.- Volvemos al inicio y Pinchamos en Migration As A Service y luego en crear tarea de migración

Se abrira un nuevo popup donde debemos colocar los datos de la credencial de AWS y la de OTC

Elegir el Bucket de Origen y el Bucket de destino y presionar en seleccionar en el bucket de origen, se abrira un popup donde seleccionaremos la file a mover

3.- Aceptar las condiciones y presionar en migrar

Con esto ya se esta migrando la imagen a OTC

Una vez terminado el traspaso del archivo podremos consumir la imagen y restaurar la maquina en OTC

Restaurando

1.- Pinchar en IAS (Image Management service)

2.- Crear una imagen privada a partir del archivo QCOW2

Seleccionamos el origen y buscamos la imagen, le ponemos un nombre y el tipo de distribucion… Presionamos crear Ahora

2.- Pinchar en Solicitar Servidor y llenar los campos solicitados

3.- Conectarnos a la Maquina Virtual

4.- Verificar con la IP si es la misma maquina

5.- conectarse con la llave de amazon a la IP de OTC

PROCESO TERMINADO Y MAQUINA MIGRADA CON EXITO DESDE AWS A OTC SIN COSTO

NOTA : Las maquinas usadas ya fueron eliminadas al igual que las credenciales!!!

 

Jorge Romero
Sigueme

Deja una Respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.