Creando nuestra primera instancia de EC2

Los servidores son una parte fundamental del desarrollo web, son necesarios para albergar una página web o algún servicio relacionado a internet como una base de datos o un backend. Gracias a los servidores el internet funciona tal como lo conocemos. Por este motivo aprender a crear un servidor es esencial en un mundo donde el internet sucede en los servidores.

En este tutorial aprenderemos a desplegar un servidor usando el servicio EC2 de Amazon Web Services. Al finalizar este tutorial sabrás como desplegar tu propio servidor e ingresar a la terminal del servidor para trabajar en él y deployar tus propios proyectos.

Índice

  1. Qué es EC2
  2. Creando una instancia de EC2
  3. Conectándonos a una instancia EC2
  4. Creando un respaldo de la instancia de EC2
  5. Tu turno

1. Qué es EC2

EC2 o Elastic Cloud Computing es el servicio de AWS que nos provee de un servidor bajo demanda. Bajo este servicio cada servidor provisionado es llamado EC2 instance. AWS nos permite configurar múltiples parámetros del servidor que estamos creando desde el sistema operativo hasta las características de memoria y poder de computo para utilizarlo en cualquier entorno. Con EC2 podemos crear servidores para deployar un backend, aprovechar su poder de computo para realizando calculo o procesar videojuegos en linea y mucho más.

2. Creando una instancia de EC2

Crear una instancia de EC2 es relativamente sencillo. Sin embargo, requiere de una gran configuración. En este tutorial no aprenderemos qué significa cada parámetro a configurar, aprender todo eso en un solo tutorial sería muy pesado. Así que por ahora configuraremos una instancia muy básica ideal para deployar un pequeño backend de prueba.

Para poder crear una instancia de EC2 lo primero que debemos hacer es buscar EC2 en el buscador de la consola de AWS. Obviamente antes debes estar registrado en AWS e ingresar a tu cuenta.

Ahora, dentro del dashboard de EC2 seleccionamos Launch instance para comenzar la creación de una nueva instancia de EC2.

Para nuestra primera instancia EC2 usaremos Amazon Linux 2 como Amazon Machine Image (AMI). Un AMI es un tipo especial de maquina virtual para crear una instancia de EC2. Contiene la configuración de software como sistema operativo y aplicaciones de servidor preinstaladas necesarias para iniciar una instancia de EC2. En nuestra pantalla vemos que debajo del nombre del AMI se describe la configuración que tiene el AMI.

Ahora tenemos que seleccionar el tipo de instancia que queremos crear, o sea la configuración de hardware que queremos que tenga la instancia EC2. Esto dependerá bastante de la carga de trabajo a la que este expuesta el servidor. En este ejemplo usaremos el tipo t2.micro que es parte de la capa gratuita de AWS. Sin embargo, tenemos que tener en cuenta dos cosas importantes.

  • El tipo de instancia (Type) son configuraciones proporcionados por amazon adecuados para diferente usos. Podemos ver más al respecto aquí Tipos de instancias de Amazon EC2.
  • La instancia de almacenamiento (Instance Storage) utiliza instancias EBS que es Elastic Block Store y es el servicio de almacenamiento que nos provee Amazon. Podemos ver más al respecto aquí Amazon EBS.

Aquí tenemos aún más configuración sobre la instancia. El primer parámetro (Number of instances) es el número de instancias iguales que queremos crear. Entonces si necesitamos cinco servidores iguales solo bastaría con colocar 5 en este parámetro para crear 5 instancias EC2 iguales. La demás configuración para un propósito tan simple como es un backend de prueba no es necesario configurarlo por ahora.

Ahora toca configurar el almacenamiento. Por defecto tenemos un almacenamiento de 8GB EBS de propósito general. Este es parte de la capa gratuita y por ahora solo usaremos esta capacidad. En próximos tutoriales personalizaremos más esta parte por ahora le damos click en Next.

Ahora AWS nos da la posibilidad de crear una etiqueta o tag para organizar nuestras instancias. Por ejemplo, un tag común podría ser el nombre del departamento que usará las instancias. Nosotros crearemos un tag con el siguiente valor.

Key: Name
Value: Demo

En esta pantalla seleccionaremos la configuración de seguridad para nuestra instancia. De hecho tenemos que crear un grupo de seguridad para la instancia y para futuras instancias. Esta configuración es de suma importancia ya que le dirá al servidor que IPs aceptar.

Aquí le diremos a la instancia que acepte cualquier IP que quiera conectarse. También podríamos configurar para que acepte solo nuestro IP, pero a veces la IP publica que nos brinda el proveedor de internet es cambiante. También configuraremos el tipo de protocolo que aceptará el servidor. En nuestro caso será el protocolo SSH ya que es un protocolo de administración remota y sirve para controlar servidores de manera remota. En resumen tenemos que realizar la siguiente configuración.

Security group name: Solo-ssh
Descriptio: Solo aceptara ssh
Type: SSH
Source: Anywhere

En esta pantalla podemos revisar toda la configuración que realizamos para luego confirmar la creación de nuestra instancia EC2.

Por ultimo, tenemos que crear un key pair que es una clave publica y privada que nos permitirá conectarnos a nuestra instancia EC2. Este paso es muy importante ya que solo de esta forma nos podremos conectar a la instancia mediante SSH. Así que creamos un key pair y luego hacemos click en Download Key Pair para descargar el archivo con la clave publica y privada que nos permitirá conectarnos al servidor.

Ahora ya tenemos nuestra instancia creada y podemos conectarnos a ella. Sin embargo, conectarse a una instancia EC2 también requiere un poco de practica. Asi que pasemos a la conexión.

3. Conectándonos a una instancia EC2

Es natural querer conectarse a la instancia que acabamos de crear ya que solo así podremos descargar algún archivo o repositorio para luego ejecutarlo. Hay dos cosas que debemos tener en cuenta ahora. La primera es que estas instancias no tienen interface gráfica así que la manipulación será básicamente por la terminal y segundo es que para poder tener soltura manejando estas instancias es necesario tener un conocimiento por lo menos básicos de linux.

Ahora si a conectarnos. La forma más sencilla de conectarse a una terminal de nuestro servidor EC2 es usando la opción de Connect de la consola de AWS.

Luego usamos la opción EC2 Instance Connect (browser-based SSH connection) para abrir la terminal de nuestro servidor en el mismo navegador. Esta pantalla es importante ya que aquí encontramos el nombre de usuario del sistema operativo que tiene nuestra instancia EC2.

Esta es la consola de nuestra instancia EC2 y como ya lo dijimos puedes ejecutar cualquier comando Linux en su interior.

Si lo que queremos es conectarnos desde Windows y de una manera más cómoda y con más herramientas podemos usar el programa MobaXterm que nos permitirá realizar la conexión de manera fácil y gráfica.

Una vez que tengamos instalado MobaXterm crearemos una Session haciendo click en el botón de la esquina superior izquierda.

Dentro de la nueva pantalla seleccionamos SSH y en Basic SSH setttings especificaremos los siguientes parámetros.

Remote host: El ip publico de la instancia que creamos
Specify username: ec2-user
Port: 22
El nombre de usuario por defecto de una instancia Amazon Linux 2 es ec2-user este es el mismo que encontramos al crear la conección usando el navegador.

Ahora seleccionamos la pestaña Advanced SSH settings para colocar la clave privada y publica que nosotros lo tenemos en el archivo key pair que descargamos de AWS.

Listo!! Ahora ya estamos conectados a nuestra instancia de EC2 desde Windows.

Ahora veamos como actulizar el sistema operativo, una de las cosas más importantes que debemos hacer después de crear la instancia.

Primero podemos ver que la consola el sistema operativo nos sugiere ejecutar el siguiente comando para actualizar el sistema operativo.

sudo yum update
yum es el gestor de paquetes que utiliza Amazon Linux 2, también es usado por RedHad y otros sistemas operativos asi que hay bastante documentación al respecto.

4. Creando un respaldo de la instancia de EC2

Debes tener en cuanta que como administradores de la instancia EC2 somos responsables de tres cosas muy importantes.

  • Las actualizaciones, ya que Amazon no se encarga de las actualizaciones del sistema operativo.
  • Los respaldos, nosotros debemos respaldar la instancia cuando sea necesario y por seguridad.
  • Los respaldos snaphot, que son respaldos que se realizan cuando se van a realizar grandes cambios al sistema por si algo sale mal volver a un estado anterior.

Realizar un respaldo no es complicado, solo debemos seguir los siguientes pasos. Primero seleccionamos la acción de crear una imagen de nuestra instancia EC2.

Luego seleccionamos el nombre, la descripción y le damos click en Create image.

Listo!! podemos ver las imágenes de respaldo que creamos en la sección de images de la consola de EC2.

5. Tu turno

Ya sabes como crear una instancia de EC2 en AWS ahora te toca crear tu propia instancia en EC2 y trastear un poco con la consola. Vamos inténtalo!!