Crear una instancia EC2 desde la consola de AWS
Siguiendo con la linea de tutoriales de AWS, en éste comentare brevemente como crear una instancia EC2. Previamente necesitarás disponer de una cuenta de AWS. Puedes obtener una cuenta gratuita siguiendo por ejemplo éste enlace.
Tambien a modo de ejemplo crearemos una instancia EC2 usando la cuenta principal (root) lo cual no es muy recomendable, es preferible crear un usuario IAM y trabajar usando este usuario. Pero ése tema se verá en otro tutorial. De momento realizaremos los siguientes pasos:
Entramos con nuestra cuenta en la consola de AWS y desde la página principal seleccionamos el tutorial de “Lance una máquina virtual” o ya seleccionamos la vista de EC2.
Ahora tendremos que elegir la imagen de Sistema operativo que queremos utilizar. En el ejemplo seleccionamos Ubuntu Server 20.04 (y teniendo cuenta que aparezca el texto Apto para la capa, pues estamos usando la capa gratuita de AWS y no queremos que nos suponga coste a fin de mes). Podemos elegir si nos interesa otra imágen pero que sean de éste tipo para evitar llevarnos luego un susto con la facturación.
Al pulsar en Seleccionar nos aparece la ventana de selección del tipo de instancia. En este punto dejamos por defecto la seleccionada que es la que elegimos en el paso previa. En el ejemplo t2.micro que no supone coste para la capa gratuita.
Al pulsar en Siguiente aparce la pantalla con los detalles de la configuración de la instancia. En el que observamos por ejemplo la VPC y subnet que se creara. Dejamos los valores por defecto y damos a Siguiente.
Aparece la pantalla de configuración del almacenamiento de la instancia. Por defecto 8 Gb de espacio. Mantenemos este valor y damos a Siguiente.
En la siguiente pantalla podemos configurar el grupo de seguridad de la instancia. Esto es importante pues basicamente son los puertos de entrada y salida a la que podemos conectar o permitimos acceder y tambien si permitimos acceder a todas las máquinas o un rango determinado de ips. Por defecto aparece seleccionado “SSH” que es el que necesitaremos para acceder a la instancia mediante ssh. En el ejemplo hemos añadido tambien HTTP y HTTPS por si quisieramos luego instalar en la instancia un servidor web al que acceder desde la red pública. De este modo se habilitan ya los puertos 80 y 443 que suelen ser los utilizados por el protocolo http y https.
Al darle a Siguiente aparece un resumen de la configuración de la instancia por si queremos revisar algo. Continuamos haciendo click sobre Lanzar.
Nos pide entonces seleccionar o crear un par de claves. Esto es importante pues necesitaremos las claves para acceder a la instancia mediante ssh. Le damos a crear nuevo par, indicamos un nombre (en el ejemplo ubuntu_aws) y nos las descargamos a nuestro equipo local.
Comienza entonces a lanzarse la instancia (ponerse en ejecución).
Y tras unos minutos podremos comprobar en consola que se encuentra “activa”.
Podemos ya conectar a ella desde la consola abriendo una sesión ssh (web). Para ello, seleccionamos la instancia marcando su checkbox y después en el boton de “Acciones” elegimos “Conectar”.
La pantalla nos proporciona información de como podemos conectar a la instancia mediante un cliente ssh (y usando la clave que creamos en el paso anterior).
Pero tambien podemos conectar directamente mediante la consola ssh web, para ello seleccionamos la pestaña de “Conexión a la instancia EC2” y pulsamos el botón de “Conectar”.
Entonces desde la pestaña del navegador nos conectamos a la instancia y ya podremos trabajar con ella desde su propia linea de comandos.
En el caso de que no queramos usar la consola web ssh y quisieramos usar un cliente ssh externo, nos conectamos a la instancia con las instrucciones que nos proporciono la pantalla de ayuda y usando la clave privada que creamos a la hora de lanzar la instancia. Pero aqui nos dara un error pues es necesario modificar los permisos de la clave para poder conectar o nos dara el error de “bad permissions” (Permission denied)
Para solucinarlo ejecutamos el comando “chmod 400 <fichero con la clave>” y ya se actualiza con los permisos que necesita y podemos ya conectar mediante el cliente ssh.
Y ya estamos conectados a la instancia EC2 mediante el cliente ssh externo y podemos trabajar con la terminal y realizar las tareas que queramos.
La instancia EC2 se encuentra en ejecución en la “nube”, y no supone coste al ser de tipo t2.micro (para la capa gratuita), aunque sus capacidades de memoria y RAM son muy reducidas. Aún así, nos permite trabajar básicamente con ella, o incluso podremos crear más instancias Ec2 para pruebas.
Cuando no queramos continuar trabajando con la instancia podemos seleccionarla desde la consola de AWS y ejecutar la acción “Parar”. Recordando que tendremos que “Lanzarla” de nuevo si queremos poder conectar a ella nuevamente desde ssh. En el caso de que no la necesitemos más tambien podemos ejecutar la acción “Terminar” que básicamente la destruye (eliminando los recursos creados y eliminandola definitivamente).
En el próximo post veremos ya como crear instancias EC2 pero desde código (Terraform).