Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sie können ein Peering mit einer Virtual Private Cloud (VPC) in einem anderen durchführen, AWS-Konto indem Sie AWS::EC2::VPCPeeringConnection. Dadurch wird eine Netzwerkverbindung zwischen zwei Personen hergestelltVPCs, sodass Sie den Verkehr zwischen ihnen weiterleiten können, sodass sie so kommunizieren können, als ob sie sich innerhalb desselben Netzwerks befänden. Eine VPC Peering-Verbindung kann dazu beitragen, den Datenzugriff und die Datenübertragung zu erleichtern.
Um eine VPC Peering-Verbindung herzustellen, müssen Sie zwei separate Verbindungen AWS-Konten innerhalb eines einzigen Stacks autorisieren. CloudFormation
Weitere Informationen zu VPC Peering und seinen Einschränkungen finden Sie im Amazon VPC Peering Guide.
Voraussetzungen
Führen Sie die folgenden Operationen durch, bevor Sie Ihr Gerät VPC mit einem anderen verbindenVPC. AWS-Konto
-
Sie benötigen eine VPC Peer-ID, eine AWS-Konto Peer-ID und eine kontoübergreifende Zugriffsrolle für die Peering-Verbindung.
Anmerkung
Diese Anleitung bezieht sich auf zwei Konten: Das erste Konto ist ein Konto, das kontenübergreifendes Peering zulässt (annehmendes Konto). Das zweite Konto ist das Konto, das die Peering-Verbindung anfordert (Auftraggeberkonto).
-
Um die VPC Peering-Verbindung zu akzeptieren, müssen Sie die kontoübergreifende Zugriffsrolle übernehmen. Die Ressource verhält sich genauso wie eine VPC Peering-Verbindungsressource im selben Konto. Informationen dazu, wie ein IAM Administrator Berechtigungen zur Übernahme der kontoübergreifenden Rolle erteilt, finden Sie im Benutzerleitfaden zum Erteilen von Benutzerberechtigungen zum IAM Rollenwechsel.
Schritt 1: Erstellen Sie eine VPC und eine kontoübergreifende Rolle
In diesem Schritt erstellen Sie die Rolle VPC und im Akzepterkonto.
Um eine VPC und eine kontoübergreifende Zugriffsrolle zu erstellen
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation
. -
Wählen Sie auf der Seite „Stacks“ oben rechts die Option „Stack erstellen“ und anschließend „Mit neuen Ressourcen (Standard)“ aus.
-
Wählen Sie unter Voraussetzung — Vorlage vorbereiten die Option Vorhandene Vorlage auswählen und anschließend Vorlagendatei hochladen, Datei auswählen aus.
-
Öffnen Sie einen Texteditor auf Ihrem lokalen Computer und fügen Sie eine der folgenden Vorlagen hinzu. Speichern Sie die Datei und kehren Sie zur Konsole zurück, um sie als Vorlagendatei auszuwählen.
Beispiel JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Create a VPC and an assumable role for cross account VPC peering.", "Parameters": { "PeerRequesterAccountId": { "Type": "String" } }, "Resources": { "vpc": { "Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "10.1.0.0/16", "EnableDnsSupport": false, "EnableDnsHostnames": false, "InstanceTenancy": "default" } }, "peerRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Principal": { "AWS": { "Ref": "PeerRequesterAccountId" } }, "Action": [ "sts:AssumeRole" ], "Effect": "Allow" } ] }, "Path": "/", "Policies": [ { "PolicyName": "root", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:AcceptVpcPeeringConnection", "Resource": "*" } ] } } ] } } }, "Outputs": { "VPCId": { "Value": { "Ref": "vpc" } }, "RoleARN": { "Value": { "Fn::GetAtt": [ "peerRole", "Arn" ] } } } }
Beispiel YAML
AWSTemplateFormatVersion: 2010-09-09 Description: Create a VPC and an assumable role for cross account VPC peering. Parameters: PeerRequesterAccountId: Type: String Resources: vpc: Type: 'AWS::EC2::VPC' Properties: CidrBlock: 10.1.0.0/16 EnableDnsSupport: false EnableDnsHostnames: false InstanceTenancy: default peerRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Statement: - Principal: AWS: !Ref PeerRequesterAccountId Action: - 'sts:AssumeRole' Effect: Allow Path: / Policies: - PolicyName: root PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: 'ec2:AcceptVpcPeeringConnection' Resource: '*' Outputs: VPCId: Value: !Ref vpc RoleARN: Value: !GetAtt - peerRole - Arn
-
Wählen Sie Weiter.
-
Geben Sie dem Stack einen Namen (z. B.
VPC-owner
) und geben Sie dann die AWS-Konto ID des Anfordererkontos in das PeerRequesterAccountIdFeld ein. -
Akzeptieren Sie die Standardwerte und wählen Sie dann Weiter aus.
-
Wählen Sie Ich bestätige, dass AWS CloudFormation möglicherweise IAM Ressourcen erstellt werden, und wählen Sie dann Stapel erstellen aus.
Schritt 2: Erstellen einer Vorlage, die AWS::EC2::VPCPeeringConnection
enthält
Nachdem Sie nun die Rolle VPC und die kontoübergreifende Rolle erstellt haben, können Sie eine andere Rolle AWS-Konto (das Konto des Anforderers) VPC verwenden, per Peering zugreifen.
Um eine Vorlage zu erstellen, die die Ressource AWS:::EC2: enthält VPCPeeringConnection
-
Kehren Sie zur Startseite der AWS CloudFormation Konsole zurück.
-
Wählen Sie auf der Seite „Stacks“ oben rechts die Option „Stack erstellen“ und anschließend „Mit neuen Ressourcen (Standard)“ aus.
-
Wählen Sie unter Voraussetzung — Vorlage vorbereiten die Option Vorhandene Vorlage auswählen und anschließend Vorlagendatei hochladen, Datei auswählen aus.
-
Öffnen Sie einen Texteditor auf Ihrem lokalen Computer und fügen Sie eine der folgenden Vorlagen hinzu. Speichern Sie die Datei und kehren Sie zur Konsole zurück, um sie als Vorlagendatei auszuwählen.
Beispiel JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Create a VPC and a VPC Peering connection using the PeerRole to accept.", "Parameters": { "PeerVPCAccountId": { "Type": "String" }, "PeerVPCId": { "Type": "String" }, "PeerRoleArn": { "Type": "String" } }, "Resources": { "vpc": { "Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "10.2.0.0/16", "EnableDnsSupport": false, "EnableDnsHostnames": false, "InstanceTenancy": "default" } }, "vpcPeeringConnection": { "Type": "AWS::EC2::VPCPeeringConnection", "Properties": { "VpcId": { "Ref": "vpc" }, "PeerVpcId": { "Ref": "PeerVPCId" }, "PeerOwnerId": { "Ref": "PeerVPCAccountId" }, "PeerRoleArn": { "Ref": "PeerRoleArn" } } } }, "Outputs": { "VPCId": { "Value": { "Ref": "vpc" } }, "VPCPeeringConnectionId": { "Value": { "Ref": "vpcPeeringConnection" } } } }
Beispiel YAML
AWSTemplateFormatVersion: 2010-09-09 Description: Create a VPC and a VPC Peering connection using the PeerRole to accept. Parameters: PeerVPCAccountId: Type: String PeerVPCId: Type: String PeerRoleArn: Type: String Resources: vpc: Type: 'AWS::EC2::VPC' Properties: CidrBlock: 10.2.0.0/16 EnableDnsSupport: false EnableDnsHostnames: false InstanceTenancy: default vpcPeeringConnection: Type: 'AWS::EC2::VPCPeeringConnection' Properties: VpcId: !Ref vpc PeerVpcId: !Ref PeerVPCId PeerOwnerId: !Ref PeerVPCAccountId PeerRoleArn: !Ref PeerRoleArn Outputs: VPCId: Value: !Ref vpc VPCPeeringConnectionId: Value: !Ref vpcPeeringConnection
-
Wählen Sie Weiter.
-
Geben Sie dem Stapel einen Namen (z. B.
VPC-peering-connection
). -
Akzeptieren Sie die Standardwerte und wählen Sie dann Weiter aus.
-
Wählen Sie Ich bestätige, dass AWS CloudFormation möglicherweise IAM Ressourcen erstellt werden, und wählen Sie dann Stapel erstellen aus.
Erstellen einer Vorlage mit einer stark einschränkenden Richtlinie
Möglicherweise möchten Sie eine sehr restriktive Richtlinie für den Peering-Austausch VPC mit anderen AWS-Konto erstellen.
Die folgende Beispielvorlage zeigt, wie Sie die VPC Peer-Owner-Vorlage (das in Schritt 1 oben erstellte Akzepterkonto) so ändern können, dass sie restriktiver ist.
Beispiel JSON
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Create a VPC and an assumable role for cross account VPC peering.",
"Parameters": {
"PeerRequesterAccountId": {
"Type": "String"
}
},
"Resources": {
"peerRole": {
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Action": [
"sts:AssumeRole"
],
"Effect": "Allow",
"Principal": {
"AWS": {
"Ref": "PeerRequesterAccountId"
}
}
}
]
},
"Path": "/",
"Policies": [
{
"PolicyDocument": {
"Statement": [
{
"Action": "ec2:acceptVpcPeeringConnection",
"Effect": "Allow",
"Resource": {
"Fn::Sub": "arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc/${vpc}"
}
},
{
"Action": "ec2:acceptVpcPeeringConnection",
"Condition": {
"StringEquals": {
"ec2:AccepterVpc": {
"Fn::Sub": "arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc/${vpc}"
}
}
},
"Effect": "Allow",
"Resource": {
"Fn::Sub": "arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc-peering-connection/*"
}
}
],
"Version": "2012-10-17"
},
"PolicyName": "root"
}
]
},
"Type": "AWS::IAM::Role"
},
"vpc": {
"Properties": {
"CidrBlock": "10.1.0.0/16",
"EnableDnsHostnames": false,
"EnableDnsSupport": false,
"InstanceTenancy": "default"
},
"Type": "AWS::EC2::VPC"
}
},
"Outputs": {
"RoleARN": {
"Value": {
"Fn::GetAtt": [
"peerRole",
"Arn"
]
}
},
"VPCId": {
"Value": {
"Ref": "vpc"
}
}
}
}
Beispiel YAML
AWSTemplateFormatVersion: 2010-09-09
Description: Create a VPC and an assumable role for cross account VPC peering.
Parameters:
PeerRequesterAccountId:
Type: String
Resources:
peerRole:
Properties:
AssumeRolePolicyDocument:
Statement:
- Action:
- 'sts:AssumeRole'
Effect: Allow
Principal:
AWS:
Ref: PeerRequesterAccountId
Path: /
Policies:
- PolicyDocument:
Statement:
- Action: 'ec2:acceptVpcPeeringConnection'
Effect: Allow
Resource:
'Fn::Sub': 'arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc/${vpc}'
- Action: 'ec2:acceptVpcPeeringConnection'
Condition:
StringEquals:
'ec2:AccepterVpc':
'Fn::Sub': 'arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc/${vpc}'
Effect: Allow
Resource:
'Fn::Sub': >-
arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc-peering-connection/*
Version: 2012-10-17
PolicyName: root
Type: 'AWS::IAM::Role'
vpc:
Properties:
CidrBlock: 10.1.0.0/16
EnableDnsHostnames: false
EnableDnsSupport: false
InstanceTenancy: default
Type: 'AWS::EC2::VPC'
Outputs:
RoleARN:
Value:
'Fn::GetAtt':
- peerRole
- Arn
VPCId:
Value:
Ref: vpc
Um auf die zuzugreifenVPC, können Sie dieselbe Vorlage für den Antragsteller wie in Schritt 2 oben verwenden.