Demo Lanzando uma instancia de EC2 y conectandome a ella con instance connect

Clase 11 de 75Curso de AWS Certified Solutions Architect Associate

Resumen

La computación en la nube ha revolucionado la forma en que desplegamos y gestionamos servidores. Amazon Web Services (AWS) ofrece una plataforma robusta para crear infraestructura virtual con su servicio EC2 (Elastic Compute Cloud). Dominar el despliegue de instancias EC2 es fundamental para cualquier profesional de la nube, ya que constituye la base sobre la cual se construyen arquitecturas más complejas. Veamos cómo podemos implementar nuestro propio servidor virtual en AWS de manera práctica y efectiva.

¿Cómo desplegar una instancia EC2 en AWS?

Desplegar un servidor virtual en AWS es un proceso estructurado que requiere configurar varios parámetros. Para comenzar, debemos acceder a la consola de AWS y dirigirnos al servicio EC2. Es crucial verificar en qué región estamos trabajando, ya que esto determinará dónde se alojará físicamente nuestra instancia.

En el panel lateral de EC2 encontramos diversas opciones relacionadas con:

  • Instancias
  • Tipos de instancias
  • Formas de adquisición (Saving Plans, instancias spot)
  • AMIs (Amazon Machine Images)
  • Configuraciones adicionales

Para iniciar el despliegue, debemos hacer clic en el botón naranja "Lanzar instancia" y seguir estos pasos:

  1. Asignar un nombre: Identificar nuestra instancia con un nombre descriptivo (por ejemplo, "Nexia server").
  2. Seleccionar una AMI: Podemos elegir entre AMIs de inicio rápido, del marketplace o de la comunidad.
  3. Elegir el tipo de instancia: Para pruebas, es recomendable seleccionar una instancia dentro de la capa gratuita de AWS.
  4. Configurar par de llaves: Aunque lo recomendable es crear un par de llaves para acceder de forma segura, existen alternativas como Instance Connect.
  5. Configurar red: Definir la VPC y subredes donde se desplegará la instancia.
  6. Habilitar tráfico web: Activar los checkboxes que permiten tráfico HTTP y HTTPS desde internet.
  7. Configurar almacenamiento: Definir los volúmenes y sus tipos.

¿Qué opciones avanzadas podemos configurar?

En la sección de detalles avanzados encontramos configuraciones importantes:

  • Perfil de instancia: Podemos asignar roles específicos a nuestra instancia.
  • Comportamiento de apagado: Opciones para hibernar o proteger la instancia al terminarla.
  • Grupos de posicionamiento: Para definir la ubicación relativa entre instancias.
  • Datos de usuario (User Data): Permite ejecutar scripts durante el arranque de la instancia.

El campo de datos de usuario es particularmente útil, ya que nos permite automatizar la configuración inicial. Podemos incluir un script que instale software, configure servicios o personalice el servidor según nuestras necesidades.

# Ejemplo de script para User Data
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<html><body><h1>Mi servidor web en AWS</h1></body></html>" > /var/www/html/index.html

Una vez completada la configuración, simplemente hacemos clic en "Lanzar instancia" y AWS comenzará a aprovisionar nuestro servidor virtual.

¿Cómo acceder y verificar nuestra instancia EC2?

Después de lanzar la instancia, esta pasará por un breve proceso de inicialización. Podemos monitorear su estado en la consola de EC2, donde veremos cuando cambia a "running" y cuando pasa las verificaciones de estado (2/2).

Acceso a la aplicación web

Si hemos configurado un servidor web en nuestra instancia, podemos acceder a él utilizando la dirección IP pública:

  1. Seleccionar la instancia en la consola.
  2. Buscar la IP pública en la pestaña de detalles.
  3. Copiar esta IP y pegarla en un navegador web.

Si nuestro script de datos de usuario configuró correctamente un servidor web, deberíamos ver la página que hemos definido.

Conexión a la instancia

Existen varias formas de conectarse a una instancia EC2:

  1. EC2 Instance Connect: Una forma sencilla que no requiere configuración de llaves SSH.
  2. SSH con par de llaves: El método tradicional y más seguro.
  3. Session Manager: Una solución que no requiere abrir puertos en el firewall.
  4. Consola serial: Para situaciones de recuperación o diagnóstico.

Para conectarnos mediante Instance Connect:

  1. Seleccionar la instancia en la consola.
  2. Hacer clic en "Conectar".
  3. Elegir la pestaña "EC2 Instance Connect".
  4. Hacer clic en "Conectar".

Esto abrirá una terminal en el navegador que nos dará acceso directo al sistema operativo de nuestra instancia. Desde aquí podemos ejecutar comandos como:

ping google.com

Es importante recordar que para utilizar Instance Connect, el grupo de seguridad debe permitir el tráfico en el puerto 22 (SSH).

¿Qué información podemos obtener de nuestra instancia?

Una vez conectados, podemos explorar diversos aspectos de nuestra instancia:

  • Configuración del sistema
  • Servicios en ejecución
  • Logs y registros
  • Rendimiento y utilización de recursos

Un desafío interesante es consultar los metadatos de la instancia, que contienen información valiosa sobre su configuración y entorno. Estos metadatos son accesibles desde dentro de la instancia y proporcionan detalles como el tipo de instancia, la región, la zona de disponibilidad y mucho más.

El despliegue de instancias EC2 es solo el comienzo de lo que podemos hacer en AWS. A medida que nos familiarizamos con este servicio fundamental, podemos explorar configuraciones más avanzadas y construir arquitecturas más complejas y resilientes. ¿Te animas a experimentar con diferentes tipos de instancias y configuraciones para descubrir todo el potencial de EC2?