Introducción a los contenedores de AWS

Los contenedores son unidades de desarrollo de software estandarizadas que le permiten empaquetar el código, las configuraciones y las dependencias de su aplicación en un solo objeto. Los contenedores se derivan de los principios de la virtualización a nivel del sistema operativo. Le permite ejecutar la aplicación y sus dependencias en procesos aislados de recursos, lo que garantiza implementaciones rápidas, confiables y consistentes en cualquier entorno.

Tipos de contenedores

Las herramientas de administración de contenedores se pueden clasificar en tres tipos: registro, orquestación y computación. Los servicios de registro lo ayudan a almacenar y administrar de manera segura sus imágenes de contenedor. Orchestration gestiona cuándo y dónde se ejecutan sus contenedores. Y los motores informáticos alimentan sus contenedores. AWS se ocupa de todas las infraestructuras subyacentes. Los contenedores hacen que los desarrollos y las implementaciones sean fáciles y eficientes.

1. Registro

Registro de contenedores elásticos de Amazon (ECR)

Es un registro de contenedor Docker altamente escalable, altamente disponible, altamente seguro y totalmente administrado. Ayuda a los desarrolladores a almacenar, administrar e implementar imágenes de contenedores Docker de manera eficiente. Amazon ECR está integrado con Amazon Elastic Container Service (ECS), que simplifica la implementación. Amazon ECR se paga solo por la cantidad de datos que almacena en sus repositorios y los datos transferidos en Internet.

Ejemplo de creación de imagen Docker de una aplicación web simple y empujarla a Amazon ECR:

  1. Crea un archivo, Dockerfile.

  1. Edite el Dockerfile.

  1. Construye una imagen de Docker.

  1. Verifique la imagen de Docker ejecutándola.

Salida:

  1. Ejecute la imagen recién construida.

  1. Apunte su navegador a http://locallhost.com/ y la salida será:

  1. Detenga el contenedor Docker escribiendo Ctrl + c.
  2. Empuje su imagen a Amazon ECR. Cree un repositorio de Amazon ECR para almacenar la imagen.

Salida:

  1. Etiquete la imagen de ejemplo de ecr con el valor Uri.

  1. Ejecute el comando de autenticación de inicio de sesión de Docker para su registro.

  1. Ejecute el comando de inicio de sesión de Docker.
  2. Empuje la imagen a Amazon ECR con el repositorio Uri

2. Orquestación

Servicio de contenedor elástico de Amazon (ECS)

Es un servicio de administración de contenedores totalmente administrado, altamente escalable y de alto rendimiento. Admite contenedores Docker y permite a los usuarios ejecutar la aplicación de manera eficiente en un clúster administrado de instancias EC2. AWS administra las instalaciones y operaciones de orquestación de contenedores.

Ejemplo de implementación de contenedores Docker en Amazon ECS:

  1. Amazon ECS - Configuración de la primera ejecución : le permitirá crear clústeres y ejecutar aplicaciones web de muestra. Ingresará a la consola de Amazon ECS e iniciará el asistente. También puede usar Amazon ECR para crear un repositorio de imágenes y enviarle la imagen.

Seleccione la opción y seleccione Continuar.

  1. Creación de definición de tarea: es el modelo de su aplicación. Revise los valores predeterminados y seleccione el siguiente paso.

  1. Configuración del servicio: el servicio inicia y mantiene copias de la definición de tarea en su clúster.
  • Nombre del servicio: AWS proporciona una aplicación web de ejemplo "Hello World" de muestra de forma predeterminada.
  • Número deseado de tareas: el valor predeterminado es 1, para el nivel gratuito de AWS.
  • Equilibrio de carga elástico: puede usar un equilibrador de carga con su servicio.
  • Nombre del contenedor: Puerto de host: seleccione Simple-app : 80 y predetermine los campos restantes.

Seleccione Service IAM Role si ya lo tiene en el menú desplegable o Amazon ECS creará un rol de servicio ECS de forma predeterminada.

Revise sus entradas y seleccione el siguiente paso.

  1. Configuración de clúster
  • Nombre del clúster: el nombre predeterminado es cluster de muestra .
  • Tipo de instancia EC2: el tipo predeterminado es t2.micro para el nivel gratuito de AWS.
  • Número de instancias: el valor predeterminado es 1, para el nivel gratuito de AWS.
  • Par de claves: puede continuar seleccionando uno : no se puede utilizar SSH .
  • Grupo de seguridad: en cualquier lugar de forma predeterminada. Permite el acceso desde todo el internet.
  • Rol IAM de instancia de contenedor: seleccione uno si ya lo tiene en el menú desplegable o

Amazon ECS creará uno de forma predeterminada.

Seleccione Revisar e iniciar.

  1. Lanzar y ver recursos

Puede revisar la definición de la tarea, la configuración de la tarea y las configuraciones del clúster antes de iniciar.

Seleccione Iniciar instancia y ejecutar servicio.

Una vez completado el inicio, seleccione Ver servicio.

  1. Abra la aplicación de muestra: puede verificar y ejecutar su aplicación de muestra apuntando su navegador al nombre DNS del equilibrador de carga.

Abra la página de ejemplo de aplicación web y seleccione su nombre de equilibrador de carga.

Copie el nombre DNS de ELB y péguelo en un nuevo navegador y presione Enter en su teclado.

Puede ver su aplicación de muestra.

También puede limpiar sus recursos en cualquier momento para evitar cargos innecesarios.

Servicio Amazon Elastic Kubernetes (EKS)

Le permite administrar, implementar y escalar fácilmente aplicaciones en contenedores usando Kubernetes en AWS. Ejecuta el servicio Kubernetes en varias zonas de AWS para eliminar un solo punto de error. Amazon EKS es una integración certificada de Kubernetes, puede migrar fácilmente la aplicación que se ejecuta en cualquier entorno estándar de Kubernetes a AWS EKS.

3. Calcular

Amazon Elastic Compute Cloud (Amazon EC2)

Es una capacidad de cómputo segura y redimensionable en la nube que ejecuta contenedores en infraestructuras de máquinas virtuales con control total sobre la escala y la configuración. Le brinda un control completo de sus recursos informáticos. Reduce el tiempo requerido para obtener e iniciar nuevas instancias de servidor a solo unos minutos. Amazon EC2 proporciona a los desarrolladores las herramientas para construir aplicaciones resistentes a fallas.

Ejemplo: instale un servidor web LAMP con la AMI de Amazon Linux.

Este ejemplo le ayuda a instalar un servidor web Apache con soporte PHP y MySQL en su instancia de Amazon Linux (también llamado servidor web LAMP).

  1. Conéctese a la instancia de Linux.
  2. Actualice los paquetes de software, si los hay.

  1. Instale los paquetes de software del servidor web Apache, MySQL y PHP con el comando yum install.

  1. Inicie el servidor web Apache.

  1. Configure el servidor web Apache para comenzar en cada arranque del sistema.

  1. Verifique que httpd esté activado.

  1. Agregue una nueva regla de seguridad entrante con los siguientes valores:
  • Tipo: HTTP
  • Protocolo: TCP
  • Rango de puertos: 80
  • Fuente: Personalizada
  1. Pruebe el servidor web escribiendo la dirección DNS en un navegador web.
  2. Establezca los permisos de archivo necesarios si es necesario.
  3. Prueba tu servidor LAMP.
  4. Asegure el servidor de la base de datos.

AWS Fargate

Es un motor de cómputo sin servidor para Amazon ECS que le permite ejecutar contenedores sin administrar servidores. Amazon se encarga de todas las administraciones de servidores subyacentes, lo que le permite concentrarse en diseñar y construir sus aplicaciones

Tiene dos modos:

Tipo de lanzamiento de Fargate: Empaquete su aplicación en contenedores, especifique los requisitos de CPU y memoria, defina las políticas de red e IAM e inicie la aplicación.

Tipo de lanzamiento EC2: le permite tener un control a nivel de servidor sobre una instalación que ejecuta sus aplicaciones de contenedor.

Beneficios de los contenedores de AWS

  • Se ejecuta en cualquier lugar: los contenedores empaquetan su código con los archivos de configuración y las dependencias que necesita para ejecutarse en cualquier entorno de manera consistente.
  • Mejore la utilización de recursos: los contenedores proporcionan aislamiento del proceso que le permite configurar la utilización de la CPU y la memoria para un mejor uso de los recursos informáticos.
  • Escalado rápido: cada contenedor se ejecuta como un proceso separado que comparte los recursos del sistema operativo subyacente. Esto permite que los contenedores se inicien y detengan rápidamente.

¿Como funciona?

  1. Cree una imagen de contenedor: empaquete su código y todas sus dependencias en un contenedor.
  2. Prueba e implementación automáticas: unidad de código estandarizada, el contenedor actúa como un edificio consistente
  3. Ejecutar en cualquier lugar: su contenedor se ejecutará en cualquier entorno de manera consistente.
  4. Escalado rápido: los contenedores comienzan y finalizan rápidamente, por lo que su aplicación puede escalar hacia arriba y hacia abajo

Conclusión - Contenedores de AWS

Amazon ofrece una amplia gama de servicios para almacenar, administrar y ejecutar contenedores. Los contenedores hacen que los desarrollos y las implementaciones sean más fáciles para los desarrolladores, ya que Amazon se ocupa de todas las infraestructuras subyacentes, incluida la administración del servidor, lo que permite a los desarrolladores centrarse en su desarrollo. Elija el servicio de AWS adecuado para su carga de trabajo.

Artículos recomendados

Esta es una guía de contenedores de AWS. Aquí discutimos la Introducción, Tipos de Contenedores que incluye Registro, Orquestación y Computación junto con los Beneficios de los Contenedores de AWS. También puede consultar los siguientes artículos para obtener más información:

  1. Servicios de AWS
  2. AWS Kinesis
  3. Arquitectura de AWS
  4. ¿Qué es AWS RedShift?
  5. Guía completa para competidores de AWS
  6. Conozca la lista de características de los servicios web de Amazon

Categoría: