Quiero usar puntos de enlace de VPC para acceder de forma privada a mi bucket de Amazon Simple Storage Service (Amazon S3) desde una instancia de Amazon Elastic Compute Cloud (Amazon EC2).
Solución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Configuración de los puntos de enlace de VPC para acceder de forma segura a los buckets de S3 desde las instancias de EC2
Puedes usar un punto de enlace de interfaz o un punto de enlace de puerta de enlace sin una puerta de enlace de Internet o un dispositivo NAT para acceder a Amazon S3. Para obtener más información, consulta Cómo elegir la estrategia de punto de enlace de VPC para Amazon S3.
Para crear y configurar un punto de enlace de puerta de enlace de S3, consulta Creación de un punto de enlace de puerta de enlace.
Para crear un punto de enlace de interfaz de S3, consulta Creación de un punto de enlace de VPC. Si usas un punto de enlace de interfaz para conectarte al bucket de S3, debes pasar el parámetro URL del punto de enlace en los entornos de AWS CLI o AWS SDK. Si te conectas a través de HTTP(S), debes usar la URL del punto de enlace de la interfaz como nombre de host. Para obtener más información, consulta Acceso a buckets, puntos de acceso y operaciones de la API de control de Amazon S3 desde los puntos de enlace de la interfaz de S3.
Ejemplo de URL de punto de enlace de interfaz a un punto de enlace de bucket de S3:
your-resource-name.vpce-0e25b8cdd720f900e-argc85vg.s3.region.vpce.amazonaws.com
Nota: Sustituye your-resource-name por el nombre de tu recurso y region por tu región de AWS.
Para confirmar la conexión al bucket de S3, ejecuta el comando ls de la AWS CLI:
aws s3 ls s3://doc-example-bucket --endpoint-url https://bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.region.vpce.amazonaws.com
Nota: Sustituye doc-example-bucket por el nombre de tu bucket y region por tu región.
Restricción del acceso público y uso de los roles de IAM para proteger el acceso a los buckets de S3
Si no conectas tu bucket para que se origine en el punto de enlace de VPC, recibirás un error de «Access denied». Para aplicar las conexiones privadas de VPC a tu bucket de S3, adjunta la siguiente política de bucket de AWS Identity and Access Management (IAM):
{
"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"
}
}
}
]
}
Nota: Sustituye doc-example-bucket por el nombre del bucket.
Solución de problemas de conectividad entre las instancias de EC2 y los buckets de S3 con puntos de enlace de VPC
Si se produce un error de tiempo de espera de conexión desde el punto de enlace de VPC, utiliza el analizador de accesibilidad para analizar la ruta de conexión. Para obtener más información, consulta Introducción al analizador de accesibilidad.
Asegúrate de introducir el recurso de punto de enlace correcto en la URL cuando utilices el punto de enlace de la interfaz de la VPC. Comprueba que el grupo de seguridad de punto de enlace de la interfaz permita el tráfico entrante en el puerto 443.
Solución de errores 403 Access Denied
Si realizas varios cambios en la política de puntos de enlace de VPC al mismo tiempo, es posible que recibas errores 403 «Access Denied».
Los cambios en la política de puntos de enlace de VPC pueden tardar entre 1 y 2 minutos en surtir efecto. Espera a que la política se actualice antes de realizar cambios adicionales o probar el acceso.
Información relacionada
Control del acceso desde puntos de enlace de VPC con políticas de bucket
¿Cómo compruebo si mi tráfico de Amazon S3 pasa por un punto de enlace de Amazon VPC de puerta de enlace o un punto de enlace de Amazon VPC de interfaz?