¿Cómo soluciono el error "No se pudo estabilizar la conexión de VpcPeeringConnection" en AWS CloudFormation?

3 minutos de lectura
0

Cuando intento crear una conexión de emparejamiento de Amazon Virtual Private Cloud (Amazon VPC) entre una VPC aceptadora y una VPC solicitante, aparece el error "No se pudo estabilizar la conexión de VpcPeeringConnection" en AWS CloudFormation.

Descripción breve

Puede recibir este error por los siguientes motivos:

  • Su recurso AWS::EC2::VPCPeeringConnection se creó en la cuenta del aceptador.
  • Los rangos CIDR de IPv4 se superponen.
  • La propiedad PeerRolearn no se transfiere correctamente al crear una conexión de emparejamiento de VPC entre VPC de diferentes cuentas.
  • El rol de AWS Identity and Access Management (IAM) de la cuenta aceptadora no tiene los permisos correctos.
  • La propiedad PeerRegion no se transfiere correctamente al crear una conexión de emparejamiento de VPC entre VPC de diferentes regiones de AWS.

Resolución

Si su recurso AWS::EC2::VPCPeeringConnection se creó en la cuenta del aceptador.

Cree su pila de AWS CloudFormation con el recurso AWS::EC2::VPCPeeringConnection en la cuenta del solicitante, no en la cuenta del aceptador.

Si los rangos CIDR de IPv4 se superponen.

Use diferentes bloques CIDR de IPv4 para las VPC de su cuenta de aceptador y de su cuenta de solicitante.

Si la propiedad PeerRoleArn no se transfiere correctamente al crear una conexión de emparejamiento de VPC entre VPC de diferentes cuentas.

Si va a crear una conexión de emparejamiento de VPC entre VPC de diferentes cuentas, use la propiedad PeerRoleArn para transferir su rol de IAM entre cuentas desde su cuenta de aceptador en su plantilla de AWS CloudFormation. Para obtener más información, consulte AWS::EC2::VPCPeeringConnection. Consulte los siguientes ejemplos de JSON y YAML:

JSON:

{
    "myVPCPeeringConnection": {
        "Type": "AWS::EC2::VPCPeeringConnection",
        "Properties": {
            ......
            "PeerRoleArn": "arn:aws:iam::Accepter-Account-ID:role/PeerRole"
        }
    }
}

YAML:

myVPCPeeringConnection:
  Type: 'AWS::EC2::VPCPeeringConnection'
  Properties:
    .......
    PeerRoleArn: 'arn:aws:iam::Accepter-Account-ID:role/PeerRole'

Si el rol de IAM de la cuenta aceptadora no tiene los permisos correctos.

Para permitir que el rol de IAM acepte una conexión de emparejamiento de VPC en la cuenta aceptadora, incluya los permisos siguientes:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "ec2:AcceptVpcPeeringConnection",
            "Resource": "arn:${Partition}:ec2:${Region}:${Account}:vpc-peering-connection/${VpcPeeringConnectionId}",
            "Effect": "Allow"
        }
    ]
}

Para permitir que la cuenta del solicitante asuma el rol de IAM, configure una relación de confianza para el rol de IAM. Por ejemplo:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::Requester-Account-ID:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Si la propiedad PeerRegion no se transfiere correctamente al crear una conexión de emparejamiento de VPC entre VPC de diferentes regiones de AWS.

Si las VPC se encuentran en diferentes regiones de AWS, debe incluir PeerRegion en su plantilla de AWS CloudFormation. A continuación, especifique la región de AWS en la que se encuentra la VPC de su cuenta aceptadora. Consulte los siguientes ejemplos de JSON y YAML:

JSON:

{
    "myVPCPeeringConnection": {
        "Type": "AWS::EC2::VPCPeeringConnection",
        "Properties": {
            ......
            "PeerRegion": Accepter-VPC-Region-Code
        }
    }
}

YAML:

myVPCPeeringConnection:
  Type: 'AWS::EC2::VPCPeeringConnection'
  Properties:
    ......
    PeerRegion: Accepter-VPC-Region-Code

Información relacionada

Tutorial: Emparejar con una VPC de Amazon en otra Cuenta de AWS

Crear una conexión de emparejamiento de VPC

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 años