VPC Peering, Einrichtung zwischen Regionen, hat mich wieder aufgehalten.
Umgebung:
- Requester: ap-northeast-3 (Osaka) / profile-requester
- Accepter: ap-northeast-1 (Tokio) / profile-accepter
Unterschiedlicher Account × unterschiedliche Region. Das nervige Pattern.
Was ich verbockt habe
create-vpc-peering-connection ausgeführt. Sah erfolgreich aus, pcx-xxxxx ID generiert. Versucht auf Accepter-Seite zu akzeptieren, NotFound Fehler.
An error occurred (InvalidVpcPeeringConnectionID.NotFound) when calling the AcceptVpcPeeringConnection operationID geprüft, war im failed Status. Versucht zu löschen, InvalidStateTransition.
An error occurred (InvalidStateTransition) when calling the DeleteVpcPeeringConnection operationÜbergang von failed zu deleting unmöglich. Steckengeblieben.
Ursache
—peer-region Spezifikation vergessen. Erforderlich für Cross-Region. Ohne das behandelt AWS es als Same-Region Peering, findet den Ziel-VPC nicht, geht sofort in failed.
Ressourcen im failed Status können nicht manuell gelöscht werden. AWS räumt automatisch nach einer Weile auf.
Korrekte Befehle
Erstellen auf Requester-Seite (Osaka):
aws ec2 create-vpc-peering-connection \ --region ap-northeast-3 \ --profile profile-requester \ --vpc-id vpc-requester-id \ --peer-vpc-id vpc-accepter-id \ --peer-owner-id 123456789012 \ --peer-region ap-northeast-1Akzeptieren auf Accepter-Seite (Tokio):
aws ec2 accept-vpc-peering-connection \ --region ap-northeast-1 \ --profile profile-accepter \ --vpc-peering-connection-id pcx-new-idNicht vergessen, die Region des Accepters beim Akzeptieren anzugeben.
Setup nach Verbindung
Auch im active Status fließt noch kein Traffic.
- Routetabellen beider VPCs: Peer-CIDR auf pcx zeigen
- Security Groups beider VPCs: Inbound vom Peer-CIDR erlauben
Cross-Region unterstützt keine Security Group Referenzen. Muss CIDR verwenden.
Lektion
—peer-region ist leicht zu vergessen. Wenn es in failed geht, einfach warten.
hsb.horse