Módulo 5 · Cómputo: máquinas e instancias/Lección 32
EC2: tu servidor virtual
Una máquina virtual que enciendes en minutos: imagen (AMI), tipo, red, disco, llave y datos de arranque.
Un servidor es un computador que atiende pedidos: sirve páginas, corre una API, procesa archivos. Comprar uno toma semanas y lo pagas aunque esté quieto. Con Amazon EC2 (Elastic Compute Cloud) pides uno en minutos, pagas mientras está encendido y lo apagas cuando ya no lo necesitas.
A cada servidor de EC2 se le llama instancia. No es un equipo físico para ti solo: es una máquina virtual que corre sobre hardware de AWS, dentro de tu VPC.
Qué es una máquina virtual
Un servidor físico tiene procesadores, memoria, discos y red. Un programa llamado hipervisor lo reparte en varias máquinas virtuales aisladas entre sí. Cada una cree que tiene su propio hardware y corre su propio sistema operativo.
En AWS, las instancias actuales corren sobre el AWS Nitro System: un hipervisor muy liviano y tarjetas de hardware dedicadas que se encargan de la red, el almacenamiento y la seguridad. Así casi todo el servidor queda para tus instancias. Si necesitas el servidor completo, sin hipervisor de por medio, existen los tamaños .metal.
EC2 es infraestructura como servicio (IaaS). AWS cuida el edificio, el hardware y la virtualización. Tú cuidas todo lo que va del sistema operativo hacia arriba: parches, software, configuración de red y datos. Es el reparto de la responsabilidad compartida.
Las piezas de un lanzamiento
Lanzar una instancia es llenar un formulario. Cada campo es una decisión:
| VPC | Subnet | Auto-assign public IP | Security group |
|---|---|---|---|
| vpc-app | priv-a | Disable | sg-app |
Vista simplificada para estudiar. Los nombres de los campos están en inglés, como en la consola real; el diseño de la consola cambia con el tiempo.
Las AMIs vienen de AWS (Amazon Linux, Windows, Ubuntu y otras), de AWS Marketplace (con software de terceros ya instalado) o las creas tú a partir de una instancia configurada. Una AMI propia con todo listo arranca más rápido que una genérica más un script largo de user data. EC2 Image Builder automatiza la creación y actualización de esas AMIs.
El rol de IAM es la forma correcta de que tu aplicación hable con S3, DynamoDB u otros servicios. La instancia recibe credenciales temporales que se renuevan solas. Más sobre roles en IAM; sobre discos, en discos y archivos.
El ciclo de vida y lo que se cobra
- 1
pending
La instancia se prepara para arrancar. No se cobra. - 2
running
Está encendida y lista. Se cobra el uso de la instancia, la uses o no. - 3
stopping → stopped
Apagada. No se cobra la instancia, pero sí sus volúmenes EBS y las IP públicas que tenga reservadas. Puedes volver a encenderla. - 4
shutting-down → terminated
Eliminada para siempre. No se puede recuperar. El volumen raíz se borra por defecto.
Detener (stop) es apagar el computador: el disco EBS se conserva y la IP privada también, pero la IP pública cambia al volver a encender, y lo que había en discos locales (instance store) se pierde. Mientras está detenida puedes cambiarle el tipo. Terminar (terminate) es devolver el apartamento y demolerlo. Para evitar accidentes existe la protección contra terminación. Reiniciar (reboot) deja la instancia en el mismo servidor físico, con sus IPs.
Entrar sin abrir el puerto 22
La forma clásica de administrar un servidor Linux es SSH por el puerto 22 con una llave. Funciona, pero obliga a abrir un puerto, a guardar llaves y a darle IP pública a la instancia o montar un bastión. Session Manager, parte de AWS Systems Manager, te da una terminal en el navegador o en la CLI sin nada de eso.
- 1
El agente
La instancia necesita el SSM Agent. Viene instalado en Amazon Linux y en varias AMIs oficiales. - 2
El permiso
El rol de la instancia incluye la política administradaAmazonSSMManagedInstanceCore. - 3
La salida
La instancia necesita llegar a los endpoints de Systems Manager: por un NAT Gateway o por VPC endpoints, sin IP pública. - 4
El acceso
Quién puede abrir sesiones se controla con IAM, y cada sesión queda registrada en CloudTrail. El contenido de la sesión puede guardarse en S3 o CloudWatch Logs.
# Abrir una terminal en la instancia, sin SSH ni puertos abiertos
aws ssm start-session --target i-0123456789abcdef0Elastic IP, en breve
La IP pública normal de una instancia cambia cada vez que la detienes y la enciendes. Una Elastic IP es una dirección IPv4 pública fija que reservas en tu cuenta y asocias a una instancia; se queda contigo hasta que la liberes. AWS cobra por las direcciones IPv4 públicas, estén en uso o no, así que libera las que sobren. En la mayoría de diseños es mejor poner un balanceador de carga o un nombre en Route 53 delante, en vez de depender de la IP de una sola máquina.
Quiz
Pon a prueba lo que aprendiste
0 de 5 correctas · 5 sin responder
1.Necesitas que cada instancia instale y arranque un servidor web la primera vez que enciende. ¿Qué usas?
2.Detienes (stop) una instancia con volumen EBS raíz. ¿Qué sigue generando cobro?
3.¿Qué contiene una AMI?
4.El equipo de seguridad prohíbe abrir el puerto 22 y repartir llaves SSH. ¿Cómo administran las instancias?
5.Según el modelo de responsabilidad compartida, ¿quién aplica los parches al sistema operativo de una instancia EC2?