Habilitar el acceso a la VPC para el tráfico saliente - AWS App Runner

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.

Habilitar el acceso a la VPC para el tráfico saliente

De forma predeterminada, su AWS App Runner aplicación puede enviar mensajes a puntos finales públicos. Esto incluye sus propias soluciones y cualquier otro sitio web o servicio web público. Servicios de AWS Su aplicación puede incluso enviar mensajes a puntos finales públicos de aplicaciones que se ejecutan en una VPC desde Amazon Virtual Private Cloud (Amazon VPC). Si no configura una VPC al lanzar el entorno, App Runner usa la VPC predeterminada, que es pública.

Puede elegir lanzar su entorno en una VPC personalizada para personalizar la configuración de red y seguridad del tráfico saliente. Puede habilitar su AWS App Runner servicio para acceder a las aplicaciones que se ejecutan en una VPC privada desde Amazon Virtual Private Cloud (Amazon VPC). Una vez hecho esto, la aplicación podrá conectarse y enviar mensajes a otras aplicaciones alojadas en una Amazon Virtual Private Cloud (Amazon VPC). Algunos ejemplos son una base de datos de Amazon RDS ElastiCache, Amazon y otros servicios privados que están alojados en una VPC privada.

Conector VPC

Para asociar el servicio a una VPC, cree un punto final de VPC desde la consola de App Runner, denominado VPC Connector. Para crear un conector de VPC, especifique la VPC, una o más subredes y, de forma opcional, uno o más grupos de seguridad. Después de configurar un conector de VPC, puede usarlo con uno o más servicios de App Runner.

Latencia única

Si configuras el servicio App Runner con un conector de VPC personalizado para el tráfico saliente, es posible que experimente una latencia de inicio única de dos a cinco minutos. El proceso de inicio espera hasta que el conector de VPC esté listo para conectarse a otros recursos antes de establecer el estado del servicio en En ejecución. Puede configurar un servicio con un conector de VPC personalizado al crearlo por primera vez, o puede hacerlo posteriormente mediante una actualización del servicio.

Tenga en cuenta que si reutiliza la misma configuración de conector de VPC para otro servicio, no habrá latencia. La configuración del conector de VPC se basa en la combinación de subred y grupo de seguridad. Para una configuración de conector de VPC determinada, la latencia solo se produce una vez, durante la creación inicial del conector de VPC Hyperplane ENI (interfaces de red elásticas).

Más información sobre los conectores VPC personalizados y Hyperplane AWS

Los conectores de VPC de App Runner se basan en AWS Hyperplane, el sistema de red interno de Amazon que está detrás de varios AWS recursos, como Network Load Balancer, NAT Gateway y AWS. PrivateLink La tecnología AWS Hyperplane ofrece capacidades de alto rendimiento y baja latencia, además de un mayor grado de intercambio. Se crea un ENI de Hyperplane en las subredes al crear un conector de VPC y asociarlo a su servicio. La configuración de un conector de VPC se basa en una combinación de grupo de seguridad y subred, y puedes hacer referencia al mismo conector de VPC en varios servicios de App Runner. Como resultado, los ENI de Hyperplane subyacentes se comparten entre los servicios de App Runner. Este uso compartido es posible, incluso a medida que se amplía la cantidad de tareas necesarias para gestionar la carga de solicitudes, y se traduce en una utilización más eficiente del espacio IP de la VPC. Para obtener más información, consulte Análisis detallado sobre las redes de VPC de AWS App Runner en el blog sobre contenedores de AWS.

Subred

Cada subred se encuentra en una zona de disponibilidad específica. Para una alta disponibilidad, le recomendamos que seleccione subredes en al menos tres zonas de disponibilidad. Si la región tiene menos de tres zonas de disponibilidad, le recomendamos que seleccione sus subredes en todas las zonas de disponibilidad compatibles.

Al seleccionar una subred para su VPC, asegúrese de elegir una subred privada, no una subred pública. Esto se debe a que, al crear un conector de VPC, el servicio App Runner crea una ENI de Hyperplane en cada una de las subredes. A cada ENI de Hyperplane se le asigna solo una dirección IP privada y se etiqueta con una etiqueta de la clave. AWSAppRunnerManaged Si eliges una subred pública, se producirán errores al ejecutar el servicio App Runner. Sin embargo, si su servicio necesita acceder a algunos servicios que están en Internet o a otros públicos Servicios de AWS, consulteConsideraciones a la hora de seleccionar una subred .

Consideraciones a la hora de seleccionar una subred

  • Cuando conectas tu servicio a una VPC, el tráfico saliente no tiene acceso a la Internet pública. Todo el tráfico saliente de la aplicación se dirige a través de la VPC a la que está conectado el servicio. Todas las reglas de red de la VPC se aplican al tráfico saliente de la aplicación. Esto significa que sus servicios no pueden acceder a la Internet pública ni a las API. AWS Para acceder, realiza una de las siguientes acciones:

    • Conecte las subredes a Internet a través de una puerta de enlace NAT.

    • Configure los puntos finales de VPC para los Servicios de AWS que desee acceder. Su servicio permanece dentro de la Amazon VPC mediante el uso de. AWS PrivateLink

  • En algunas zonas de disponibilidad, algunas Regiones de AWS no son compatibles con las subredes que se pueden usar con los servicios de App Runner. Si eliges subredes en estas zonas de disponibilidad, tu servicio no se podrá crear ni actualizar. En estas situaciones, App Runner proporciona un mensaje de error detallado que indica las subredes y zonas de disponibilidad no compatibles. Cuando esto ocurra, solucione el problema eliminando las subredes no compatibles de su solicitud e inténtelo de nuevo.

Grupo de seguridad

Si lo desea, puede especificar los grupos de seguridad a los que App Runner puede acceder en las subredes AWS especificadas. Si no especificas grupos de seguridad, App Runner usa el grupo de seguridad predeterminado de la VPC. El grupo de seguridad predeterminado permite todo el tráfico de salida.

Al agregar un grupo de seguridad, se proporciona una capa de seguridad adicional a los conectores VCP, lo que le permite tener más control sobre el tráfico de la red. El conector de VPC solo se usa para la comunicación saliente desde su aplicación. Las reglas de salida se utilizan para permitir la comunicación con los puntos finales de destino deseados. También debe asegurarse de que todos los grupos de seguridad que estén asociados al recurso de destino cuenten con las reglas de entrada adecuadas. De lo contrario, estos recursos no pueden aceptar el tráfico que proviene de los grupos de seguridad del conector de VPC.

nota

Cuando asocias tu servicio a una VPC, el siguiente tráfico no se ve afectado:

  • Tráfico entrante: los mensajes entrantes que recibe la aplicación no se ven afectados por una VPC asociada. Los mensajes se enrutan a través del nombre de dominio público asociado a tu servicio y no interactúan con la VPC.

  • Tráfico de App Runner: App Runner gestiona varias acciones en tu nombre, como extraer el código fuente y las imágenes, enviar registros y recuperar información confidencial. El tráfico que generan estas acciones no se enruta a través de la VPC.

Para obtener más información sobre cómo AWS App Runner se integra con Amazon VPC, consulte Redes de VPC de AWS App Runner.

nota

Para el tráfico saliente, App Runner actualmente solo admite IPv4.

Administrar el acceso a la VPC

nota

Si crea un conector de VPC de tráfico saliente para un servicio, el proceso de inicio del servicio que sigue experimentará una latencia única. Puedes establecer esta configuración para un servicio nuevo al crearlo o, posteriormente, con una actualización del servicio. Para obtener más información, consulte Latencia única el capítulo Redes con App Runner de esta guía.

Administre el acceso a la VPC para sus servicios de App Runner mediante uno de los siguientes métodos:

App Runner console

Al crear un servicio mediante la consola de App Runner o al actualizar su configuración más adelante, puede optar por configurar el tráfico saliente. Busca la sección de configuración de redes en la página de la consola. Para el tráfico de red saliente, elija una de las siguientes opciones:

  • Acceso público: para asociar su servicio a puntos finales públicos u otros Servicios de AWS.

  • VPC personalizada: para asociar su servicio a una VPC de Amazon VPC. Su aplicación puede conectarse y enviar mensajes a otras aplicaciones alojadas en una Amazon VPC.

Para habilitar la VPC personalizada
  1. Abre la consola de App Runner y, en la lista de regiones, selecciona la tuya Región de AWS.

  2. Vaya a la sección Redes en Configurar el servicio.

    Página de configuración de la consola de App Runner que muestra las opciones de red
  3. Elija VPC personalizada para el tráfico de red saliente.

  4. En el panel de navegación, elija el conector VPC.

    Si creó los conectores de VPC, la consola mostrará una lista de los conectores de VPC de su cuenta. Puede elegir un conector de VPC existente y elegir Siguiente para revisar la configuración. A continuación, vaya al último paso. Como alternativa, puede añadir un nuevo conector de VPC mediante los siguientes pasos.

  5. Elija Añadir nuevo para crear un nuevo conector de VPC para su servicio.

    A continuación, se abre el cuadro de diálogo Añadir nuevo conector de VPC.

    La consola de App Runner muestra el cuadro de diálogo Agregar nuevo conector de VPC
  6. Introduzca un nombre para el conector de VPC y seleccione la VPC necesaria de la lista disponible.

  7. En el caso de las subredes, seleccione una subred para cada zona de disponibilidad desde la que vaya a acceder al servicio App Runner. Para obtener una mejor disponibilidad, elija tres subredes. O bien, si hay menos de tres subredes, elija todas las subredes disponibles.

    nota

    Asegúrese de asignar subredes privadas al conector de VPC. Si asigna subredes públicas al conector de VPC, su servicio no se crea o se revierte automáticamente durante una actualización.

  8. (Opcional) En el grupo de seguridad, selecciona los grupos de seguridad que deseas asociar a las interfaces de red de puntos finales.

  9. (Opcional) Para agregar una etiqueta, elija Agregar etiqueta nueva e ingrese la clave y el valor de la etiqueta.

  10. Elija Añadir.

    Los detalles del conector de VPC que ha creado aparecen en Conector de VPC.

  11. Seleccione Siguiente para revisar la configuración y, a continuación, elija Crear e implementar.

    App Runner crea un recurso de conector de VPC para usted y, a continuación, lo asocia a su servicio. Si el servicio se ha creado correctamente, la consola muestra el panel de control del servicio, con una descripción general del nuevo servicio.

App Runner API or AWS CLI

Cuando llames a las acciones de la API CreateServiceo de UpdateServiceApp Runner, usa el EgressConfiguration miembro del NetworkConfiguration parámetro para especificar un recurso de conector de VPC para tu servicio.

Use las siguientes acciones de la API de App Runner para administrar los recursos del conector de VPC.

  • CreateVpcConnector— Crea un nuevo conector de VPC.

  • ListVpcConnectors— Devuelve una lista de los conectores de VPC que están asociados a su. Cuenta de AWS La lista incluye descripciones completas.

  • DescribeVpcConnector— Devuelve una descripción completa de un conector de VPC.

  • DeleteVpcConnector— Elimina un conector de VPC. Si alcanza la cuota de conectores de VPC para usted Cuenta de AWS, es posible que tenga que eliminar los conectores de VPC innecesarios.

Para implementar una aplicación en App Runner que tenga acceso saliente a una VPC, primero debe crear un conector de VPC. Para ello, especifique una o más subredes y grupos de seguridad para asociarlos a la aplicación. A continuación, puede hacer referencia al conector de VPC en la CLI Create o UpdateServicea través de ella, como se muestra en el siguiente ejemplo:

cat > vpc-connector.json <<EOF { "VpcConnectorName": "my-vpc-connector", "Subnets": [ "subnet-a", "subnet-b", "subnet-c" ], "SecurityGroups": [ "sg-1", "sg-2" ] } EOF aws apprunner create-vpc-connector \ --cli-input-json file:///vpc-connector.json cat > service.json <<EOF { "ServiceName": "my-vpc-connected-service", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "<ecr-image-identifier> ", "ImageConfiguration": { "Port": "8000" }, "ImageRepositoryType": "ECR" } }, "NetworkConfiguration": { "EgressConfiguration": { "EgressType": "VPC", "VpcConnectorArn": "arn:aws:apprunner:..../my-vpc-connector" } } } EOF aws apprunner create-service \ --cli-input-json file:///service.js