AWS PrivateLink für DynamoDB Streams - Amazon-DynamoDB

AWS PrivateLink für DynamoDB Streams

Mit AWS PrivateLink für Amazon DynamoDB Streams 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 Streams vereinfachen.

Anwendungen in Ihrer in einer Amazon VPC benötigen keine öffentlichen IP-Adressen, um mit DynamoDB Streams über Amazon-VPC-Schnittstellenendpunkte für Operationen in DynamoDB Streams 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 Streams über Schnittstellenendpunkte bleiben im Amazon-Netzwerk. Sie können auch von On-Premises-Anwendungen in Ihrer Amazon VPC über Direct Connect oder AWS Virtual Private Network (AWS VPN) auf Schnittstellenendpunkte zugreifen. Weitere Informationen darüber, wie Sie Ihre AWS Virtual Private Network 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).

Anmerkung

Für DynamoDB Streams werden nur Schnittstellenendpunkte unterstützt. Gateway-Endpunkte werden nicht unterstützt.

Die Überlegungen zu Amazon VPC gelten auch für AWS PrivateLink in Amazon DynamoDB Streams. Weitere Informationen finden Sie unter Überlegungen zu Schnittstellenendpunkten und AWS PrivateLink-Kontingente. Beachten Sie dabei die folgenden Einschränkungen.

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

  • Transport Layer Security (TLS) 1.1

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

Anmerkung

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

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

Wenn Sie einen Schnittstellenendpunkt erstellen, generiert DynamoDB zwei Arten von endpunktspezifischen DNS-Namen für DynamoDB Streams: 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.streams.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.streams.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.

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

Um über DynamoDB-Streams-Schnittstellenendpunkte auf DynamoDB Streams oder API-Operationen 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-streams \ --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 Streams 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.streams.dynamodb.us-east-1.vpce.amazonaws.com durch Ihre eigenen Angaben.

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

Aktualisieren Sie bei Verwendung der AWS-SDKs die SDKs auf die neueste Version, um über DynamoDB-Streams-Schnittstellenendpunkte auf API-Operationen von Amazon DynamoDB Streams zuzugreifen. Konfigurieren Sie Ihre Clients anschließend so, dass sie eine Endpunkt-URL für die API-Operation von DynamoDB Streams über DynamoDB-Streams-Schnittstellenendpunkte verwenden.

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

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

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

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

//client build with endpoint config final AmazonDynamoDBStreams dynamodbstreams = AmazonDynamoDBStreamsClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://vpce-1a2b3c4d-5e6f.streams.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 einen DynamoDB-Stream

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

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

Sie können eine Endpunktrichtlinie an Ihren Amazon-VPC-Endpunkt anhängen, der den Zugriff auf DynamoDB Streams 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 Streams einschränkt. Diese Art von Richtlinie ist hilfreich, wenn Sie in Ihrer Amazon VPC andere AWS-Services betreiben, die DynamoDB Streams verwenden. Die folgende Stream-Richtlinie schränkt den Zugriff nur auf den Stream 2025-02-20T11:22:33.444 ein, der DOC-EXAMPLE-TABLE angehängt ist. Um diese Endpunktrichtlinie zu verwenden, ersetzen Sie DOC-EXAMPLE-TABLE durch den Namen Ihrer Tabelle und 2025-02-20T11:22:33.444 durch die Stream-Bezeichnung.

JSON
{ "Version":"2012-10-17", "Id": "Policy1216114807515", "Statement": [ { "Sid": "Access-to-specific-stream-only", "Principal": "*", "Action": [ "dynamodb:DescribeStream", "dynamodb:GetRecords" ], "Effect": "Allow", "Resource": ["arn:aws:dynamodb:us-east-1:111122223333:table/table-name/stream/2025-02-20T11:22:33.444"] } ] }
Anmerkung

Gateway-Endpunkte werden in DynamoDB Streams nicht unterstützt.

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.