Wie behebe ich den Fehler „VpcPeeringConnection failed to stabilize“ in AWS CloudFormation?
Ich erhalte in AWS CloudFormation die Fehlermeldung „VpcPeeringConnection failed to stabilize“, wenn ich versuche, eine Amazon Virtual Private Cloud (Amazon VPC)-Peering-Verbindung zwischen einer akzeptierenden VPC und einer Anforderer-VPC herzustellen.
Kurze Beschreibung
Sie können diesen Fehler aus den folgenden Gründen erhalten:
- Ihre AWS: :EC2::VPCPeeringConnection-Ressource wurde im Accepter-Konto erstellt.
- IPv4-CIDR-Bereiche überschneiden sich.
- Die PeerRoleArn-Eigenschaft 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.
Lösung
Wenn Ihre AWS::EC2::VPCPeeringConnection-Ressource im Accepter-Konto erstellt wurde
Erstellen Sie Ihren AWS CloudFormation-Stack mit der Ressource AWS::EC2::VPCPeeringConnection im Anfordererkonto, nicht im Accepter-Konto.
Wenn sich IPv4-CIDR-Bereiche überschneiden
Verwenden Sie verschiedene IPv4-CIDR-Blöcke für die VPCs in Ihrem Accepter-Konto und Anfordererkonto.
Wenn die PeerRoleArn-Eigenschaft nicht korrekt übergeben wird, wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen Konten erstellen
Wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen Konten erstellen, verwenden Sie die Eigenschaft PeerRoleArn, um Ihre kontenübergreifende IAM-Rolle von Ihrem Accepter-Konto in Ihrer AWS CloudFormation-Vorlage zu übergeben. 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'
Wenn die IAM-Rolle im Accepter-Konto nicht über die richtigen Berechtigungen verfügt
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" } ] }
Wenn die Eigenschaft PeerRegion nicht korrekt übergeben wird, wenn Sie eine VPC-Peering-Verbindung zwischen VPCs in verschiedenen AWS-Regionen erstellen
Wenn sich die VPCs in verschiedenen AWS-Regionen befinden, müssen Sie die PeerRegion in Ihre AWS CloudFormation-Vorlage aufnehmen. Geben Sie dann die AWS-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
Komplettlösung: Peer mit einer Amazon VPC in einem anderen AWS-Konto
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren