Eliminación de la gestión de claves SSH con EC2 Instance Connect - Conexión segura desde navegador y CLI

Explicamos la conexión SSH sin claves con EC2 Instance Connect, el control de acceso basado en IAM y el uso de Endpoints.

Descripción general de EC2 Instance Connect

EC2 Instance Connect es un servicio para conectarse de forma segura a instancias EC2 sin distribución previa de claves SSH. Con la conexión SSH tradicional, la creación, distribución, rotación y manejo de pérdida de pares de claves era una carga operativa, pero Instance Connect utiliza claves públicas temporales, eliminando la necesidad de gestión de claves.

Endpoint y conexión privada

EC2 Instance Connect Endpoint es un endpoint creado dentro de la VPC que permite conectarse a instancias en subredes privadas sin IP pública ni servidor bastión. Se controla la acción ec2-instance-connect:OpenTunnel con políticas IAM, restringiendo la conexión a instancias o subredes específicas. Al conectarse, una clave pública SSH temporal se coloca en los metadatos de la instancia durante 60 segundos y se elimina automáticamente después de establecer la conexión, sin dejar claves permanentes.

EC2 Instance Connect Endpoint

Con EC2 Instance Connect Endpoint (EIC Endpoint), se puede establecer conexión SSH/RDP a instancias en subredes privadas sin dirección IP pública ni servidor bastión. Se crea un EIC Endpoint dentro de la VPC y se controlan los usuarios autorizados y las instancias objetivo con políticas IAM. La conexión se tuneliza a través de AWS PrivateLink, por lo que no es necesario abrir el puerto SSH de entrada en el grupo de seguridad de la instancia. Se puede auditar con CloudTrail quién se conectó a qué instancia y cuándo, y no se requiere gestión de claves SSH. Un solo EIC Endpoint puede conectarse a instancias en múltiples subredes dentro de la VPC, sin cargos adicionales. Si desea aprender sistemáticamente sobre conexiones SSH, también puede consultar libros relacionados (Amazon).

Comparación y selección de métodos de conexión

Hay 3 métodos de conexión a EC2: EC2 Instance Connect, Systems Manager Session Manager y el par de claves SSH tradicional. Instance Connect inyecta una clave pública temporal a través del servicio de metadatos, eliminando la necesidad de gestión de claves SSH permanentes. Session Manager es basado en agente y no usa el protocolo SSH, siendo el más adecuado para requisitos de seguridad estrictos al no requerir apertura de puertos. El par de claves SSH tradicional tiene alta compatibilidad con flujos de trabajo existentes, pero la carga operativa de rotación y distribución de claves es un desafío. Para entornos de desarrollo, la facilidad de Instance Connect es adecuada; para entornos de producción, la auditabilidad y seguridad de Session Manager son apropiadas.

Precios de EC2 Instance Connect

EC2 Instance Connect es gratuito. No hay cargos adicionales por la conexión SSH desde navegador, conexión desde CLI ni uso de Instance Connect Endpoint. Session Manager (Systems Manager) también es gratuito, por lo que el costo de conexión es cero independientemente de cuál se elija. Al usar Instance Connect Endpoint, se puede conectar a instancias en subredes privadas sin dirección IP pública, reduciendo costos de NAT Gateway o servidor bastión.

Resumen

EC2 Instance Connect es un servicio que elimina la gestión de claves SSH y proporciona control de acceso basado en IAM. Con EIC Endpoint se puede conectar a instancias en subredes privadas sin IP pública ni servidor bastión, y se registran logs de auditoría de conexión con CloudTrail. Diferenciando con Session Manager, se puede seleccionar el método de conexión adecuado para entornos de desarrollo y producción.