Saltar al contenido

¿Cómo creo una conexión de Amazon VPC en Transit Gateway para una puerta de enlace de tránsito que está en otra cuenta?

7 minutos de lectura
0

Quiero crear una conexión de Amazon Virtual Private Cloud (Amazon VPC) en AWS Transit Gateway para una puerta de enlace de tránsito que se encuentra en otra cuenta de AWS.

Descripción breve

Para conectar una VPC a una puerta de enlace de tránsito que se encuentra en otra cuenta, utiliza AWS Resource Access Manager (AWS RAM) para compartir la puerta de enlace de tránsito con la cuenta que posee la VPC.

En la siguiente resolución, la cuenta que posee la pasarela de tránsito es la cuenta de origen y la cuenta que posee la VPC es la cuenta de destino. Una vez que la cuenta de destino acepte el recurso compartido, crea una vinculación de VPC para conectar tu VPC a la puerta de enlace de tránsito compartida de la cuenta de origen.

Puedes usar la consola de administración de AWS o la interfaz de la línea de comandos de AWS (AWS CLI) para seguir los siguientes pasos.

Nota: Si se muestran errores al poner en marcha comandos de AWS CLI, consulta Solución de errores de la AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Resolución

Requisito previo: Antes de crear una vinculación de VPC a una puerta de enlace de tránsito, comprueba que el usuario o el rol de AWS Identity and Access Management (IAM) de la cuenta de destino tenga permiso para crear roles vinculados a servicios. AWS crea automáticamente el rol vinculado al servicio ** AWSServiceRoleForVPCTransitGateway** durante la creación de la vinculación de la VPC. Este rol permite a Transit Gateway crear y administrar interfaces de red elásticas en las subredes de la VPC y configurar el enrutamiento necesario para la vinculación.

Para comprobar que tienes los permisos necesarios, confirma que tu política de IAM incluye la siguiente declaración:

{
  "Effect": "Allow",
  "Action": "iam:CreateServiceLinkedRole",
  "Resource": "arn:aws:iam::*:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForTransitGateway*"

Si el usuario o el rol de IAM no tienen permiso para crear un rol vinculado a un servicio, recibirás el error "Access Denied".

Compartir la puerta de enlace de tránsito con la cuenta de destino

Consola de AWS RAM

Sigue estos pasos:

  1. En la cuenta de origen, abre la consola de AWS RAM.
  2. En la lista desplegable de la región de AWS, selecciona la región de tu puerta de enlace de tránsito.
  3. SeleccionaCrear un recurso compartido.
  4. Introduce la siguiente información:
    En Nombre, proporciona un nombre para el recurso compartido.
    En Seleccionar tipo de recurso, selecciona Puerta de enlace de tránsito y, a continuación, selecciona tu ID de pasarela de tránsito.
  5. Selecciona Siguiente.
  6. Selecciona un permiso administrado para asociarlo a la pasarela de enlace de tránsito.
  7. Selecciona Siguiente.
  8. Selecciona Conceder acceso a entidades principales y, a continuación, introduce la siguiente información:
    En Entidades principales, introduce el ID de cuenta de la cuenta de destino o un ID de organización para una cuenta que esté en AWS Organizations.
    Si la cuenta no está en una organización, selecciona Permitir uso compartido con cualquier persona.
    Si la cuenta está en una organización, selecciona Permitir el uso compartido solo dentro de su organización.
    Nota: Para usar el ID de la organización como tipo de entidad principal, activa el acceso de confianza. Para actualizar las entidades principales después de crear el recurso compartido, selecciona el recurso compartido y, a continuación, selecciona Modificar.
  9. Selecciona Crear un recurso compartido.

AWS CLI

Nota: En los siguientes comandos, sustituye los parámetros del ejemplo por los valores siguientes:

  • Para TGWSHARE, proporciona un nombre para el recurso compartido.
  • Para 222222222222, sustitúyelo por el ID de la cuenta de destino.
  • Para resource-arns, proporciona el nombre de recurso de Amazon (ARN) de la puerta de enlace de tránsito de la cuenta de origen.
  • Para principals organizations, proporciona el ARN de la organización.
  • Para resource-share-arn, proporciona el ARN del recurso compartido existente que deseas modificar.

Para crear un recurso compartido con cuentas que no están en una organización, ejecuta el siguiente comando create-resource-share:

aws ram create-resource-share \
    --name TGWSHARE \
    --resource-arns arn:aws:ec2:region:123456789012:transit-gateway/tgw-1234567890abcdef0 \
    --principals 222222222222 \
    --allow-external-principals

Para crear un recurso compartido que permita el acceso solo a las cuentas de tu organización, ejecuta el siguiente comando create-resource-share:

aws ram create-resource-share \
    --name TGWSHARE \
    --resource-arns arn:aws:ec2:region:123456789012:transit-gateway/tgw-1234567890abcdef0 \
    --principals organizations::123456789012:organization/o-exampleorgid \
    --no-allow-external-principals

Para modificar un recurso compartido existente, ejecuta el siguiente comandoupdate-resource-share:

aws ram update-resource-share \
    --allow-external-principals \
    --resource-share-arn arn:aws:ram:us-west-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE

Para obtener más información, consulta Crear un recurso compartido en AWS RAM.

Aceptar el recurso compartido de la puerta de enlace de tránsito en la cuenta de destino

Consola de AWS RAM

Para obtener instrucciones, consulta Accept an AWS Transit Gateway resource share using the AWS Resource Access Manager console (Aceptar un recurso compartido de AWS Transit Gateway mediante la consola de AWS Resource Access Manager).

Utiliza la consola de Amazon VPC para comprobar que la puerta de enlace de tránsito compartida aparezca en la cuenta de destino.

AWS CLI

Sigue estos pasos:

  1. Ejecuta el siguiente comando get-resource-share-invites para ver las invitaciones pendientes para compartir recursos:

    aws ram get-resource-share-invitations
  2. Copia resourceShareInvitationArn de la salida.

  3. Ejecuta el siguiente comando accept-resource-share-invitation para aceptar la invitación:

    aws ram accept-resource-share-invitation \
        --resource-share-invitation-arn arn:aws:ram:us-west-2:111111111111:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE

    Nota: Sustituye resource-share-invitation-arn por el ARN de la invitación.

Ejecuta el siguiente comando describe-transit-gateways para verificar que la puerta de enlace de tránsito compartida aparezca en la cuenta de destino:

aws ec2 describe-transit-gateways

Crear la vinculación de la VPC en la cuenta de destino

Consola de Amazon VPC

Para obtener instrucciones, consulta Crear una vinculación de VPC en AWS Transit Gateway.

AWS CLI

Ejecutar el siguiente comando create-transit-gateway-vpc-attachment:

aws ec2 create-transit-gateway-vpc-attachment \
    --transit-gateway-id SHARED-TRANSIT-GATEWAY-ID \
    --vpc-id DESTINATION-VPC-ID \
    --subnet-ids SUBNET-A SUBNET-B \
    --options DnsSupport=enable,Ipv6Support=disable

Nota: Sustituye SHARED-TRANSIT-GATEWAY-ID por el ID de la puerta de enlace de tránsito compartida y DESTINATION-VPC-ID por el ID de la VPC de destino. Sustituye SUBNET-A y SUBNET-B por los ID de subred. Especifica solo una subred para cada zona de disponibilidad. Para mejorar la disponibilidad, se recomienda especificar una subred en dos zonas de disponibilidad. La puerta de enlace de tránsito usa una dirección IP de cada subred especificada.

Una vez hayas creado la vinculación de la VPC, comprueba el estado. Si has activado la opción Acepte automáticamente las conexiones compartidas, la puerta de enlace de tránsito acepta automáticamente la conexión. Si no has activado Acepte automáticamente las conexiones compartidas durante la creación de la puerta de enlace de tránsito, el estado mostrará Aceptación pendiente. Para aceptar la vinculación de la VPC de la cuenta de origen, consulta la siguiente sección ** Aceptar la conexión de la VPC en la cuenta de origen**.

Aceptar la vinculación de la VPC en la cuenta de origen

Consola de Amazon VPC

En la cuenta de origen, acepta una vinculación compartida.

AWS CLI

Alternativamente, ejecuta el siguiente comando describe-transit-gateway-attachments de AWS CLI para ver las vinculaciones pendingAcceptance:

aws ec2 describe-transit-gateway-attachments \
    --filters Name=state,Values=pendingAcceptance

A continuación, ejecuta el siguiente comando accept-transit-gateway-vpc-attachment para aceptar la vinculación de la VPC:

aws ec2 accept-transit-gateway-vpc-attachment \
    --transit-gateway-attachment-ids TGW-ATTACH-1122

Nota: Usa el ID de conexión de puerta de enlace de tránsito que aparece en el resultado del comando. A continuación, sustituye TGW-ATTACH-1122 por el ID de la vinculación de la VPC.

Información relacionada

Archivos adjuntos de Amazon VPC en AWS Transit Gateway

Cómo AWS RAM funciona con IAM

Pasarelas de tránsito en AWS Transit Gateway

¿Qué es AWS Transit Gateway para Amazon VPC?

OFICIAL DE AWSActualizada hace 5 meses