Je souhaite utiliser des points de terminaison de VPC pour accéder en privé à mon compartiment Amazon Simple Storage Service (Amazon S3) depuis une instance Amazon Elastic Compute Cloud (Amazon EC2).
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Configurer les points de terminaison de VPC pour accéder en toute sécurité aux compartiments S3 à partir d'instances EC2
Vous pouvez utiliser un point de terminaison d'interface ou un point de terminaison de passerelle sans passerelle Internet ni périphérique NAT pour accéder à Amazon S3.
Pour créer et configurer un point de terminaison de passerelle S3, consultez la section Créer un point de terminaison de passerelle.
Pour créer un point de terminaison d'interface S3, consultez la section Créer un point de terminaison de VPC. Si vous utilisez un point de terminaison d'interface pour vous connecter au compartiment S3, vous devez transmettre le paramètre URL du point de terminaison dans les environnements AWS CLI ou AWS SDK. Si vous vous connectez via HTTP(S), vous devez utiliser l'URL de point de terminaison d'interface comme nom d'hôte. Pour de plus amples informations, consultez la section Accéder aux compartiments, aux points d'accès et aux opérations d'API de contrôle Amazon S3 à partir des points de terminaison d'interface S3.
Exemple d'URL de point de terminaison d'interface vers un point de terminaison de compartiment S3 :
your-resource-name.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com
Remarque : Remplacez your-resource-name par le nom de votre ressource.
Pour confirmer la connexion au compartiment S3, exécutez la commande ls de l’interface de ligne de commande AWS.
aws s3 ls s3://doc-example-bucket --endpoint-url https://bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com
Remarque : Remplacez doc-example-bucket par le nom de votre compartiment.
Restreindre l'accès public et utiliser les rôles IAM pour sécuriser l'accès au compartiment S3
Si vous ne connectez pas votre compartiment afin qu'il provienne de votre point de terminaison de VPC, vous recevez un message d’erreur Accès refusé. Pour appliquer les connexions privées de VPC à votre compartiment S3, attachez la politique de compartiment AWS Identity and Access Management (IAM) suivante :
{
"Version": "2012-10-17",
"Id": "DenyNonVPCeAccess",
"Statement": [
{
"Sid": "Access-to-specific-VPCE-only",
"Principal": "*",
"Action": "s3:*",
"Effect": "Deny",
"Resource": ["arn:aws:s3:::doc-example-bucket",
"arn:aws:s3:::doc-example-bucket/*"],
"Condition": {
"StringNotEquals": {
"aws:SourceVpce": "vpce-1a2b3c4d"
}
}
}
]
}
Remarque : Remplacez doc-example-bucket par le nom de votre compartiment.
Résoudre les problèmes de connectivité entre les instances EC2 et les compartiments S3 dotés de points de terminaison de VPC
Si vous rencontrez une erreur de délai d’expiration de connexion depuis le point de terminaison de VPC, utilisez l'analyseur d'accessibilité du VPC pour analyser le chemin de connexion. Pour en savoir plus, consultez la section Commencer à utiliser l’analyseur d'accessibilité.
Assurez-vous de transmettre la ressource de point de terminaison correcte dans l'URL lorsque vous utilisez le point de terminaison de l'interface VPC. Vérifiez que le groupe de sécurité du point de terminaison d'interface autorise le trafic entrant sur le port 443.
Informations connexes
Contrôle de l'accès à partir des points de terminaison d'un VPC avec des politiques de compartiment