Acceda de forma privada a un punto de conexión de servicio central de AWS desde varias VPC - Recomendaciones de AWS

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.

Acceda de forma privada a un punto de conexión de servicio central de AWS desde varias VPC

Creado por Martin Guenthner (AWS) y Samuel Gordon (AWS)

Repositorio de código: VPC Endpoint Sharing

Entorno: producción

Tecnologías: redes; infraestructura

Servicios de AWS: AWS RAM; Amazon Route 53; Amazon SNS; AWS Transit Gateway; Amazon VPC

Resumen

Los requisitos de seguridad y conformidad de su entorno pueden especificar que el tráfico a los servicios o puntos de conexión de Amazon Web Services (AWS) no debe atravesar la Internet pública. Este patrón es una solución diseñada para una hub-and-spoketopología en la que una VPC de hub central está conectada a varias VPC de radios distribuidos. En esta solución, utiliza AWS PrivateLink para crear un punto de enlace de VPC de interfaz para el servicio de AWS en la cuenta hub. A continuación, utiliza puertas de enlace y una regla de sistema de nombres de dominio (DNS) distribuido para resolver las solicitudes a la dirección IP privada del punto de conexión en todas las VPC conectadas.

Este patrón describe cómo usar AWS Transit Gateway, un punto de conexión entrante de Amazon Route 53 Resolver y una regla de reenvío de Route 53 compartida para resolver las consultas de DNS de los recursos de las VPC conectadas. El punto de conexión, la puerta de enlace, Resolver y la regla de reenvío se crean en la cuenta central. A continuación, debe utilizar AWS Resource Access Manager (AWS RAM) para compartir la puerta de enlace y la regla de reenvío con las VPC radiales. CloudFormation Las plantillas de AWS proporcionadas le ayudan a implementar y configurar los recursos en las VPC centrales y en las VPC radiales.

Requisitos previos y limitaciones

Requisitos previos 

Limitaciones

  • Este patrón conecta las cuentas centrales y radiales en la misma región de AWS. Para las implementaciones en varias regiones, debe repetir este patrón para cada región.

  • El servicio de AWS debe integrarse PrivateLink como punto final de la VPC como interfaz. Para obtener una lista completa, consulte los servicios de AWS que se integran con AWS PrivateLink (PrivateLink documentación).

  • No se garantiza la afinidad entre zonas de disponibilidad. Por ejemplo, las consultas de la zona de disponibilidad A pueden responder con una dirección IP de la zona de disponibilidad B.

  • La interfaz de red elástica asociada al punto final de la VPC tiene un límite de 10 000 consultas por segundo.

Arquitectura

Pila de tecnología de destino

  • Una VPC central en la cuenta de AWS central

  • Una o más VPC radiales en una cuenta de AWS radial

  • Uno o más puntos de conexión de interfaz de la VPC en la cuenta central

  • Resolvers de Route 53 entrantes y salientes en la cuenta central

  • Una regla de reenvío de Route 53 Resolver implementada en la cuenta central y compartida con la cuenta radial

  • Una puerta de enlace implementada en la cuenta central y compartida con la cuenta radial

  • AWS Transit Gateway que conecta las VPC centrales y radiales

Arquitectura de destino

En la siguiente imagen se muestra un ejemplo de arquitectura para esta solución. En esta arquitectura, la regla de reenvío del Route 53 Resolver de la cuenta central tiene la siguiente relación con los demás componentes de la arquitectura:

  1. La regla de reenvío se comparte con la VPC radial mediante la RAM de AWS.

  2. La regla de reenvío está asociada al Resolver saliente en la VPC central.

  3. La regla de reenvío se dirige al Resolver entrante en la VPC central.

Diagrama de arquitectura que muestra los recursos de las cuentas radial y central.

En la siguiente imagen se muestra el flujo de tráfico a través de la arquitectura de muestra:

  1. Un recurso, como una instancia de Amazon Elastic Compute Cloud (Amazon EC2), en la VPC radial, realiza una solicitud de DNS a <service>.<region>.amazonaws.com. La solicitud es recibida por la Amazon DNS Resolver radial.

  2. La regla de reenvío de Route 53, que se comparte desde la cuenta central y se asocia a la VPC radial, intercepta la solicitud.

  3. En la VPC central, el Resolver saliente usa la regla de reenvío para reenviar la solicitud al Resolver entrante.

  4. El Resolver entrante utiliza el Resolver de Amazon DNS de la VPC central para resolver la dirección IP de <service>.<region>.amazonaws.com para la dirección IP privada de un punto de conexión de VPC. Si no hay un punto de conexión de VPC, se resuelve en la dirección IP pública.

Flujo de tráfico desde un recurso de la VPC radial hasta un punto de conexión de servicio en la VPC central.

Herramientas

Herramientas y servicios de AWS

  • AWS le CloudFormation ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en todas las cuentas y regiones de AWS.

  • Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad de computación escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.

  • AWS Identity and Access Management (IAM) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.

  • AWS Resource Access Manager (AWS RAM) le ayuda a compartir sus recursos de forma segura entre las cuentas de AWS para reducir los gastos operativos y brindar visibilidad y auditabilidad.

  • Amazon Route 53 es un servicio web de sistema de nombres de dominio (DNS) escalable y de alta disponibilidad.

  • AWS Systems Manager le permite administrar las aplicaciones y la infraestructura que se ejecutan en la nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo requerido para detectar y resolver problemas operativos y ayuda a utilizar y administrar los recursos de AWS a escala de manera segura.

  • AWS Transit Gateway es un concentrador central que conecta las VPC y las redes en las instalaciones.

  • Amazon Virtual Private Cloud (Amazon VPC) le permite lanzar recursos de AWS en una red virtual que haya definido. Esta red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

Otras herramientas y servicios

  • nslookup es una herramienta de línea de comandos que se utiliza para consultar registros DNS. En este patrón, se utiliza esta herramienta para probar la solución.

Repositorio de código

El código de este patrón está disponible en GitHub, en el vpc-endpoint-sharingrepositorio. Este patrón proporciona dos CloudFormation plantillas de AWS:

  • Una plantilla para implementar los siguientes recursos en la cuenta central:

    • rSecurityGroupEndpoints: el grupo de seguridad que controla el acceso al punto de conexión de VPC.

    • rSecurityGroupResolvers: el grupo de seguridad que controla el acceso al Resolver de Route 53.

    • rKMSEndpoint, rSSMMessagesEndpoint, rSSMEndpoint y rEC2MessagesEndpoint: ejemplos de puntos de conexión de VPC de interfaz en la cuenta central. Personalice estos punto de conexión para su caso de uso.

    • rInboundResolver:un Resolver de Route 53 que resuelve las consultas de DNS en el Resolver de Amazon DNS central.

    • rOutboundResolver: un Resolver de Route 53 saliente que reenvía las consultas al Resolver entrante.

    • rAWSApiResolverRule: la regla de reenvío de Resolver de Route 53 que se comparte con todas las VPC radiales.

    • rRamShareAWSResolverRule: el recurso compartido de RAM de AWS que permite a las VPC radiales utilizar la regla de reenvío rAWSApiResolverRule.

    • *rVPC: la VPC central, utilizada para modelar los servicios compartidos.

    • *rSubnet1: una subred privada que se utiliza para alojar los recursos centrales.

    • *rRouteTable1: la tabla de enrutamiento de la VPC central.

    • *rRouteTableAssociation1: para la tabla de enrutamiento rRouteTable1 de la VPC central, la asociación de la subred privada.

    • *rRouteSpoke: la ruta desde la VPC central a la VPC radial.

    • *rTgw: la puerta de enlace que se comparte con todas las VPC radiales.

    • *rTgwAttach: la conexión que permite a la VPC central enrutar el tráfico a la puerta de enlace rTgw.

    • *rTgwShare: el recurso compartido de RAM de AWS que permite a las cuentas radiales utilizar la puerta de enlace rTgw.

  • Una plantilla para implementar los siguientes recursos en las cuentas centrales:

    • rAWSApiResolverRuleAssociation: una asociación que permite a la VPC radial utilizar la regla de reenvío compartido en la cuenta central.

    • *rVPC: la VPC radial.

    • *rSubnet1, rSubnet2, rSubnet3: una subred para cada zona de disponibilidad, que se utiliza para alojar los recursos privados radiales.

    • *rTgwAttach: la conexión que permite a la VPC central enrutar el tráfico a la puerta de enlace de tránsito rTgw.

    • *rRouteTable1: la tabla de enrutamiento de la VPC central.

    • *rRouteEndpoints: la ruta desde los recursos de la VPC radial hasta la puerta de enlace de tránsito.

    • *rRouteTableAssociation1/2/3: para la tabla de enrutamiento rRouteTable1 de la VPC central, las asociaciones de las subredes privadas.

    • *rInstanceRole: el rol de IAM utilizado para probar la solución.

    • *rInstancePolicy: la política de IAM utilizada para probar la solución.

    • *rInstanceSg: el grupo de seguridad utilizado para probar la solución.

    • *rInstanceProfile: el perfil de instancia de IAM utilizado para probar la solución.

    • *rInstance: una instancia EC2 preconfigurada para el acceso a través de AWS Systems Manager. Utilice esta instancia para probar la solución.

* Estos recursos son compatibles con la arquitectura de muestra y es posible que no sean necesarios al implementar este patrón en una zona de aterrizaje existente.

Epics

TareaDescripciónHabilidades requeridas

Clone el repositorio de código.

  1. En una interfaz de la línea de comandos, cambie el directorio de trabajo a la ubicación en la que desee almacenar los archivos de muestra.

  2. Escriba el siguiente comando:

    git clone https://github.com/aws-samples/vpc-endpoint-sharing.git
Administrador de redes, arquitecto de la nube

Modifique las plantillas.

  1. En el repositorio clonado, abra los archivos hub.yml y spoke.yml.

  2. Revise los recursos creados por estas plantillas y ajuste las plantillas según sea necesario para su entorno. Para obtener una lista completa, consulte la sección Repositorio de código en Herramientas. Si sus cuentas ya tienen algunos de estos recursos, elimínelos de la CloudFormation plantilla. Para obtener más información, consulte Trabajar con plantillas (CloudFormation documentación).

  3. Guarde y cierre los archivos hub.yml y spoke.yml.

Administrador de redes, arquitecto de la nube
TareaDescripciónHabilidades requeridas

Implementación de recursos centrales.

Con la plantilla hub.yml, crea una pila. CloudFormation Cuando se le indique, proporcione los valores de los parámetros de la plantilla.. Para obtener más información, consulte Creación de una pila (documentación)CloudFormation .

Arquitecto de la nube, administrador de redes

Implemente los recursos radiales.

Con la plantilla spoke.yml, cree una pila. CloudFormation Cuando se le indique, proporcione los valores de los parámetros de la plantilla.. Para obtener más información, consulte Creación de una pila (documentación). CloudFormation

Arquitecto de la nube, administrador de redes
TareaDescripciónHabilidades requeridas

Pruebe las consultas de DNS privadas en el servicio de AWS.

  1. Conéctese a la instancia EC2 rInstance mediante Session Manager, una funcionalidad de AWS Systems Manager. Para obtener más información, consulte Conexión a la instancia de Linux mediante Session Manager (documentación de Amazon EC2).

  2. En el caso de un servicio de AWS que tenga un punto de conexión de VPC en la cuenta central, utilice nslookup para confirmar que se devuelven las direcciones IP privadas del Resolver de Route 53 entrante.

    A continuación, se muestra un ejemplo de uso de nslookup para obtener acceso a un punto de conexión de Amazon Systems Manager.

    nslookup ssm.<region>.amazonaws.com
  3. En la Interfaz de la línea de comandos de AWS (CLI de AWS), introduzca un comando que pueda ayudarlo a confirmar que los cambios no afectaron a la funcionalidad del servicio. Para obtener una lista de los comandos, consulte Referencia de comandos de la CLI de AWS.

    Por ejemplo, el siguiente comando debería mostrar una lista de documentos de Amazon Systems Manager.

    aws ssm list-documents
Administrador de red

Pruebe las consultas de DNS públicas en un servicio de AWS.

  1. En el caso de un servicio de AWS que no tenga un punto de conexión de VPC en la cuenta central, utilice nslookup para confirmar que se devuelven las direcciones IP públicas. A continuación, se muestra un ejemplo de uso de nslookup para obtener acceso a un punto de conexión de Amazon Simple Notification Service (Amazon SNS).

    nslookup sns.<region>.amazonaws.com
  2. En la CLI de AWS, introduzca un comando que pueda ayudarlo a confirmar que los cambios no afectaron a la funcionalidad del servicio. Para obtener una lista de los comandos, consulte Referencia de comandos de la CLI de AWS.

    Por ejemplo, si hay algún tema de Amazon SNS en la cuenta central, el siguiente comando debería devolver una lista de temas.

    aws sns list-topics
Administrador de red

Recursos relacionados