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