Ejemplo: Lanzamiento de Elastic Beanstalk en una VPC con Amazon RDS - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplo: Lanzamiento de Elastic Beanstalk en una VPC con Amazon RDS

En esta sección, encontrará las tareas para implementar una aplicación de Elastic Beanstalk con Amazon RDS en una VPC utilizando una gateway de NAT.

Su infraestructura será similar al diagrama siguiente.

Diagrama de la topología de Elastic Beanstalk y VPC con Amazon RDS.
nota

Si nunca antes ha utilizado una instancia de base de datos con la aplicación, intente agregar una a un entorno de prueba y establecer conexión con una instancia de base de datos externa antes de agregar una configuración de VPC al conjunto.

Creación de una VPC con subredes públicas y privadas

Puede utilizar la consola de Amazon VPC para crear una VPC.

Para crear una VPC
  1. Inicie sesión en la consola de Amazon VPC.

  2. En el panel de navegación, elija Panel de VPC. A continuación, elija Create VPC (Creación de VPC).

  3. Elija VPC with Public and Private Subnets (VPC con subredes privadas y públicas) y, a continuación, Select (Seleccionar).

    Elija VPC with Public and Private Subnets (VPC con subredes privadas y públicas) y, a continuación, Select (Seleccionar).
  4. El balanceador de cargas de Elastic Load Balancing y EC2 las instancias de Amazon deben estar en la misma zona de disponibilidad para que puedan comunicarse entre sí. Elija la misma zona de disponibilidad en cada lista de zona de disponibilidad.

    Elija las mismas zonas de disponibilidad para sus subredes privadas y públicas.
  5. Elija una dirección IP elástica para gateway NAT.

  6. Seleccione Creación de VPC.

    El asistente comienza a crear la VPC, las subredes y la gateway de Internet. También actualiza la tabla de ruteo principal y crea una personalizada. Por último, el asistente crea una gateway NAT en la subred pública.

    nota

    Puede elegir lanzar una instancia NAT en la subred pública en lugar de una gateway NAT. Para obtener más información, consulte Situación 2: VPC con subredes privadas y públicas (NAT) en la Guía de usuario de Amazon VPC.

  7. Una vez creada la VPC correctamente, obtendrá un ID de VPC. Necesitará este valor para el siguiente paso. Para ver su ID de VPC, elija Your VPCs en el panel izquierdo de la consola de Amazon VPC.

    La consola de Amazon VPC muestra el ID de la VPC.

Creación de un grupo de subredes de base de datos

Un grupo de subredes de base de datos de una VPC es una colección de subredes (normalmente privadas) que se pueden designar para las instancias de base de datos de RDS de los backend. Cada grupo de subredes de base de datos debe tener al menos una subred para cada zona de disponibilidad de una región determinada. AWS Para obtener más información, consulte Creación de una subred en la VPC.

Creación de un grupo de subredes de base de datos
  1. Abra la consola de Amazon RDS.

  2. En el panel de navegación, elija Subnet groups.

  3. Elija Create DB Subnet Group.

  4. Elija Name (Nombre) y escriba el nombre del grupo de subredes de base de datos.

  5. Elija Description (Descripción) y describa el grupo de subredes de base de datos.

  6. Para VPC, elija el ID de la VPC que ha creado.

  7. En Add subnets (Añadir subredes), elija Add all the subnets related to this VPC (Añadir todas las subredes relacionadas con esta VPC).

    Añada todas las subredes relacionadas con su VPC.
  8. Cuando haya terminado, seleccione Create (Creación de).

    El nuevo grupo de subredes de base de datos aparece en la lista de grupos de subredes de la consola de Amazon RDS. En el panel de detalles que se encuentra en la parte inferior de la página, puede elegir en esa lista para ver los detalles (por ejemplo, todas las subredes asociadas al grupo).

Implementar en Elastic Beanstalk

Una vez configurada la VPC, puede crear el entorno dentro de ella e implementar la aplicación en Elastic Beanstalk. Puede hacerlo con la consola de Elastic Beanstalk o con los kits de AWS herramientas AWS CLI, la CLI de EB o la API de Elastic Beanstalk. Si utiliza la consola de Elastic Beanstalk, solo tiene que cargar el archivo .war o .zip y seleccionar la configuración VPC dentro del asistente. Después, Elastic Beanstalk crea el entorno dentro de la VPC e implementa la aplicación. Como alternativa, puede usar los AWS kits de herramientas AWS CLI, la CLI de EB o la API de Elastic Beanstalk para implementar la aplicación. Para ello, tiene que definir los valores de configuración de la VPC en un archivo de configuración e implementarlo con el paquete de código fuente. En este tema se ofrecen instrucciones para ambos métodos.

Implementación con la consola de Elastic Beanstalk

La consola de Elastic Beanstalk le guía en el proceso de creación de un nuevo entorno dentro de la VPC. Tiene que proporcionar un archivo .war (para aplicaciones Java) o un archivo .zip (para el resto de aplicaciones). En la página VPC Configuration (Configuración de VPC) del asistente de entorno de Elastic Beanstalk, debe hacer las selecciones siguientes:

VPC

Seleccione la VPC.

VPC security group (Grupo de seguridad de VPC)

Seleccione el grupo de seguridad de la instancia que ha creado antes.

ELB visibility (Visibilidad de ELB)

Seleccione External si el balanceador de carga debe estar disponible públicamente o seleccione Internal si el balanceador de carga solo debe estar disponible dentro de la VPC.

Seleccione las subredes para el balanceador de carga y las instancias. EC2 Asegúrate de seleccionar la subred pública para el balanceador de cargas y la subred privada para tus instancias de Amazon. EC2 De manera predeterminada, el asistente para la creación de VPC crea la subred pública en 10.0.0.0/24 y la subred privada en 10.0.1.0/24.

IDs Para ver la subred, seleccione Subnets en la consola de Amazon VPC.

Subred IDs para su VPC

Implementación con los AWS kits de herramientas, la CLI de EB o la API AWS CLI

Al implementar la aplicación en Elastic Beanstalk mediante los kits de herramientas, AWS la AWS CLI CLI de EB o la API, puede especificar la configuración de las opciones de VPC en un archivo e implementarla con el paquete de código fuente. Para obtener más información, consulta Personalización avanzada de entornos con archivos de configuración (.ebextensions).

Cuando actualice las opciones de configuración, tendrá que especificar lo siguiente:

  • VPCId—Contiene el ID de la VPC.

  • Subnets: contiene el ID de la subred del grupo de Auto Scaling. En este ejemplo, es el ID de la subred privada.

  • ELBSubnets—Contiene el ID de la subred del balanceador de cargas. En este ejemplo, es el ID de la subred pública.

  • SecurityGroups—Contiene el ID de los grupos de seguridad.

  • DBSubnets—Contiene el ID de las subredes de base de datos.

    nota

    Al utilizar subredes de base de datos, debe crear subredes adicionales en la VPC para cubrir todas las zonas de disponibilidad de la región. AWS

Si lo desea, también puede especificar los siguientes datos:

  • ELBScheme— Especifique internal la creación de un equilibrador de carga interno dentro de la VPC para que no se pueda acceder a la aplicación de Elastic Beanstalk desde fuera de la VPC.

A continuación, se incluye un ejemplo de la configuración que se utiliza al implementar la aplicación de Elastic Beanstalk en una VPC. Para obtener más información sobre la configuración de VPC (con ejemplos acerca de cómo definir las opciones, los valores predeterminados y los valores válidos), consulte el espacio de nombres aws:ec2:vpc en Opciones de configuración.

option_settings: - namespace: aws:autoscaling:launchconfiguration option_name: EC2KeyName value: ec2keypair - namespace: aws:ec2:vpc option_name: VPCId value: vpc-170647c - namespace: aws:ec2:vpc option_name: Subnets value: subnet-4f195024 - namespace: aws:ec2:vpc option_name: ELBSubnets value: subnet-fe064f95 - namespace: aws:ec2:vpc option_name: DBSubnets value: subnet-fg148g78 - namespace: aws:autoscaling:launchconfiguration option_name: InstanceType value: m1.small - namespace: aws:autoscaling:launchconfiguration option_name: SecurityGroups value: sg-7f1ef110
nota

Cuando utilice subredes de base de datos, asegúrese de tener subredes en la VPC para cubrir todas las zonas de disponibilidad de la región. AWS