AWS PrivateLink für DynamoDB - Amazon-DynamoDB

AWS PrivateLink für DynamoDB

Mit AWS PrivateLink für DynamoDB können Sie Amazon-VPC-Schnittstellenendpunkte (Schnittstellenendpunkte) in Ihrer Virtual Private Cloud (Amazon VPC) bereitstellen. Diese Endpunkte sind direkt von Anwendungen aus zugänglich, die über VPN und Direct Connect On-Premises oder in einer anderen AWS-Region über Amazon-VPC-Peering verfügbar sind. Mit AWS PrivateLink und Schnittstellenendpunkten können Sie die private Netzwerkkonnektivität zwischen Ihren Anwendungen und DynamoDB vereinfachen.

Anwendungen in Ihrer VPC benötigen keine öffentlichen IP-Adressen, um mit DynamoDB über VPC-Schnittstellenendpunkte für DynamoDB-Operationen zu kommunizieren. Schnittstellenendpunkte werden durch eine oder mehrere Elastic-Network-Schnittstellen (ENIs) repräsentiert, denen private IP-Adressen aus Subnetzen in Ihrer Amazon VPC zugewiesen werden. Anforderungen an DynamoDB über Schnittstellenendpunkte bleiben im Amazon-Netzwerk. Sie können auch von On-Premises-Anwendungen in Ihrer Amazon VPC über AWS Direct Connect oder AWS Virtual Private Network (Site-to-Site VPN) auf Schnittstellenendpunkte zugreifen. Weitere Informationen darüber, wie Sie Ihre Amazon VPC mit Ihrem On-Premises-Netzwerk verbinden, finden Sie im Direct Connect-Benutzerhandbuch und im AWS Site-to-Site VPN-Benutzerhandbuch.

Allgemeine Informationen zu Schnittstellenendpunkten finden Sie unter Amazon-VPC-Schnittstellenendpunkte (AWS PrivateLink) im AWS PrivateLink-Handbuch. AWS PrivateLink wird auch für Endpunkte von Amazon DynamoDB Streams unterstützt. Weitere Informationen finden Sie unter AWS PrivateLink für DynamoDB Streams.

Arten von Amazon-VPC-Endpunkten für Amazon DynamoDB

Sie können zwei Arten von Amazon-VPC-Endpunkten für den Zugriff auf Amazon DynamoDB verwenden: Gateway-Endpunkte und Schnittstellenendpunkte (unter Verwendung von AWS PrivateLink). Ein Gateway-Endpunkt ist ein Gateway, das Sie in Ihrer Routing-Tabelle angeben, um von Ihrer Amazon VPC über das AWS-Netzwerk auf DynamoDB zuzugreifen. Schnittstellenendpunkte erweitern die Funktionalität von Gateway-Endpunkten, indem sie private IP-Adressen verwenden, um Anforderungen von Ihrer Amazon VPC, On-Premises oder von einer Amazon VPC in einer anderen AWS-Region mithilfe von Amazon-VPC-Peering oder AWS Transit Gateway an DynamoDB weiterzuleiten. Weitere Informationen finden Sie unter Was ist Amazon-VPC Peering? und Vergleich zwischen Transit-Gateway und Amazon-VPC-Peering.

Schnittstellenendpunkte sind mit Gateway-Endpunkten kompatibel. Wenn Sie einen vorhandenen Gateway-Endpunkt in der Amazon VPC haben, können Sie beide Arten von Endpunkten in derselben Amazon VPC verwenden.

Gateway-Endpunkte für DynamoDB

Schnittstellenendpunkte für DynamoDB

In beiden Fällen verbleibt Ihr Netzwerkverkehr im AWS-Netzwerk.

Verwenden von öffentlichen IP-Adressen in Amazon DynamoDB

Verwenden von privaten IP-Adressen aus Ihrer Amazon VPC für den Zugriff auf Amazon DynamoDB

Erlauben keinen On-Premises-Zugriff

Erlaubt On-Premises-Zugriff

Erlauben keinen Zugriff von einer anderen AWS-Region aus

Erlauben Zugriff von einem Amazon-VPC-Endpunkt in einer anderen AWS-Region mit VPC-Peering oder AWS Transit Gateway

Nicht berechnet

Berechnet

Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-Endpunkte in der Amazon VPC im AWS PrivateLink-Handbuch.

Überlegungen zu Amazon VPC gelten AWS PrivateLink für Amazon DynamoDB. Weitere Informationen finden Sie unter Überlegungen zu Schnittstellenendpunkten und AWS PrivateLink-Kontingente im Handbuch zu AWS PrivateLink. Darüber hinaus gelten die folgenden Einschränkungen.

AWS PrivateLink für Amazon DynamoDB unterstützt Folgendes nicht:

  • Transport Layer Security (TLS) 1.1

  • Private und Hybrid Domain Name System (DNS)-Services

Sie können für jeden von Ihnen aktivierten AWS PrivateLink-Endpunkt bis zu 50 000 Anforderungen pro Sekunde einreichen.

Anmerkung

Timeouts der Netzwerkkonnektivität zu AWS PrivateLink-Endpunkten fallen nicht in den Bereich der DynamoDB-Fehlerantworten und müssen von Ihren Anwendungen, die eine Verbindung zu den PrivateLink-Endpunkten herstellen, angemessen behandelt werden.

Erstellen eines Amazon VPC-Endpunkts

Informationen zum Erstellen eines Amazon-VPC-Schnittstellenendpunkts finden Sie unter Erstellen eines Amazon-VPC-Endpunkts im AWS PrivateLink-Handbuch.

Zugreifen auf Schnittstellenendpunkte in Amazon DynamoDB

Wenn Sie einen Schnittstellenendpunkt erstellen, generiert Amazon DynamoDB zwei Arten von endpunktspezifischen DynamoDB-DNS-Namen: regional und zonengebunden.

  • Ein regionaler DNS-Name enthält eine eindeutige ID für den Amazon-VPC-Endpunkt, eine Servicekennung, die AWS-Region und vpce.amazonaws.com in seinem Namen. Beispielsweise könnte der generierte DNS-Name für die Amazon-VPC-Endpunkt-ID vpce-1a2b3c4d mit vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com vergleichbar sein.

  • Ein zonengebundener DNS-Name enthält die Availability Zone, z. B. vpce-1a2b3c4d-5e6f-us-east-1a.dynamodb.us-east-1.vpce.amazonaws.com. Sie können diese Option verwenden, wenn Ihre Architektur Availability Zones isoliert. Sie könnten sie beispielsweise zur Fehlereingrenzung oder zur Senkung der regionalen Datenübertragungskosten verwenden.

Anmerkung

Um eine optimale Zuverlässigkeit zu erreichen, empfehlen wir, Ihren Service in mindestens drei Availability Zones bereitzustellen.

Zugreifen auf DynamoDB-Tabellen und -Control-API-Operationen über DynamoDB-Schnittstellenendpunkte

Sie können die AWS CLI oder AWS-SDKs verwenden, um auf DynamoDB-Tabellen und -Control-API-Operationen über DynamoDB-Schnittstellenendpunkte zuzugreifen.

Um über DynamoDB-Schnittstellenendpunkte auf DynamoDB-Tabellen oder Control-API-Operationen in DynamoDB zuzugreifen, verwenden Sie die Parameter --region und --endpoint-url in AWS CLI-Befehlen.

Beispiel: Erstellen eines VPC-Endpunkts

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name com.amazonaws.us-east-1.dynamodb \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --security-group-ids client-sg-id

Beispiel: Ändern eines VPC-Endpunkts

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-endpoint-id \ --policy-document policy-document \ #example optional parameter --add-security-group-ids security-group-ids \ #example optional parameter # any additional parameters needed, see Privatelink documentation for more details

Beispiel: Auflisten von Tabellen mit einer Endpunkt-URL

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und den DNS-Namen der VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com durch Ihre eigenen Angaben.

aws dynamodb --region us-east-1 --endpoint https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com list-tables

Aktualisieren Sie bei Verwendung der AWS-SDKs die SDKs auf die neueste Version, um über DynamoDB-Schnittstellenendpunkte auf DynamoDB-Tabellen oder Control-API-Operationen in DynamoDB zuzugreifen. Konfigurieren Sie Ihre Clients anschließend so, dass sie eine Endpunkt-URL verwenden, um über DynamoDB-Schnittstellenendpunkte auf eine Tabelle oder Control-API-Operation in DynamoDB zuzugreifen.

SDK for Python (Boto3)
Beispiel: Verwenden einer Endpunkt-URL für den Zugriff auf eine DynamoDB-Tabelle

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-ID https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

ddb_client = session.client( service_name='dynamodb', region_name='us-east-1', endpoint_url='https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
Beispiel: Verwenden einer Endpunkt-URL für den Zugriff auf eine DynamoDB-Tabelle

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-ID https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

//client build with endpoint config final AmazonDynamoDB dynamodb = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build();
SDK for Java 2.x
Beispiel: Verwenden einer Endpunkt-URL für den Zugriff auf eine DynamoDB-Tabelle

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-ID https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

Region region = Region.US_EAST_1; dynamoDbClient = DynamoDbClient.builder().region(region) .endpointOverride(URI.create("https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.amazonaws.com")) .build()

Aktualisieren einer lokalen DNS-Konfiguration

Wenn Sie endpunktspezifische DNS-Namen für den Zugriff auf die Schnittstellenendpunkte für DynamoDB verwenden, müssen Sie Ihren lokalen DNS-Resolver nicht aktualisieren. Sie können den endpunktspezifischen DNS-Namen mit der privaten IP-Adresse des Schnittstellenendpunkts aus der öffentlichen DynamoDB-DNS-Domain auflösen.

Verwenden von Schnittstellenendpunkten für den Zugriff auf DynamoDB ohne Gateway-Endpunkt oder Internet-Gateway in der Amazon VPC

Schnittstellenendpunkte in Ihrer Amazon VPC können sowohl Anwendungen in der Amazon VPC als auch On-Premises-Anwendungen über das Amazon-Netzwerk an DynamoDB weiterleiten, wie im folgenden Diagramm dargestellt.

Das Datenflussdiagramm zeigt den Zugriff von On-Premises- und in der Amazon VPC bereitgestellten Apps auf DynamoDB über einen Schnittstellenendpunkt und AWS PrivateLink.

Das Diagramm veranschaulicht folgende Vorgänge:

  • Ihr On-Premises-Netzwerk verwendet Direct Connect oder Site-to-Site VPN, um eine Verbindung mit Amazon VPC A herzustellen.

  • Ihre On-Premises-Anwendungen und die Anwendungen in Amazon VPC A verwenden endpunktspezifische DNS-Namen, um über den DynamoDB-Schnittstellenendpunkt auf DynamoDB zuzugreifen.

  • On-Premises-Anwendungen senden Daten über Direct Connect (oder Site-to-Site VPN) an den Schnittstellenendpunkt in der Amazon VPC. AWS PrivateLink verschiebt die Daten über das AWS-Netzwerk vom Schnittstellenendpunkt an DynamoDB.

  • Anwendungen in der Amazon VPC senden ebenfalls Datenverkehr an den Schnittstellenendpunkt. AWS PrivateLink verschiebt die Daten vom Schnittstellenendpunkt über das AWS-Netzwerk an Amazon DynamoDB.

Gemeinsames Verwenden von Gateway-Endpunkten und Schnittstellenendpunkten in derselben Amazon VPC für den Zugriff auf DynamoDB

Sie können Schnittstellenendpunkte erstellen und den vorhandenen Gateway-Endpunkt in derselben Amazon VPC beibehalten, wie das folgende Diagramm zeigt. Mit diesem Ansatz erlauben Sie Anwendungen in der Amazon VPC, weiterhin über den Gateway-Endpunkt auf DynamoDB zuzugreifen, was nicht in Rechnung gestellt wird. Dann würden nur Ihre On-Premises-Anwendungen Schnittstellenendpunkte für den Zugriff auf DynamoDB verwenden. Um auf diese Weise auf DynamoDB zuzugreifen, müssen Sie Ihre On-Premises-Anwendungen aktualisieren, damit endpunktspezifische DNS-Namen für DynamoDB verwendet werden.

Das Datenflussdiagramm zeigt den Zugriff auf DynamoDB über Gateway-Endpunkte und Schnittstellenendpunkte.

Das Diagramm veranschaulicht folgende Vorgänge:

  • On-Premises-Anwendungen verwenden endpunktspezifische DNS-Namen, um über Direct Connect (oder Site-to-Site VPN) Daten an den Schnittstellenendpunkt innerhalb der Amazon VPC zu senden. AWS PrivateLink verschiebt die Daten vom Schnittstellenendpunkt über das AWS-Netzwerk an DynamoDB.

  • Mithilfe von standardmäßigen regionalen DynamoDB-Namen senden Anwendungen in der Amazon VPC Daten an den Gateway-Endpunkt, der über das AWS-Netzwerk eine Verbindung mit DynamoDB herstellt.

Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-Endpunkte in der Amazon VPC im Amazon-VPC-Benutzerhandbuch.

Erstellen einer Amazon-VPC-Endpunktrichtlinie für DynamoDB

Sie können eine Endpunktrichtlinie an Ihren Amazon-VPC-Endpunkt anhängen, der den Zugriff auf DynamoDB kontrolliert. Die Richtlinie gibt die folgenden Informationen an:

  • Der AWS Identity and Access Management (IAM) Prinzipal, der die Aktionen ausführen kann

  • Aktionen, die ausgeführt werden können

  • Ressourcen, für die Aktionen ausgeführt werden können

Sie können eine Endpunktrichtlinie erstellen, die den Zugriff auf spezifische DynamoDB-Tabellen einschränkt. Diese Art von Richtlinie ist hilfreich, wenn Sie in Ihrer Amazon VPC andere AWS-Services betreiben, die Tabellen verwenden. Die folgende Tabellenrichtlinie schränkt den Zugriff ausschließlich auf DOC-EXAMPLE-TABLE ein. Um diese Endpunktrichtlinie zu verwenden, ersetzen Sie DOC-EXAMPLE-TABLE durch den Namen Ihrer Tabelle.

JSON
{ "Version":"2012-10-17", "Id": "Policy1216114807515", "Statement": [ { "Sid": "Access-to-specific-table-only", "Principal": "*", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem" ], "Effect": "Allow", "Resource": ["arn:aws:dynamodb:us-east-1:111122223333:table/DOC-EXAMPLE-TABLE", "arn:aws:dynamodb:us-east-1:111122223333:table/DOC-EXAMPLE-TABLE/*"] } ] }

Verwenden von DynamoDB-Endpunkten mit AWS Management Console Private Access

Sie müssen die DNS-Konfiguration für DynamoDB und DynamoDB Streams einrichten, wenn Sie VPC-Endpunkte mit der DynamoDB-Konsole in AWS Management Console Private Access verwenden.

Um DynamoDB für den Zugriff in AWS Management Console Private Access zu konfigurieren, müssen Sie die folgenden zwei VPC-Endpunkte erstellen:

  • com.amazonaws.<region>.dynamodb

  • com.amazonaws.<region>.dynamodb-streams

Wenn Sie die VPC-Endpunkte erstellen, navigieren Sie zur Route53-Konsole und erstellen Sie mithilfe des regionalen Endpunkts dynamodb.us-east-1.amazonaws.com eine privat gehostete Zone für DynamoDB.

Erstellen Sie die folgenden zwei Aliasdatensätze in der privat gehosteten Zone:

  • dynamodb.<region>.amazonaws.com für die Weiterleitung des Datenverkehrs an den VPC-Endpunkt com.amazonaws.<region>.dynamodb.

  • streams.dynamodb.<region>.amazonaws.com für die Weiterleitung des Datenverkehrs an den VPC-Endpunkt com.amazonaws.<region>.dynamodb-streams.