AWS PrivateLink pour DynamoDB Streams - Amazon DynamoDB

AWS PrivateLink pour DynamoDB Streams

Avec AWS PrivateLink pour Amazon DynamoDB Streams, vous pouvez provisionner les points de terminaison d’un VPC Amazon d’interface (points de terminaison d’interface) dans votre cloud privé virtuel (Amazon VPC). Ces points de terminaison sont directement accessibles à partir d’applications sur site via VPN et Direct Connect, ou dans une Région AWS différente via un appairage Amazon VPC. En utilisant AWS PrivateLink et les points de terminaison d’interface, vous pouvez simplifier la connectivité de réseau privé entre vos applications et DynamoDB Streams.

Les applications de votre VPC Amazon n’ont pas besoin d’adresses IP publiques pour communiquer avec DynamoDB Streams à l’aide des points de terminaison de l’interface Amazon VPC pour les opérations DynamoDB Streams. Les points de terminaison d’interface sont représentés par une ou plusieurs interfaces réseau Elastic (ENI) auxquelles des adresses IP privées sont attribuées à partir de sous-réseaux de votre VPC Amazon. Les demandes adressées à DynamoDB Streams via les points de terminaison d’interface restent sur le réseau Amazon. Vous pouvez également accéder aux points de terminaison d’interface dans votre VPC Amazon à partir d’applications sur site via Direct Connect ou AWS Virtual Private Network (VPN AWS). Pour plus d’informations sur la façon de connecter votre AWS Virtual Private Network à votre réseau sur site, consultez le Guide de l’utilisateur Direct Connect et le Guide de l’utilisateur AWS Site-to-Site VPN.

Pour des informations générales sur les points de terminaison d’interface, consultez Interface de points de terminaison d’un réseau Amazon VPC (AWS PrivateLink).

Note

Seuls les points de terminaison d’interface sont pris en charge pour DynamoDB Streams. Les points de terminaison de passerelle ne sont pas pris en charge.

Les considérations relatives à Amazon VPC s’appliquent à AWS PrivateLink pour Amazon DynamoDB Streams. Pour plus d’informations, consultez interface endpoint considerations et Quotas AWS PrivateLink. Les restrictions suivantes s’appliquent.

AWS PrivateLink pour Amazon DynamoDB Streams ne prend pas en charge les éléments suivants :

  • Protocole TLS (Transport Layer Security) 1.1

  • Services de système de nom de domaine (DNS) privé et hybride

Note

Les délais de connexion réseau aux points de terminaison AWS PrivateLink ne sont pas concernés par les réponses d’erreur DynamoDB Streams et doivent être gérés de manière appropriée par vos applications qui se connectent aux points de terminaison AWS PrivateLink.

Pour créer un point de terminaison d’interface d’un VPC Amazon, consultez Create an Amazon VPC endpoint dans le Guide AWS PrivateLink.

Lorsque vous créez un point de terminaison d’interface, DynamoDB génère deux types de noms DNS DynamoDB Streams spécifiques au point de terminaison : des noms régionaux et des noms zonaux.

  • Les noms DNS régionaux incluent un ID de point de terminaison d’un VPC Amazon unique, un identifiant de service, la Région AWS, et vpce.amazonaws.com dans son nom. Par exemple, pour l’ID de point de terminaison d’un VPC Amazon vpce-1a2b3c4d, le nom DNS généré peut être similaire à vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com.

  • Les noms DNS zonaux incluent la zone de disponibilité, par exemple, vpce-1a2b3c4d-5e6f-us-east-1a.streams.dynamodb.us-east-1.vpce.amazonaws.com. Vous pouvez utiliser cette option si votre architecture isole les zones de disponibilité. Par exemple, vous pouvez l’utiliser pour contenir les pannes ou réduire les coûts de transfert de données Régionaux.

Vous pouvez utiliser l’AWS CLI ou les kits AWS SDK pour accéder aux opérations d’API DynamoDB Streams via les points de terminaison de l’interface DynamoDB Streams.

Pour accéder à DynamoDB Streams ou aux opérations d’API via les points de terminaison de l’interface DynamoDB Streams dans les commandes AWS CLI, utilisez les paramètres --region et --endpoint-url.

Exemple : création du point de terminaison d’un VPC

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

Exemple : modifier le point de terminaison d’un VPC

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

Exemple : lister les flux à l’aide d’une URL de point de terminaison

Dans l’exemple suivant, remplacez la région us-east-1 et le nom DNS de l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com par vos propres informations.

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

Pour accéder aux opérations d’API Amazon DynamoDB Streams via les points de terminaison d’interface DynamoDB Streams avec les kits AWS SDK, mettez à jour vos kits SDK vers la dernière version. Configurez ensuite vos clients pour qu’ils utilisent une URL de point de terminaison pour une opération d’API DynamoDB Streams via des points de terminaison d’interface DynamoDB Streams.

SDK for Python (Boto3)
Exemple : utiliser une URL de point de terminaison pour accéder à un flux DynamoDB

Dans l’exemple suivant, remplacez la région us-east-1 et l’ID du point de terminaison d’un VPC https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com par vos propres informations.

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
Exemple : utiliser une URL de point de terminaison pour accéder à un flux DynamoDB

Dans l’exemple suivant, remplacez la région us-east-1 et l’ID du point de terminaison d’un VPC https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com par vos propres informations.

//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
Exemple : utiliser une URL de point de terminaison pour accéder à un flux DynamoDB

Dans l’exemple suivant, remplacez la région us-east-1 et l’ID du point de terminaison d’un VPC https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com par vos propres informations.

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()

Vous pouvez attacher une politique de point de terminaison à votre point de terminaison Amazon VPC qui contrôle l’accès à DynamoDB Streams. La stratégie spécifie les informations suivantes :

  • Le principal AWS Identity and Access Management (IAM) qui peut effectuer des actions.

  • Les actions qui peuvent être effectuées.

  • Les ressources sur lesquelles les actions peuvent être exécutées.

Vous pouvez créer une politique de point de terminaison qui restreint l’accès uniquement à des DynamoDB Streams spécifiques. Ce type de politique est utile si d’autres Services AWS dans votre VPC Amazon utilisent des DynamoDB Streams. La politique de diffusion suivante restreint l’accès au flux 2025-02-20T11:22:33.444 attaché à DOC-EXAMPLE-TABLE. Pour utiliser cette politique de point de terminaison, remplacez DOC-EXAMPLE-TABLE par le nom de votre table et 2025-02-20T11:22:33.444 par l’étiquette de flux.

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"] } ] }
Note

Les points de terminaison de passerelle ne sont pas pris en charge dans DynamoDB Streams.

Utilisation de points de terminaison DynamoDB avec AWS Management Console Private Access

Vous devez paramétrer la configuration DNS pour DynamoDB et DynamoDB Streams lorsque vous utilisez des points de terminaison d’un VPC avec la console DynamoDB dans AWS Management Console Private Access.

Pour configurer DynamoDB de manière à ce qu’il soit accessible dans AWS Management Console Private Access, vous devez créer les deux points de terminaison d’un VPC suivants :

  • com.amazonaws.<region>.dynamodb

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

Lorsque vous créez les points de terminaison d’un VPC, accédez à la console Route53 et créez une zone hébergée privée pour DynamoDB à l’aide du point de terminaison régional dynamodb.us-east-1.amazonaws.com.

Créez les deux enregistrements d’alias suivants dans la zone hébergée privée :

  • dynamodb.<region>.amazonaws.com qui achemine le trafic vers le point de terminaison d’un VPC com.amazonaws.<region>.dynamodb.

  • streams.dynamodb.<region>.amazonaws.com qui achemine le trafic vers le point de terminaison d’un VPC com.amazonaws.<region>.dynamodb-streams.