Servicio AWS EC2 y trabaje con él



Hola a todos La próxima semana, comenzarán las clases en el curso de servicios en la nube . Le presentamos un breve recuento de la lección abierta "AWS EC2-service". Fue realizado por Egor Zuev , profesor y especialista en servicios en la nube con más de 10 años de experiencia. En este seminario, revisamos el servicio AWS EC2, codificamos e implementamos una aplicación simple, elevamos la base de datos y también examinamos la replicación de imágenes y los equilibradores de carga.



Descripción general del servicio AWS EC2


EC2 (nube computacional elástica) es un servicio que proporciona potencia informática al proporcionar máquinas virtuales / físicas con imágenes pre-creadas de sistemas operativos (por ejemplo, Ubuntu, Debian, Windows).

Tipos de instancias disponibles para la selección:



En cuanto a las imágenes, AWS EC2 utiliza AMI (imagen de máquina de Amazon), que también es la imagen de un sistema operativo preconstruido que será utilizado por la instancia EC2. La analogía más cercana es un disco virtual con un sistema ya instalado, por ejemplo, en Virtual Box.

Es importante saber que cuando configuramos la máquina y seleccionamos la imagen, necesitaremos configurar el acceso. Como la máquina estará en la nube, nosotros y otros usuarios tendremos que comunicarnos con ella. Para hacer esto, configure el grupo de seguridad: un conjunto de reglas (política), que se aplica a la instancia EC2 e incluye permisos para el tráfico entrante y saliente.

Trabajar con la consola


Inmediatamente después de registrarse para el servicio, será llevado a la consola AWS EC2. Allí puede elegir EC2 y el tipo de máquina en la que implementaremos todo. En nuestro caso, seleccione Ubuntu Server.







Un punto importante : en el paso número 2, estamos interesados ​​en t2micro (marcado con una etiqueta verde), porque todo lo demás será pagado.

En los siguientes tres pasos, dejamos la configuración predeterminada, pero se debe prestar especial atención al paso 6. Aquí debe ingresar el nombre del grupo, por ejemplo, backend-security-group, y luego agregar inmediatamente la regla para que solo el puerto 80 pueda conectarse desde el mundo exterior.



En el séptimo paso, haga clic en Iniciar e inicie la instancia. Pero antes de eso, el sistema le pedirá que cree una clave para conectarse a través de ssh. Cuando se completan todos los pasos, la inicialización demora entre 1 y 2 minutos.

La instancia creada se llama backend.


Video detallado sobre la configuración .

Conexión


Si alguien olvidó las complejidades de la conexión, el servicio le informará de inmediato:



Puede utilizar un programa separado para conectarse, por ejemplo, Bitvise SSH Client, una herramienta muy conveniente.

La máquina tiene inmediatamente direcciones IP públicas y privadas. Usamos public para acceder a la máquina, en la que manejamos, accediendo a ella mediante ssh. Escribimos ubuntu como nombre de usuario, luego importamos la clave que creamos. Todo lo que queda es iniciar sesión en coche. Por cierto, realizaremos todas las acciones desde debajo de la raíz, para ingresar lo que escribimos el comando sudo su .


Detalles de conexión.

Conectamos la base de datos


Como base de datos, se decidió utilizar PostgreSQL. Para continuar, cree una nueva instancia con la siguiente configuración:

  • ponga 16 GB en la columna Tamaño (paso número 4);
  • El nombre del grupo de seguridad se denomina grupo de seguridad de base de datos (paso número 6);
  • agregue la regla en la configuración eligiendo PostgreSQL de la sublista (paso número 6).
Por cierto, aquí en el campo de la dirección IP puede conducir grupos de seguridad, en nuestro caso estamos hablando de backend-security-group. Por lo tanto, todos los que pertenezcan a este grupo obtendrán acceso a la base de datos en la red privada. Aquí puedes escuchar qué tipo de magia es esta red privada.

Como resultado, obtenemos dos instancias en la consola: backend y base de datos.


Detalles de conexión de base de datos.

Creamos e implementamos la aplicación.


Cree un nuevo proyecto usando WebStorm y Node.js. Nuestra tarea es escribir una aplicación simple que haga solo dos cosas: responder pings y contar el número de solicitudes de solicitud a un punto final específico y, en consecuencia, emitirlo.

Implementaremos la aplicación en dos etapas. Para implementar, vaya a una máquina llamada backend, realice una actualización, instale Node.js, haga clon git, instale bibliotecas.

A continuación, levantamos la base . Tenga en cuenta que Node y Postgres funcionan en diferentes máquinas. El momento de la verdad: conexión a la aplicación a través de una dirección pública. ¡Hurra, todo funciona!



La siguiente etapa es la creación de nuestra propia imagen AMI , que estará disponible para nosotros. En base a esta imagen AMI, podemos hacer una copia de nuestro backend e implementarlo en dos clics. Para hacer esto, vaya a "Imagen" - "Crear imagen".



Después de crear la imagen, hacemos las configuraciones necesarias. Hay muy pocas opciones: por ejemplo, debe especificar el tamaño mínimo del disco duro. Estamos hablando del tamaño de la instantánea, es decir, la instantánea se eliminará del disco duro en el que tenemos todo instalado. Podemos decir que AMI es una entidad virtual que consiste en configuraciones de imagen e instantánea con el sistema operativo instalado (en nuestro caso, el sistema operativo con Node.js instalado y nuestra aplicación).

Un punto importante : tomará aproximadamente cinco minutos crear una instantánea, durante la cual la máquina estará en estado de espera (cuanto más “gruesa” sea su imagen, más tiempo se mantendrá).

Pongamos un nombre a la imagen, por ejemplo, backend-ami . El nombre se presenta aquí:



Después de crear la imagen, podemos replicarla y obtener la misma copia de la máquina con solo unos pocos clics. Y para conectarse a las máquinas no por separado, sino a través de equilibradores de carga . Hay varios equilibradores para elegir, que difieren en los algoritmos de equilibrio. Configurar el equilibrador seleccionado no causará dificultades, aunque hay matices que es importante recordar.



Modelos de precios


AWS EC2 ofrece 4 modelos de precios. La siguiente captura de pantalla contiene descripciones de tres de ellas: reservadas, mercado al contado y bajo demanda. Por cierto, en una lección abierta, utilizamos el modelo On-Demand.


Más sobre modelos.

Además de la elección de modelos, el servicio AWS EC2 también es bueno porque está integrado (como muchos otros productos de AWS) con el sistema de monitoreo AWS: Cloudwatch . Este sistema de monitoreo está configurado de manera flexible y le permite monitorear tanto el consumo de recursos como el presupuesto. Con solo unos pocos clics, puede establecer un límite en el uso de los recursos EC2, después de lo cual recibirá una notificación, por ejemplo, por correo.

Queda por añadir que la lección abierta resultó ser muy informativa. Y si está interesado en este tema, es mejor ver el seminario web completo para que no se pierda nada.

Source: https://habr.com/ru/post/468185/


All Articles