¿Cómo conectarse a un servidor utilizando AWS EC2?
Conectar a un servidor en AWS EC2 puede sonar complicado al principio, pero con una guía clara, se puede lograr de manera eficiente. A continuación, exploramos el proceso para establecer esta conexión efectiva utilizando un JumpHost y configurando adecuadamente los grupos de seguridad.
¿Cuál es el primer paso para conectarse a un servidor?
Acceso a la consola de AWS EC2: Inicia sesión en AWS y dirígete a la consola de EC2.
Localiza y edita el JumpHost: Busca las instancias en ejecución y selecciona tu JumpHost. Es fundamental editar sus configuraciones de seguridad para permitir conexiones SSH.
¿Cómo configurar las reglas de seguridad?
La seguridad es esencial en las conexiones a servidor, y configurar las reglas correctamente es crucial:
Edita las reglas de entrada en Security Groups: Accede a la sección de Seguridad y agrega una nueva regla permitiendo conexiones SSH (puerto 22) desde tu dirección IP.
Guarda los cambios: Asegúrate de guardar cualquier modificación en los grupos de seguridad para aplicar las configuraciones.
¿Cómo conectarse al JumpHost?
Una vez configuradas las reglas de seguridad, el siguiente paso es la conexión a través de la terminal:
Verificación: Si todo está bien, recibirás un mensaje de confirmación. Acepta la conexión escribiendo "yes" cuando sea necesario.
¿Cómo conectar y manejar servidores en subredes privadas?
Con el JumpHost en acceso, el siguiente desafío es llegar a los servidores que están en subredes privadas.
¿Cómo permitir el acceso del JumpHost a los servidores privados?
Configura los grupos de seguridad de los servidores privados: Demuestra cómo los servidores privados pueden aceptar conexiones desde el JumpHost mediante la modificación de su Security Group respectivo.
¿Cómo realizar saltos SSH?
Configurar mecanismos para saltar de un servidor público a uno privado es esencial:
Crea y edita un archivo de llave para el Servidor A:
Usa un editor de texto en el JumpHost para crear un archivo de llave.
Copia el contenido de la llave del Servidor A en este archivo.
El balanceo de carga es esencial para alta disponibilidad:
Próximos pasos: En la clase siguiente, configuraremos el balanceador de carga en AWS para mejorar la disponibilidad y distribuciones de tráfico en los servidores A y B.
Con todo, la gestión de servidores en AWS nos brinda la posibilidad de aprender procesos críticos y practicar habilidades necesarias en un entorno seguro. Sigue este procedimiento y estarás bien encaminado hacia la optimización de tus aplicaciones en la nube. ¡Adelante!
Me pasó que eliminé la NAT Gateway creada en clases previas por temas de costos y cuando fui a instalar el servidor web no me lo descargaba, así que tuve que crear una NAT nueva y ya me instaló con normalidad. lo dejo por si a alguien le pasa lo mismos :)
Eso tiene completo sentido, ya que estando dentro de una subred privada no tienes acceso a internet. Claro que hay dos caminos: crear una NAT gw (la más segura) o hacer la subred publica
Me pasó igual, solo para agregar que el Nat gateway debe estar en la subred pública, no en la privada (como por error hice jeje)
Si alguien elimino el NAT Gateway para preveer costos durante el curso, este es necesario para descargar el servidor web.
La clase es: Crear una VPC en AWS (Creación de Subredes, Internet Gateway y NAT Gateway)
El comando chmod 400 establece permisos de lectura solo para el propietario del archivo, mientras que los demás no tienen ningún permiso. Esto significa que solo el propietario puede leer el archivo y no puede ser modificado o ejecutado por otros.
Por otro lado, chmod +x agrega permiso de ejecución para todos los usuarios (propietario, grupo y otros).
En resumen, chmod 400 y chmod +x tienen propósitos diferentes: el primero restringe el acceso y el segundo permite la ejecución.
Para recordar: No es posible conectarse directamente a serverA (o serverB) usando conexión SSH es porque no cuentan con una IP pública. Para conectarse a una instancia EC2 se necesita que la instnacia tenga una IP pública. Por eso se usa el JumpHost.
Tengan cuidado siempre de compartir o mostrar sus llaves privadas, ya que estas son la forma en la que SSH desencripta el acceso al servidor usando una llave pública.
Aunque creo que no hay problema pues chmod 400 obliga a que este tipo de accesos solo los haga el usuario actual
Si los archivos de la llave son .ppk, que es el formato utilizado por PuTTY, no se pueden usar directamente como llaves para conectar a instancias de AWS. Necesitarás convertir el archivo .ppk a .pem. Para ello, puedes utilizar PuTTYgen, que es una herramienta que permite realizar esta conversión. Una vez convertido a .pem, podrás usarlo para conectarte a tus instancias de EC2 mediante SSH.
Super Genial el profesor
Con esta clase me senti hacker xD
Pregunta, aplicando lo visto en clases anteriores...no se pudo agregar los comandos de instalación del servidor web, creación del index.html y el mensaje en cada Ec2 creada con datos de usuario(User Data)? Entiendo que el ejemplo del profe es poder tener una Ec2 para mantenimiento e instalación, pero con esto nos hubiéramos ahorrado una Ec2
Ejemplo de Usar Data:
#!/bin/bashyum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h2>Hola Servidor (A o B )desde $(hostname -f)</h2>">/var/www/html/index.html
Para un primer inicio lo que el profe hace se me hace mucho, pero entiendo que es de ejemplo nada más. Yo lo haría como dices tú.
me podrian ayudar cuando soy sudo yum install httpd -y no descarga el servidor y me da error de errors during downloading metadata for repository , cual podria ser el error
al intentar conectarme desde PuTTY de jumpHost a servera me sigue dando el error: Permission denied , ya corri el script con sudo y persiste
Hola. Puede que necesites especificar la ruta donde esta la llave en mi caso la agregue y funciono: ssh ec2-user@10.0.1.169 -i /home/ec2-user/llaveservera.pem