Pourquoi ne puis-je pas me connecter à un compartiment S3 à l'aide d'un point de terminaison d'un VPC passerelle ?

Date de la dernière mise à jour : 22/03/2022

J'utilise un point de terminaison passerelle pour me connecter à un compartiment Amazon Simple Storage Service (Amazon S3) à partir d'une instance Amazon Elastic Compute Cloud (Amazon EC2) dans Amazon Virtual Private Cloud (Amazon VPC). Cependant, la connexion ne fonctionne pas. Comment puis-je résoudre ce problème ?

Solution

Remarque : si vous recevez des erreurs lors de l'exécution de commandes à partir de l'AWS Command Line Interface (AWS CLI), assurez-vous d'utiliser la version la plus récente de l'interface.

Les problèmes de connectivité avec le point de terminaison d'un VPC passerelle peuvent être causés par des règles de sécurité ou d'accès au réseau qui autorisent la connexion à Amazon S3 à partir d'Amazon VPC. Vérifiez les ressources et configurations suivantes pour résoudre vos problèmes de connectivité.

Configurations de Région

Vous pouvez accéder aux objets Simple Storage Service (Amazon S3) à l'aide du point de terminaison d'un VPC uniquement lorsque les objets S3 se trouvent dans la même région que le point de terminaison d'un VPC passerelle Simple Storage Service (Amazon S3). Confirmez que vos objets et votre point de terminaison se trouvent dans la même Région.

Paramètres DNS dans votre VPC

Important : la résolution DNS doit être activée dans votre VPC (consultez Limitations de point de terminaison de passerelle). Si vous utilisez votre propre serveur DNS, assurez-vous que les demandes DNS adressées aux services AWS se résolvent en adresses IP gérées par AWS.

  1. Ouvrez la console Amazon VPC.
  2. Dans le panneau de navigation, sous Virtual Private Cloud (Cloud privé virtuel), choisissez Your VPCs (Vos VPC).
  3. Dans la liste des ressources, choisissez l'Amazon VPC présentant des problèmes de connectivité à Amazon S3.
  4. Dans la vue Summary (Récapitulatif), définissez DNS resolution (Résolution DNS) sur yes (oui).

Paramètres de la table de routage vers Amazon S3

  1. Ouvrez la console Amazon VPC.
  2. Dans le panneau de navigation, sous Virtual Private Cloud (Cloud privé virtuel), choisissez Route Tables (Tables de routage).
  3. Choisissez la table de routage associée au sous-réseau VPC pour lequel vous rencontrez des problèmes de connectivité à Amazon S3.
  4. Choisissez la vue Routes (Acheminement).
  5. Confirmez qu'il existe une route vers Amazon S3 qui utilise le point de terminaison d'un VPC passerelle.

Règles sortantes des groupes de sécurité

  1. Ouvrez la console Amazon EC2.
  2. Dans le volet de navigation, sous Réseau et sécurité, choisissez Groupes de sécurité.
  3. Dans la liste des ressources, choisissez le groupe de sécurité associé à l'instance que vous utilisez pour vous connecter à Amazon S3.
  4. Dans la vue Outbound (Sortantes), confirmez que les règles de sortie disponibles permettent le trafic vers Amazon S3.

La règle sortante par défaut autorise tout le trafic sortant. Si le groupe de sécurité a des règles plus restrictives que la règle sortante par défaut, ajoutez l'une des règles suivantes :

Pour plus d'informations, consultez Modifier votre groupe de sécurité.

Règles de l'ACL réseau

  1. Ouvrez la console Amazon VPC.
  2. Dans le panneau de navigation, sous Security (Sécurité), choisissez Network ACLs (ACL réseau).
  3. Dans la liste des ressources, choisissez la liste de contrôle d'accès réseau (ACL réseau) associée au sous-réseau VPC présentant des problèmes de connectivité à Amazon S3.
  4. Dans la vue Inbound Rules (Règles entrantes), confirmez que les règles autorisent le trafic de retour entrant depuis Simple Storage Service (Amazon S3) sur les ports TCP éphémères 1024-65535.
  5. Dans la vue Outbound Rules (Règles sortantes), confirmez que les règles permettent le trafic vers Simple Storage Service (Amazon S3) sur le port HTTPS.
Remarque : Par défaut, les ACL réseau autorisent tout le trafic IPv4 entrant et sortant. Les ACL réseau autorisent également tout le trafic IPv6 entrant et sortant, le cas échéant. Si vos règles ACL réseau limitent le trafic, vous devez spécifier le bloc d'adresse CIDR (plage d'adresses IP) pour Simple Storage Service (Amazon S3). Vous pouvez recevoir les notifications chaque fois que l'adresse IP d'AWS S3 change et vous pouvez utiliser des scripts pour mettre à jour automatiquement les règles NACL.

Politique de point de terminaison d'un VPC passerelle

Important : Les points de terminaison ne actuellement prennent pas en charge les demandes inter-régions. Assurez-vous que votre point de terminaison se trouve dans la même région que votre compartiment. Vous pouvez utiliser la commande get-bucket-location pour trouver l'emplacement de votre compartiment.

  1. Ouvrez la console Amazon VPC.
  2. Dans le panneau de navigation, sous Virtual Private Cloud (Cloud privé virtuel), choisissez Endpoints (Points de terminaison).
  3. Dans la liste des ressources, choisissez le point de terminaison associé au sous-réseau VPC présentant des problèmes de connectivité à Amazon S3.
  4. Choisissez la vue Policy (Politique).
  5. Passez en revue la politique de point de terminaison. Vérifiez si la stratégie bloque l'accès au compartiment S3 ou à l'utilisateur AWS Identity and Access Management (IAM) affecté par les problèmes de connectivité. Si besoin, modifiez la politique pour activer l'accès au compartiment S3 ou à l'utilisateur IAM. Pour plus d'informations, consultez Politiques de point de terminaison pour Amazon S3.

Politique de compartiment S3

  1. Ouvrez la console Amazon S3.
  2. Choisissez le compartiment S3 présentant des problèmes de connectivité.
  3. Choisissez la vue Autorisations.
  4. Choisissez Bucket Policy (Politique de compartiment).
  5. Assurez-vous que la politique de compartiment autorise l'accès depuis le point de terminaison d'un VPC passerelle et le VPC que vous souhaitez connecter. Modifiez la politique pour activer l'accès depuis le point de terminaison d'un VPC passerelle et le VPC. Pour plus d'informations, consultez Politiques de compartiment Simple Storage Service (Amazon S3).

Remarque : votre politique de compartiment peut limiter l'accès seulement depuis une adresse IP publique ou Elastic spécifique associée à une instance dans un VPC. Vous ne pouvez pas limiter l'accès en fonction des adresses IP privées associées aux instances. Pour plus d'informations, consultez Limitation de l'accès à des adresses IP spécifiques.

Si vous utilisez un serveur proxy, assurez-vous d'autoriser vos connexions VPC via le serveur. Si vous n'utilisez pas de serveur proxy pour Amazon S3, utilisez la commande suivante pour contourner le serveur proxy lors de l'accès à votre compartiment Amazon S3 :

export no_proxy = mybucket.s3.us-west-2.amazonaws.com

Remarque : assurez-vous de remplacer la valeur « us-west-2 » par votre Région.

Stratégie IAM

  1. Ouvrez la console IAM AWS.
  2. Choisissez le rôle ou l'utilisateur IAM utilisé pour accéder au compartiment S3 à partir de l'instance.
  3. Choisissez la vue Autorisations.
  4. Assurez-vous que les utilisateurs associés au rôle ou à l'utilisateur IAM disposent des autorisations appropriées pour accéder à Amazon S3. Pour plus d'informations, consultez Comment limiter l'accès au compartiment Amazon S3 à un rôle IAM spécifique et Contrôle de l'accès à un compartiment avec des politiques utilisateur.

Configuration AWS CLI

Configurez AWS CLI et définissez une région AWSpar défaut. Utilisez la commande aws configure pour spécifier un Nom de Région par défaut. Vous pouvez également définir l'option --region dans chaque commande d'AWS CLI si :

  • vous ne voulez pas spécifier de Région par défaut ;
    -ou-
  • vous voulez remplacer la Région par défaut.

Configuration du kit SDK AWS

Lorsque vous envoyez des demandes à un compartiment S3 à l'aide d'un point de terminaison d'un VPC passerelle, vous devez configurer le kit SDK (ou les objets client) pour utiliser la bonne Région. Pour plus d'informations, consultez Utilisation de l'objet Config.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?