Wie behebe ich den Fehler „VpcPeeringConnection failed to stabilize“ in CloudFormation?

Lesedauer: 3 Minute
0

Ich erhalte in AWS CloudFormation die Fehlermeldung „VpcPeeringConnection failed to stabilize“, wenn ich versuche, eine Amazon Virtual Private Cloud (Amazon VPC)-Peering-Verbindung herzustellen.

Kurzbeschreibung

Sie können den Fehler „VpcPeeringConnection failed to stabilize“ aus den folgenden Gründen erhalten:

  • Ihre Ressource AWS::EC2::VPCPeeringConnection wurde im Accepter-Konto erstellt.
  • IPv4-CIDR-Bereiche überschneiden sich.
  • Die Eigenschaft PeerRoleArn wird nicht korrekt übergeben, wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen Konten erstellen.
  • Die AWS Identity and Access Management (IAM)-Rolle im Accepter-Konto verfügt nicht über die richtigen Berechtigungen.
  • Die Eigenschaft PeerRegion wird nicht korrekt übergeben, wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen AWS-Regionen erstellen.

Behebung

Ressource AWS::EC2::VPCPeeringConnection wurde im Accepter-Konto erstellt

Erstellen Sie Ihren CloudFormation-Stack mit der Ressource AWS::EC2::VPCPeeringConnection im Anfordererkonto, nicht im Accepter-Konto.

IPv4-CIDR-Bereiche überschneiden sich

Verwenden Sie verschiedene IPv4-CIDR-Blöcke für die VPCs in Ihrem Accepter-Konto und Anfordererkonto.

Die Eigenschaft PeerRoleArn wird nicht korrekt übergeben, wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen Konten erstellen

Wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen Konten herstellen, verwenden Sie die Eigenschaft PeerRoleArn. Diese Eigenschaft übergibt Ihre kontoübergreifende IAM-Rolle von Ihrem Accepter-Konto an Ihrer CloudFormation-Vorlage. Weitere Informationen finden Sie unter AWS::EC2::VPCPeeringConnection.

Sehen Sie sich die folgenden JSON- und YAML-Beispiele an.

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'

Die IAM-Rolle im Accepter-Konto verfügt nicht über die richtigen Berechtigungen

Damit die IAM-Rolle eine VPC-Peering-Verbindung im Accepter-Konto akzeptieren kann, fügen Sie die folgenden Berechtigungen hinzu:

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

Damit das Anfordererkonto die IAM-Rolle übernehmen kann, konfigurieren Sie eine Vertrauensbeziehung für die IAM-Rolle. Zum Beispiel:

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

Die Eigenschaft PeerRegion nicht korrekt übergeben, wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen Regionen erstellen

Wenn sich die VPCs in verschiedenen Regionen befinden, müssen Sie PeerRegion in Ihre CloudFormation-Vorlage aufnehmen. Geben Sie dann die Region an, in der sich Ihre Accepter-Konto-VPC befindet.

Sehen Sie sich die folgenden JSON- und YAML-Beispiele an.

JSON:

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

YAML:

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

Ähnliche Informationen

Anleitung: Peering mit einer VPC in einem anderen AWS-Konto

Erstellen Sie eine VPC-Peering-Verbindung

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 6 Monaten