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!!!
- Resetear contraseña de ROOT en Red-Hat 8 (Examen RHCSA) - 31 enero, 2020
- Paso a paso de configuración de un entorno y la creación de la primera máquina virtual en HuaweiCloud - 10 enero, 2020
- Respaldo de Archivos locales (PCS) con AZURE BACKUP & RECOVERY - 31 diciembre, 2019