AWS PrivateLink pour Amazon 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.

AWS PrivateLink pour Amazon S3

Avec AWS PrivateLink Amazon S3, vous pouvez provisionner des points de terminaison VPC d'interface (points de terminaison d'interface) dans votre cloud privé virtuel (VPC). Ces points de terminaison sont directement accessibles depuis des applications installées sur site via VPN et/ou via un autre Région AWS système de peering VPC. Direct Connect

Les points de terminaison d'interface sont représentés par une ou plusieurs interfaces réseau élastiques (ENIs) auxquelles sont attribuées des adresses IP privées provenant de sous-réseaux de votre VPC. Les demandes adressées à Amazon S3 via les points de terminaison d’interface restent sur le réseau Amazon. Vous pouvez également accéder aux points de terminaison de l'interface de votre VPC à partir d'applications sur site AWS Direct Connect via AWS Virtual Private Network ou ().Site-to-Site VPN Pour plus d’informations sur la façon de connecter votre VPC à 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 Points de terminaison de VPC d'interface (AWS PrivateLink) dans le Guide AWS PrivateLink .

Types de points de terminaison de VPC pour Amazon S3

Vous pouvez utiliser deux types de points de terminaison VPC pour accéder à Amazon S3 : les points de terminaison de passerelle et les points de terminaison d'interface (en utilisant). AWS PrivateLink Un point de terminaison de passerelle est une passerelle que vous spécifiez dans votre table de routage pour accéder à Amazon 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 plus d’informations, consultez Qu’est-ce que l’appairage de VPC ? et Transit Gateway vs VPC peering (Passerelle de transit ou appairage de VPC).

Les points de terminaison d’interface sont compatibles avec les points de terminaison de passerelle. Si vous avez un point de terminaison de passerelle existant dans votre VPC, vous pouvez utiliser les deux types de points de terminaison dans le même VPC.

Points de terminaison de passerelle pour Amazon S3

Points de terminaison d’interface pour Amazon S3

Dans les deux cas, votre trafic réseau reste sur le AWS réseau.

Utiliser des adresses IP publiques Amazon S3

Utiliser des adresses IP privées depuis votre VPC pour accéder à Amazon S3

Utiliser les mêmes noms DNS Amazon S3

Exiger des noms DNS Amazon S3 spécifiques aux points de terminaison

N’autorise pas l’accès sur site

Autoriser l’accès depuis vos sites

Ne pas autoriser l'accès depuis un autre Région AWS

Autoriser l'accès d'un VPC à un autre en utilisant le Région AWS peering VPC ou AWS Transit Gateway

Non facturé

Facturé

Pour plus d'informations, consultez la section Points de terminaison de passerelle et points de terminaison VPC d'interface dans le Guide.AWS PrivateLink

Les limites du VPC s'appliquent AWS PrivateLink à Amazon S3. Pour plus d’informations, consultez Considérations sur les points de terminaison d’interface et Quotas AWS PrivateLink dans le Guide AWS PrivateLink . En outre, les restrictions suivantes s’appliquent.

Les points de terminaison d'interface pour Amazon S3 ne prennent pas en charge les éléments suivants :

Création d’un point de terminaison d’un VPC

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 . Pour créer un point de terminaison de passerelle VPC, consultez la section Créer un point de terminaison de passerelle dans le AWS PrivateLink Guide.

Accès aux points de terminaison d’interface d’Amazon S3

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

  • Un nom DNS régional inclut un ID de point de terminaison VPC unique, un identifiant de service Région AWS, le et vpce.amazonaws.com dans son nom. Par exemple, pour l’ID de point de terminaison de VPC vpce-1a2b3c4d, le nom DNS généré peut être similaire à vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com.

  • Les noms DNS zonaux incluent la zone de disponibilité, par exemple, vpce-1a2b3c4d-5e6f-us-east-1a.s3.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.

Les noms DNS S3 spécifiques au point de terminaison peuvent être résolus depuis le domaine DNS public S3.

Les points de terminaison VPC pour Amazon S3 prennent en charge différents types d'adressage IP, notamment : IPv4 IPv6, et Dualstack. Consultez Types d'adresses IP pour les points de terminaison VPC et Types d'IP d'enregistrement DNS pour les points de terminaison VPC.

Les points de terminaison VPC pour Amazon S3 prennent en charge différents types d'adressage IP, notamment :

  • IPv4

    Les points de terminaison VPC peuvent être configurés pour utiliser uniquement des IPv4 adresses pour la connectivité.

  • IPv6

    Les points de terminaison VPC peuvent être configurés pour utiliser uniquement des IPv6 adresses pour la connectivité.

  • Double pile

    Les points de terminaison VPC peuvent être configurés en mode double pile, prenant en charge à la fois les IPv4 adresses et les adresses. IPv6 Cela offre la flexibilité d'accéder à Amazon S3 via l'un IPv4 ou l'autre IPv6 des réseaux.

Le type d'adresse IP que vous choisissez pour votre point de terminaison VPC dépend des exigences réseau de vos applications et de votre infrastructure. Les considérations peuvent inclure les schémas d'adressage IP utilisés dans votre VPC, les réseaux sur site et via la connectivité Internet à Amazon S3. Pour plus d'informations, consultez les types d'adresses IP pour les points de terminaison d'interface et les points de terminaison de passerelle dans le guide Amazon Virtual Private Cloud.

En fonction de votre type d'adresse IP, lorsque vous appelez un point de terminaison VPC, celui-ci Service AWS peut renvoyer A des enregistrements, des enregistrements ou les deux A et AAAA AAAA des enregistrements. Vous pouvez personnaliser les types d'enregistrement renvoyés par votre AWS service en modifiant le type IP de l'enregistrement DNS. Le tableau suivant indique les types IP d'enregistrement DNS pris en charge et les types d'adresses IP :

Types d'adresses IP pris en charge Types d'adresses IP d'enregistrement DNS
IPv4 IPv4
IPv6 IPv6
Double pile Dualstack,,, Défini par IPv4 le service IPv6

Si vous créez un point de terminaison de passerelle pour Amazon S3, que vous configurez le type d'IP d'enregistrement DNS tel que défini par le service et que vous utilisez le point de terminaison de service régional (tel ques3.us-east-2.amazonaws.com), Amazon S3 renvoie A les enregistrements à vos clients. En revanche, si vous créez un point de terminaison de passerelle et que vous utilisez un point de terminaison de service à double pile (tel ques3.dualstack.us-east-2.amazonaws.com) et que vous sélectionnez le type d'IP d'enregistrement DNSservice-defined, Amazon S3 renvoie les deux A et les AAAA enregistrements à vos clients.

De même, si vous créez un point de terminaison d'interface avec le DNS privé activé et que vous choisissez le type d'enregistrement DNS défini par le service, pour le point de terminaison de service régional (tel que,s3.us-east-2.amazonaws.com), Amazon S3 renvoie A les enregistrements à votre client. Alors que, pour un point de terminaison de service à double pile (tel que,s3.dualstack.us-east-2.amazonaws.com), Amazon S3 renvoie à la fois des enregistrements A et AAAA des enregistrements. Pour plus d'informations, consultez la section Type d'IP d'enregistrement DNS pour les points de terminaison d'interface et les points de terminaison de passerelle dans le guide de l'utilisateur VPC.

Le tableau suivant indique les types d'IP d'enregistrement DNS pris en charge pour les points de terminaison de passerelle et d'interface :

Type d’adresse IP Types d'adresses IP d'enregistrement DNS pris en charge pour les points de terminaison S3 Gateway Types d'adresses IP d'enregistrement DNS pris en charge pour les points de terminaison de l'interface S3
IPv4 IPv4, défini par le service* IPv4
IPv6 IPv6, défini par le service* IPv6
Double pile IPv4, Dualstack IPv6, défini par le service* Dualstack*,, défini par le service IPv4 IPv6

* Représente le type d'IP d'enregistrement DNS par défaut.

Pour activer la IPv6 connectivité sur une passerelle ou un point de terminaison d'interface S3 existant, mettez à jour le type d'adresse IP du point de terminaison surDualstack. Lors de la mise à jour, Amazon S3 met automatiquement à jour les tables de routage avec les IPv6 adresses des points de terminaison de la passerelle. Vous pouvez ensuite utiliser le point de terminaison du service à double pile, tel ques3.dualstack.us-east-2.amazonaws.com, et Amazon S3 renverra les deux A et les AAAA enregistrements pour les requêtes DNS S3 à double pile. Si vous souhaitez l'utiliser IPV6 avec le point de terminaison du service régional, par exemples3.us-east-2.amazonaws.com, modifiez le type d'adresse IP du point de terminaison à Dualstack ; et le type IP d'enregistrement DNS àDualstack. Amazon S3 renverra ensuite A les AAAA deux requêtes DNS S3 régionales ainsi que les enregistrements correspondants.

Considérations
  • Si le point de terminaison de votre passerelle est configuré par défaut avec le type d'adresse IP as IPv4 et le type IP d'enregistrement DNS commeservice-defined, alors le point de terminaison du service à double pile (tel ques3.dualstack.us-east-2.amazonaws.com), le trafic utilisant des AAAA enregistrements ne sera pas acheminé via le point de terminaison de la passerelle. Au lieu de cela, ce trafic sera supprimé ou acheminé via un chemin IPv6 compatible s'il en existe un. Par exemple, si votre cloud privé virtuel (VPC) possède une passerelle Internet, votre IPv6 trafic sera acheminé via la passerelle Internet de votre VPC dans ce scénario. Si vous souhaitez vous assurer que votre trafic est toujours acheminé via un point de terminaison VPC, vous pouvez utiliser une politique de compartiment Amazon S3 qui restreint l'accès à un compartiment spécifique si aucun point de terminaison VPC spécifique n'est utilisé. Pour plus d'informations, consultez Restreindre l'accès à un point de terminaison VPC spécifique.

  • Si le point de terminaison de votre interface possède la configuration par défaut du type d'adresse IP, c'est-à-dire que le type d'adresse IP d'enregistrement DNS est IPv4 défini comme tel IPv4, les points de terminaison du service Dualstack, tels queass3.dualstack.us-east-2.amazonaws.com, ne sont pas pris en charge. Le trafic qui utilise le A ou les AAAA enregistrements des points de terminaison du service Dualstack ne sera pas acheminé via le point de terminaison de l'interface. Au lieu de cela, ce trafic sera supprimé ou acheminé via un autre chemin compatible s'il en existe un.

  • La création ou la modification d'un point de terminaison de passerelle avec un type d'IP d'enregistrement DNS autre que celui défini par le service nécessite que les attributs enableDnsSupport VPC et enableDnsHostnames VPC soient définis sur true.

DNS privé

Les options de DNS privé pour les points de terminaison de l’interface d’un VPC simplifient le routage du trafic S3 vers les points de terminaison d’un VPC et vous aident à tirer parti du chemin réseau le plus économique disponible pour votre application. Vous pouvez utiliser des options de DNS privé pour acheminer 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, ni gérer l’infrastructure DNS. Lorsque les noms DNS privés sont activés, les requêtes DNS S3 régionales sont résolues vers les adresses IP privées AWS PrivateLink des points de terminaison suivants :

  • Points de terminaison régionaux de compartiment (par exemple, s3.us-east-1.amazonaws.com)

  • Points de contrôle (par exemple, s3-control.us-east-1.amazonaws.com)

  • Points de terminaison des points d'accès (par exemple, s3-accesspoint.us-east-1.amazonaws.com)

Si votre VPC comporte un point de terminaison de passerelle, vous pouvez automatiquement acheminer les demandes internes au VPC via votre point de terminaison de passerelle S3 existant et les demandes sur site via le point de terminaison de votre interface. Cette approche vous permet d’optimiser vos coûts de mise en réseau en utilisant des points de terminaison de passerelle, qui ne sont pas facturés, pour votre trafic interne au VPC. Vos applications sur site peuvent être utilisées à l' AWS PrivateLink aide du point de terminaison Resolver entrant. Amazon fournit un serveur DNS pour votre VPC, appelé Route 53 Resolver. Un point de terminaison Resolver entrant réachemine des requêtes DNS à partir du réseau sur site vers Route 53 Resolver.

Important

Pour bénéficier du chemin réseau le plus économique lorsque vous utilisez l’option Activer le DNS privé uniquement pour les points de terminaison entrants, un point de terminaison de passerelle doit être présent dans votre VPC. La présence d’un point de terminaison de passerelle permet de garantir que le trafic interne au VPC passe toujours par le réseau privé d’ AWS lorsque l’option Activer le DNS privé uniquement pour les points de terminaison entrants est sélectionnée. Vous devez conserver ce point de terminaison de passerelle tant que l’option Activer le DNS privé uniquement pour les points de terminaison entrants est sélectionnée. Si vous souhaitez supprimer le point de terminaison de votre passerelle, vous devez d’abord désactiver Activer le DNS privé uniquement pour les points de terminaison entrants.

Si vous souhaitez mettre à jour un point de terminaison d’interface existant pour Activer le DNS privé uniquement pour les points de terminaison entrants, vérifiez d’abord que votre VPC possède un point de terminaison de passerelle S3. Pour plus d’informations sur les points de terminaison de passerelle et la gestion des noms DNS privés, consultez Points de terminaison de passerelle et Gestion des noms DNS privés dans le Guide AWS PrivateLink .

Lorsque vous activez le DNS privé pour le résolveur entrant uniquement, le point de terminaison dnsRecordIpType de la passerelle doit correspondre à celui du point de terminaison de l'interface ou être défini par le service.

L’option Activer le DNS privé uniquement pour les points de terminaison entrants n’est disponible que pour les services qui prennent en charge les points de terminaison de passerelle.

Pour plus d’informations sur la création d’un point de terminaison d’un VPC utilisant l’option Activer le DNS privé uniquement pour les points de terminaison entrants, consultez Créer un point de terminaison d’interface dans le Guide AWS PrivateLink .

Utilisation de la console du VPC

Dans la console, vous avez deux options : Activer le nom DNS et Activer le DNS privé uniquement pour les points de terminaison entrants. Activer le nom DNS est une option prise en charge par AWS PrivateLink. En utilisant l’option Activer le nom DNS, vous pouvez utiliser la connectivité privée d’Amazon à Amazon S3, tout en envoyant des demandes aux noms DNS des points de terminaison publics par défaut. Lorsque cette option est activée, les clients peuvent bénéficier du chemin réseau le plus économique disponible pour leur application.

Lorsque vous activez les noms DNS privés sur un point de terminaison d’interface de VPC existant ou nouveau pour Amazon S3, l’option Activer le DNS privé uniquement pour les points de terminaison entrants est sélectionnée par défaut. Si cette option est sélectionnée, vos applications utilisent uniquement des points de terminaison d’interface pour votre trafic sur site. Ce trafic interne au VPC utilise automatiquement les points de terminaison de passerelle les moins coûteux. Vous pouvez également désactiver l’option Activer le DNS privé uniquement pour les points de terminaison entrants afin d’acheminer toutes les demandes S3 via le point de terminaison de votre interface.

À l'aide du AWS CLI

Si vous ne spécifiez pas de valeur pour PrivateDnsOnlyForInboundResolverEndpoint, la valeur par défaut est true. Toutefois, avant que votre VPC n’applique vos paramètres, il vérifie qu’un point de terminaison de passerelle est présent dans le VPC. Si un point de terminaison de passerelle est présent dans le VPC, l’appel aboutit. Sinon, le message d’erreur suivant s’affiche :

Pour que ce paramètre PrivateDnsOnlyForInboundResolverEndpoint soit défini sur true, le VPC vpce_id doit disposer d'un point de terminaison de passerelle pour le service.

Pour un nouveau point de terminaison d’interface de VPC

Utilisez les attributs private-dns-enabled et dns-options pour activer le DNS privé via la ligne de commande. L’option PrivateDnsOnlyForInboundResolverEndpoint de l’attribut dns-options doit être définie sur true. Remplacez les user input placeholders par vos propres informations.

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name s3-service-name \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --private-dns-enabled \ --ip-address-type ip-address-type \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true \ --security-group-ids client-sg-id

Pour un point de terminaison d’un VPC existant

Si vous souhaitez utiliser un DNS privé pour un point de terminaison d’un VPC existant, utilisez l’exemple de commande suivant et remplacez user input placeholders par vos propres informations.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=false

Si vous souhaitez mettre à jour un point de terminaison d’un VPC existant afin d’activer le DNS privé uniquement pour le résolveur entrant, utilisez l’exemple suivant et remplacez les exemples de valeurs par les vôtres.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true

Accès aux compartiments, aux points d’accès et aux opérations d’API de contrôle Amazon S3 depuis les points de terminaison de l’interface S3

Vous pouvez utiliser le AWS CLI ou AWS SDKs pour accéder aux buckets, aux points d'accès S3 et aux opérations de l'API Amazon S3 Control via les points de terminaison de l'interface S3.

L’image suivante illustre l’onglet Détails de la console VPC, où vous pouvez trouver le nom DNS d’un point de terminaison de VPC. Dans cet exemple, l’ID de point de terminaison de VPC (vpce-id) est vpce-0e25b8cdd720f900e et le nom DNS est *.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com.

L’onglet Détails dans la console VPC.

Lorsque vous utilisez le nom DNS pour accéder à une ressource, remplacez-le * par la valeur appropriée. Les valeurs appropriées à utiliser à la place de * sont les suivantes :

  • bucket

  • accesspoint

  • control

Par exemple, pour accéder à un compartiment, utilisez un nom DNS comme celui-ci :

bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com

Pour obtenir des exemples d’utilisation des noms DNS pour accéder aux compartiments, aux points d’accès et aux opérations d’API de contrôle Amazon S3, consultez les sections suivantes de AWS CLI exemples et AWS Exemples de SDK.

Pour plus d’informations sur la façon d’afficher vos noms DNS spécifiques aux terminaux, consultez Viewing endpoint service private DNS name configuration (Affichage de la configuration du nom DNS privé du service de point de terminaison) dans le Guide de l’utilisateur VPC.

Pour accéder aux compartiments S3, aux points d'accès S3 ou aux opérations de l'API Amazon S3 Control via les points de terminaison de l'interface S3 dans AWS CLI les commandes, utilisez les paramètres --region et--endpoint-url.

Exemple : utilisez une URL de point de terminaison pour répertorier les objets dans votre compartiment

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

aws s3 ls s3://my-bucket/ --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

Exemple : utilisez une URL de point de terminaison pour répertorier les objets depuis un point d’accès

  • Méthode 1 : utilisation de l’Amazon Resource Name (ARN) du point d’accès avec le point de terminaison du point d’accès

    Remplacez l’ARN us-east-1:123456789012:accesspoint/accesspointexamplename, la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

    aws s3api list-objects-v2 --bucket arn:aws:s3:us-east-1:123456789012:accesspoint/accesspointexamplename --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

    Si vous ne parvenez pas à exécuter correctement la commande, AWS CLI installez la dernière version et réessayez. Pour plus d’informations sur les instructions de mise à jour, consultez Installation ou mise à jour de la dernière version de l’interface AWS CLI dans le Guide de l’utilisateur AWS Command Line Interface .

  • Méthode 2 : utilisation de l’alias du point d’accès avec le point de terminaison régional du compartiment

    Dans l’exemple suivant, remplacez l’alias du point d’accès accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  • Méthode 3 : utilisation de l’alias du point d’accès avec le point de terminaison du point d’accès

    Tout d’abord, pour construire un point de terminaison S3 avec le compartiment inclus dans le nom d’hôte, définissez le style d’adressage sur virtual pour aws s3api. Pour plus d’informations sur AWS configure, consultez Configuration and credential file settings (Paramètres des fichiers de configuration et d’informations d’identification) dans le Guide de l’utilisateur AWS Command Line Interface .

    aws configure set default.s3.addressing_style virtual

    Ensuite, dans l’exemple suivant, remplacez l’alias du point d’accès accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations. Pour plus d’informations sur les alias de point d’accès, consultez Alias de point d'accès.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
Exemple : utilisez une URL de point de terminaison pour répertorier les tâches avec une opération d’API de contrôle S3

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

aws s3control --region us-east-1 --endpoint-url https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com list-jobs --account-id 12345678

Pour accéder aux compartiments S3, aux points d'accès S3 ou aux opérations de l'API Amazon S3 Control via les points de terminaison de l'interface S3 lorsque vous utilisez le AWS SDKs, installez SDKs la dernière version. Configurez ensuite vos clients pour qu’ils utilisent une URL de point de terminaison afin d’accéder à un compartiment, un point d’accès ou des opérations d’API de contrôle Amazon S3 via des points de terminaison d’interface S3.

SDK for Python (Boto3)
Exemple : Utiliser une URL de point de terminaison pour accéder à un compartiment S3

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

s3_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Exemple : Utiliser une URL de point de terminaison pour accéder à un point d’accès S3

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

ap_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Exemple : utilisez une URL de point de terminaison pour accéder à l’API de contrôle Amazon S3

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

control_client = session.client( service_name='s3control', region_name='us-east-1', endpoint_url='https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
Exemple : Utiliser une URL de point de terminaison pour accéder à un compartiment S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

// bucket client final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); List<Bucket> buckets = s3.listBuckets();
Exemple : Utiliser une URL de point de terminaison pour accéder à un point d’accès S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et l’ARN us-east-1:123456789012:accesspoint/prod par vos propres informations.

// accesspoint client final AmazonS3 s3accesspoint = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); ObjectListing objects = s3accesspoint.listObjects("arn:aws:s3:us-east-1:123456789012:accesspoint/prod");
Exemple : utilisez une URL de point de terminaison pour accéder à une opération d’API de contrôle Amazon S3

Dans l'exemple suivant, remplacez l'ID du point de terminaison d'un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

// control client final AWSS3Control s3control = AWSS3ControlClient.builder().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); final ListJobsResult jobs = s3control.listJobs(new ListJobsRequest());
SDK for Java 2.x
Exemple : Utiliser une URL de point de terminaison pour accéder à un compartiment S3

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

// bucket client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Exemple : Utiliser une URL de point de terminaison pour accéder à un point d’accès S3

Dans l'exemple suivant, remplacez l'ID du point de terminaison d'un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et la région Region.US_EAST_1 par vos propres informations.

// accesspoint client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Exemple : utilisez une URL de point de terminaison pour accéder à l'API de contrôle Amazon S3

Dans l'exemple suivant, remplacez l'ID du point de terminaison d'un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et la région Region.US_EAST_1 par vos propres informations.

// control client Region region = Region.US_EAST_1; s3ControlClient = S3ControlClient.builder().region(region) .endpointOverride(URI.create("https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()

Mise à jour d'une configuration DNS sur site

Lorsque vous utilisez des noms DNS spécifiques aux points de terminaison pour accéder aux points de terminaison d’interface pour Amazon S3, vous n’avez pas besoin de mettre à jour votre résolveur DNS sur site. Vous pouvez résoudre le nom DNS spécifique au point de terminaison avec l’adresse IP privée du point de terminaison d’interface depuis le domaine DNS public Amazon S3.

Utilisation de points de terminaison d’interface pour accéder à Amazon S3 sans point de terminaison de passerelle ou passerelle Internet dans le VPC

Les points de terminaison d’interface de votre VPC peuvent acheminer les applications de VPC et les applications sur site vers Amazon S3 via le réseau Amazon, comme illustré dans le diagramme suivant.

Schéma de flux de données montrant l'accès à Amazon S3 à l'aide d'un point de terminaison d'interface et AWS PrivateLink.

Le diagramme illustre les éléments suivants :

  • Votre réseau local utilise Direct Connect ou Site-to-Site VPN pour se connecter au VPC A.

  • Vos applications sur site et dans le VPC A utilisent des noms DNS spécifiques aux points de terminaison pour accéder à Amazon S3 via le point de terminaison d’interface S3.

  • Les applications locales envoient des données au point de terminaison de l'interface dans le VPC Direct Connect via (ou) Site-to-Site VPN. AWS PrivateLink déplace les données du point de terminaison de l'interface vers Amazon S3 via le AWS réseau.

  • Les applications in-VPC envoient également du trafic vers le point de terminaison de l'interface. AWS PrivateLink déplace les données du point de terminaison de l'interface vers Amazon S3 via le AWS réseau.

Utilisation conjointe de points de terminaison de passerelle et de points de terminaison d’interface dans le même VPC pour accéder à Amazon S3

Vous pouvez créer des points de terminaison d’interface et conserver le point de terminaison de passerelle existant dans le même VPC, comme le montre le diagramme suivant. En adoptant cette approche, vous autorisez les applications internes au VPC à continuer d’accéder à Amazon S3 via le point de terminaison de la passerelle, ce qui n’est pas facturé. Ensuite, seules vos applications sur site utilisent des points de terminaison d’interface pour accéder à Amazon S3. Pour accéder à Amazon S3 de cette façon, vous devez mettre à jour vos applications sur site afin d’utiliser des noms DNS spécifiques du point de terminaison pour Amazon S3.

Le diagramme de flux de données montre l’accès à Amazon S3 avec des points de terminaison de passerelle et des points de terminaison d’interface.

Le diagramme illustre les éléments suivants :

  • Les applications locales utilisent des noms DNS spécifiques au point de terminaison pour envoyer des données au point de terminaison de l'interface au sein du VPC via (ou). Direct Connect Site-to-Site VPN AWS PrivateLink déplace les données du point de terminaison de l'interface vers Amazon S3 via le AWS réseau.

  • À l'aide des noms régionaux Amazon S3 par défaut, les applications intégrées au VPC envoient des données au point de terminaison de la passerelle qui se connecte à Amazon S3 via le AWS réseau.

Pour plus d’informations sur les points de terminaison de passerelle, consultez Points de terminaison d’un VPC de passerelle dans le Guide de l’utilisateur VPC.

Création d’une stratégie de point de terminaison de VPC pour Amazon S3

Vous pouvez attacher une stratégie de point de terminaison à votre point de terminaison de VPC qui contrôle l’accès à Amazon S3. 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 également utiliser des stratégies de compartiment Amazon S3 pour restreindre l’accès à des compartiments spécifiques depuis un point de terminaison d’un VPC spécifique en utilisant la condition aws:sourceVpce de votre stratégie de compartiment. Les exemples suivants montrent les stratégies qui restreignent l’accès à un compartiment ou à un point de terminaison.

Vous pouvez créer une stratégie de point de terminaison qui restreint l’accès à des compartiments Amazon S3 spécifiques uniquement. Ce type de politique est utile si d'autres Services AWS politiques de votre VPC utilisent des buckets. La stratégie de compartiment suivante restreint l’accès à amzn-s3-demo-bucket1 uniquement. Pour utiliser cette politique de point de terminaison, remplacez amzn-s3-demo-bucket1 par le nom de votre compartiment.

JSON
{ "Version":"2012-10-17", "Id": "Policy1415115909151", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*"] } ] }

Vous pouvez créer une politique de point de terminaison qui restreint l'accès uniquement aux compartiments S3 d'un point spécifique. Compte AWS Pour empêcher les clients de votre VPC d’accéder aux compartiments dont vous n’êtes pas le propriétaire, utilisez la déclaration suivante dans votre stratégie de point de terminaison. L’exemple de déclaration suivant crée une stratégie qui restreint l’accès aux ressources appartenant à un seul ID de Compte AWS , 111122223333.

{ "Statement": [ { "Sid": "Access-to-bucket-in-specific-account-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": "arn:aws:s3:::*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
Note

Pour spécifier l' Compte AWS ID de la ressource à laquelle vous accédez, vous pouvez utiliser la clé aws:ResourceAccount ou la s3:ResourceAccount clé dans votre politique IAM. Sachez toutefois que certains Services AWS dépendent de l'accès à des buckets AWS gérés. Par conséquent, l’utilisation de la clé aws:ResourceAccount ou s3:ResourceAccount dans votre politique IAM risque également d’avoir un impact sur l’accès à ces ressources.

La stratégie de compartiment Amazon S3 suivante autorise l’accès à un compartiment spécifique, amzn-s3-demo-bucket2, depuis le point de terminaison d’un VPC vpce-1a2b3c4d uniquement. La politique refuse tout accès au compartiment si le point de terminaison spécifié n’est pas utilisé. La condition aws:sourceVpce spécifie le point de terminaison et ne requiert pas d’Amazon Resource Name (ARN) pour la ressource de point de terminaison d’un VPC, mais uniquement l’ID du point de terminaison. Pour utiliser cette stratégie de point de terminaison, remplacez amzn-s3-demo-bucket2 et vpce-1a2b3c4d par le nom et le point de terminaison de votre compartiment.

Important
  • Lors de l’application de la stratégie de compartiment Amazon S3 suivante afin de restreindre l’accès à certains points de terminaison d’un VPC uniquement, vous pouvez bloquer involontairement votre accès au compartiment. Les stratégies de compartiment dans le but de restreindre l’accès aux connexions issues du point de terminaison de votre VPC peuvent bloquer toutes les connexions à ce compartiment. Pour des informations sur la correction de ce problème, consultez Ma stratégie de compartiment n’a pas le bon VPC ou ID de point de terminaison d’un VPC. Comment puis-je corriger la politique de façon à pouvoir accéder au compartiment ? que vous trouverez dans le Support Centre de connaissances.

  • Avant d'utiliser l'exemple de stratégie suivant, remplacez l'ID de point de terminaison du VPC par une valeur appropriée pour votre cas d'utilisation. Dans le cas contraire, vous ne parviendrez pas à accéder à votre compartiment.

  • Cette politique désactive l’accès de la console au compartiment spécifié, car les demandes de la console ne proviennent pas du point de terminaison du VPC défini.

JSON
{ "Version":"2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket2", "arn:aws:s3:::amzn-s3-demo-bucket2/*"], "Condition": {"StringNotEquals": {"aws:sourceVpce": "vpce-1a2b3c4d"}} } ] }

Pour plus d’exemples de stratégie, consultez Points de terminaison pour Amazon S3 dans le Guide de l’utilisateur VPC.

Pour plus d'informations sur la connectivité VPC, consultez les options de Network-to-VPC connectivité dans le AWS livre blanc Amazon Virtual Private Cloud Connectivity Options.