Connectivité VPC pour les tables S3 - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connectivité VPC pour les tables S3

Toutes les tables figurant dans S3 Tables sont au format Apache Iceberg et sont composées de deux types d’objets S3. Ces deux types d’objets sont des fichiers de données qui stockent les fichiers de données et de métadonnées qui effectuent le suivi des informations relatives aux fichiers de données à différents points dans le temps. Toutes les opérations relatives aux compartiments de tables, aux espaces de noms et aux tables (par exemple, CreateNamespace, CreateTable, etc.) sont routées via un point de terminaison S3 Tables (s3tables.region.amazonaws.com) et toutes les opérations au niveau des objets qui lisent ou écrivent les fichiers de données et de métadonnées continuent d’être routées via un point de terminaison de service S3 (s3.region.amazonaws.com).

Pour accéder aux tables S3, Amazon S3 prend en charge deux types de points de terminaison VPC en utilisant AWS PrivateLink : les points de terminaison de passerelle et les points de terminaison d'interface. Un point de terminaison de passerelle est une passerelle que vous spécifiez dans votre table de routage pour accéder à S3 depuis votre VPC via le AWS réseau. Les points de terminaison d'interface étendent les fonctionnalités des points de terminaison de passerelle en utilisant des adresses IP privées pour acheminer les demandes vers Amazon S3 depuis votre VPC, sur site, ou depuis un VPC dans un autre en utilisant Région AWS le peering VPC ou. AWS Transit Gateway

Pour accéder à S3 Tables depuis un VPC, nous vous recommandons de créer deux points de terminaison de VPC (un pour S3 et l’autre pour S3 Tables). Vous pouvez créer une passerelle ou un point de terminaison d’interface pour router les opérations de niveau fichier (objet) vers S3 et un point de terminaison d’interface pour router les opérations de niveau compartiment ou table vers S3 Tables. Vous pouvez créer et utiliser des points de terminaison de VPC pour les demandes de niveau fichier à l’aide de S3. Pour plus d'informations, consultez la section Points de terminaison Gateway dans le Guide de AWS PrivateLinkl'utilisateur.

Pour en savoir plus sur la création et l'utilisation AWS PrivateLink de points de terminaison pour les tables S3, consultez les rubriques suivantes. Pour créer un point de terminaison d’interface de VPC, consultez Création d’un point de terminaison de VPC dans le Guide AWS PrivateLink .

Création de points de terminaison de VPC pour S3 Tables

Lorsque vous créez un point de terminaison de VPC, S3 Tables génère deux types de noms DNS spécifiques au point de terminaison : régional et zonal.

  • Un nom DNS régional a le format suivant : VPCendpointID.s3tables.AWSregion.vpce.amazonaws.com. Par exemple, pour l’ID de point de terminaison de VPC vpce-1a2b3c4d, le nom DNS généré sera similaire à vpce-1a2b3c4d-5e6f.s3tables.us-east-1.vpce.amazonaws.com.

  • Un nom DNS zonal a le format suivant : VPCendpointID-AvailabilityZone.s3tables.AWSregion.vpce.amazonaws.com. Par exemple, pour l’ID de point de terminaison de VPC vpce-1a2b3c4d-5e6f., le nom DNS généré sera similaire à vpce-1a2b3c4d-5e6f-us-east-1a.s3tables.us-east-1.vpce.amazonaws.com.

    Un nom DNS zonal inclut votre zone de disponibilité. Vous pouvez utiliser des noms DNS zonaux si votre architecture isole les zones de disponibilité. Les noms DNS S3 spécifiques au point de terminaison peuvent être résolus depuis le domaine DNS public S3.

Vous pouvez également utiliser les options de DNS privé pour simplifier le routage du trafic S3 vers les points de terminaison de VPC et tirer parti du chemin réseau le plus économique disponible pour votre application. Le réseau DNS privé mappe le point de terminaison public de S3 Tables, par exemple s3tables.region.amazonaws.com, à une adresse IP privée dans votre VPC. Vous pouvez utiliser les options de DNS privé pour router le trafic S3 régional sans mettre à jour vos clients S3 pour utiliser les noms DNS spécifiques aux points de terminaison de vos points de terminaison d’interface.

Accès aux compartiments de tables et aux tables par le biais de points de terminaison à l'aide du AWS CLI

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour accéder aux compartiments de tables et aux tables via les points de terminaison de l'interface. Avec les aws s3 commandes AWS CLI, acheminez le trafic via le point de terminaison Amazon S3. Les aws s3tables AWS CLI commandes utilisent le point de terminaison Amazon S3 Tables.

vpce-0123456afghjipljw-nmopsqea.s3tables.region.vpce.amazonaws.com est un exemple de point de terminaison de VPC s3tables

Un point de terminaison de VPC s3tables n’inclut pas de nom de compartiment. Vous pouvez accéder au point de terminaison s3tables VPC à l'aide des aws s3tables AWS CLI commandes.

amzn-s3-demo-bucket.vpce-0123456afghjipljw-nmopsqea.s3.region.vpce.amazonaws.com est un exemple de point de terminaison de VPC s3

Vous pouvez accéder au point de terminaison s3 VPC à l'aide des aws s3 AWS CLI commandes.

Pour accéder aux compartiments de tables et aux tables via les points de terminaison de l'interface à l'aide des paramètres AWS CLI, utilisez les paramètres -region - et--endpoint-url. Pour effectuer des actions de niveau compartiment ou table, utilisez l’URL du point de terminaison S3 Tables. Pour effectuer des actions de niveau objet, utilisez l’URL du point de terminaison Amazon S3.

Dans les exemples suivants, remplacez le user input placeholders par vos propres informations.

Exemple 1 : utilisation d’une URL de point de terminaison pour répertorier les compartiments de tables dans votre compte

aws s3tables list-table-buckets --endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com —region us-east-1

Exemple 2 : utilisation d’une URL de point de terminaison pour répertorier les tables dans votre compartiment

aws s3tables list-tables --table-bucket-arn arn:aws:s3tables:us-east-1:123456789301:bucket/amzn-s3-demo-bucket --endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com --region us-east-1

Configuration d’un réseau VPC lors de l’utilisation de moteurs de requête

Effectuez les étapes suivantes pour configurer un réseau VPC lorsque vous utilisez des moteurs de requête.

  1. Pour commencer, vous pouvez créer ou mettre à jour un VPC. Pour plus d’informations, consultez Création d’un VPC.

  2. Pour les opérations de niveau table ou compartiment de tables qui sont routées vers S3 Tables, créez un nouveau point de terminaison d’interface. Pour plus d'informations, consultez Accéder à un AWS service à l'aide d'un point de terminaison VPC d'interface.

  3. Pour toutes les opérations de niveau objet qui sont routées vers Amazon S3, créez un point de terminaison de passerelle ou un point de terminaison d’interface. Pour plus d’informations sur les points de terminaison de passerelle, consultez Création d’un point de terminaison de passerelle.

  4. Configurez ensuite vos ressources de données et lancez un cluster Amazon EMR. Pour plus d’informations, consultez Démarrer avec Amazon EMR.

  5. Vous pouvez ensuite soumettre une application Spark avec une configuration supplémentaire en sélectionnant vos noms DNS depuis le point de terminaison de VPC. Par exemple, spark.sql.catalog.ice_catalog.s3tables.endpoint et https://interface-endpoint.s3tables.us-east-1.vpce.amazonaws.com. Pour plus d’informations, consultez Soumettre un travail à votre cluster Amazon EMR.

Utilisation des points de terminaison à double pile pour accéder aux tables et aux compartiments de tables

S3 Tables prend en charge la connectivité à double pile pour AWS PrivateLink. Les points de terminaison à double pile vous permettent d'accéder aux buckets de tables S3 à l'aide du protocole Internet version 6 (IPv6), en plus du IPv4 protocole, en fonction de ce que prend en charge votre réseau. Vous pouvez accéder à un compartiment S3 via un point de terminaison à double pile en utilisant la convention de dénomination suivante :

s3tables.<region>.api.aws

Voici certaines informations que vous devez connaître avant d'essayer d'accéder à des tables S3 et à des compartiments de tables IPv6 dans votre VPC :

  • Le double stack doit être activé sur le client que vous utilisez pour accéder aux tables et sur votre client S3.

  • IPv6 l'entrée n'est pas activée par défaut pour les groupes de sécurité VPC. Pour autoriser IPv6 l'accès, vous devez ajouter une nouvelle règle autorisant le protocole HTTPS (port TCP 443) à votre groupe de sécurité. Pour plus d'informations, consultez Configurer les règles des groupes de sécurité dans le EC2user guide Amazon

  • Si votre VPC n'a pas d' IPv6 CIDRs attribution, vous devrez ajouter manuellement un bloc IPv6 CIDR à votre VPC. Pour plus d'informations, voir Ajouter un IPv6 support pour votre VPC dans le guide de l'utilisateur AWS PrivateLink

  • Si vous utilisez des politiques IAM de filtrage d'adresses IP, elles doivent être mises à jour pour gérer IPv6 les adresses. Pour plus d'informations sur la gestion des autorisations d'accès avec IAM, consultez Identity and Access Management pour Amazon S3.

Pour créer un nouveau point de terminaison VPC qui utilise le point de terminaison à double pile pour les tables S3, utilisez un exemple de commande CLI :

aws ec2 create-vpc-endpoint \ --vpc-id vpc-id \ --service-name com.amazonaws.aws-region.s3tables \ --subnet-ids subnet-1 subnet-2 \ --vpc-endpoint-type Interface \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack" \ --security-group-ids sg-id \ --region aws-region

Pour plus d'informations sur la création de points de terminaison VPC, voir Création d'un point de terminaison d'interface dans le guide de l'utilisateur VPC.

Si votre réseau le prend en charge IPv6 et que vous souhaitez mettre à jour votre VPC pour l'activer, IPv6 vous pouvez utiliser la commande CLI suivante :

aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-id \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack" \ --region aws-region

Restriction de l’accès à S3 Tables au sein du réseau VPC

Comme pour les politiques basées sur les ressources, vous pouvez attacher une politique de points de terminaison à votre point de terminaison de VPC qui contrôle l’accès aux tables et aux compartiments de tables. Dans l’exemple suivant, la politique de point de terminaison d’interface restreint l’accès à des compartiments de tables spécifiques uniquement.

JSON
{ "Version":"2012-10-17", "Id": "Policy141511512309", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": "s3tables:*", "Effect": "Allow", "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket/*" ] } ] }