Una de las grandes ventajas de Amazon AWS es poder utilizar si distribución de Linux optimizada específicamente para su cloud Amazon AWS. Pero desde hace un tiempo, también tenemos la opción de poder trabajar con Amazon Linux 2 para realizar nuestras pruebas, desarrollos y testeos en nuestros CPDs locales. En esta entrada os voy a explicar cómo instalar Amazon Linux en local.
Lo primero que debemos saber es que oficialmente, Amazon Linux 2 solamente soporta los siguientes Hypervisores:
- VMWare
- KVM
- VirtualBox (Oracle VM)
- Microsoft Hyper-V
Para poder desplegar Amazon Linux 2 en nuestro Hypervisor, deberemos seguir los siguientes pasos:
- Preparar la imagen boot seed.iso
- Descargar la imagen de Amazon Linux 2
- Desplegar nuestra VM
Preparar la imagen boot seed.iso
Para generar la imagen seed.iso lo realizaremos a partir de los siguientes ficheros:
- meta-data
- user-data
El fichero meta-data incluirá la configuración del hostname y los parámetros de red.
El fichero user-data incluirá todo lo relacionado con los accesos, claves rsa, contraseñas, usuarios, etc…
Este proceso recomendamos realizarlo desde un sistema operativo Linux, para empezar, crearemos una carpeta llamada seedconfig, junto con los ficheros user-data y meta-data:
mkdir seedconfig && cd seedconfig && touch meta-data && touch user-data
El fichero meta-data lo rellenaremos con los siguientes parámetros
local-hostname: vmproamazonlinux2
# eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like the following.
network-interfaces: |
auto eth0
iface eth0 inet dhcp
El fichero user-data lo rellenaremos con la siguiente información:
#cloud-config
#vim:syntax=yaml
users:
# A user by the name `ec2-user` is created in the image by default.
- default
chpasswd:
list: |
ec2-user:plain_text_password
# In the above line, do not add any spaces after 'ec2-user:'.
Los campos marcados en negrita son los parámetros que podemos modificar para customizar la imagen, tales como el hostname, el tipo de red, fija o dinámica, el usuario a crear. Para evitar que cloudinit nos cambie nuestros parámetros de red, añadiremos también lo siguiente al fichero user-data
# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings from first
boot, add following ‘write_files’ section:
write_files:
- path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
content: |
# Disable network configuration after first boot
network:
config: disabled
Una vez guardamos ambos ficheros, necesitaremos tener instalado algún programa para crear ISOS de sistemas de ficheros como genisoimage. En el directorio raíz ejecutaremos el siguiente comando:
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
Subiremos esta ISO a un datastore de algún hypervisor, en mi caso usare ESXi 7.0
Descargar la imagen de Amazon Linux 2
En función de nuestro Hypervisor tendremos que descargar una imagen u otra
Si vas a usar VMware, tendrás que descargarte el fichero .ova
Desplegar nuestra VM
Para desplegar la imagen en VMware realizaremos lo siguiente:
- Crear/registrar Máquina virtual.
- Implementar una máquina virtual a partir de un archivo.
- Introducimos el nombre de la máquina y arrastramos el fichero ova.
- Seleccionamos nuestro datastore para guardar la máquina virtual.
- Seleccionamos la red, el tipo de aprovisionamiento de disco y desmarcamos la opción de arranque automático.
Una vez creada la máquina, tendremos que añadir en la configuración de la máquina virtual un dispositivo CD/DVD, del tipo «Archivo ISO del almacén de datos». Aquí seleccionaremos nuestro fichero seed.iso generado en el paso 1.
Nos aseguramos de que la opción conectar está marcada, una vez realizada esta acción, ya podremos arrancar la máquina.
Ya podremos acceder a nuestra máquina virtual corriendo Amazon Linux 2 en nuestro CPD local.
Aquí te dejo la guía oficial de Amazon. Y esta otra entrada para configurar Amazon S3 cómo receptor de backups, no te la pierdas!
¡Hasta la próxima!