Puntos de conexión de VPC para vectores de S3 - Amazon Simple Storage Service

Puntos de conexión de VPC para vectores de S3

Para acceder a vectores de S3 desde la nube privada virtual (VPC), Amazon S3 admite puntos de conexión de VPC de la interfaz mediante AWS PrivateLink (PrivateLink). PrivateLink proporciona conectividad privada entre la VPC y vectores de S3 sin necesidad de una puerta de enlace de Internet o un dispositivo NAT. Los puntos de conexión de la interfaz se representan mediante una o más interfaces de red elásticas (ENI) a las que se asignan direcciones IP privadas desde subredes de la VPC. Las solicitudes a vectores de S3 a través de puntos de conexión de interfaz permanecen en la red de AWS.

También puede acceder a los puntos de conexión de la interfaz de la VPC desde aplicaciones en las instalaciones a través de la AWS Direct Connect o la red privada virtual (VPN) de AWS (VPN de AWS). Para obtener más información sobre cómo conectar la VPC a la red en las instalaciones, consulte la Guía del usuario de AWS Direct Connect y la Guía del usuario de Site-to-Site VPN de AWS. Para obtener información general sobre los puntos de conexión de interfaz, consulte Acceso a un servicio de AWS mediante un punto de conexión de VPC de interfaz en la Guía del usuario de AWS PrivateLink.

El uso de PrivateLink con vectores de S3 ofrece varios beneficios operativos y de seguridad:

  • Seguridad mejorada: el tráfico entre la VPC y los vectores de S3 permanece dentro de la red de AWS y no atraviesa Internet.

  • Arquitectura de red simplificada: acceda a vectores de S3 sin configurar puertas de enlace de Internet, dispositivos NAT ni conexiones VPN.

  • Control de acceso granular: utilice políticas de punto de conexión de VPC para controlar a qué buckets vectoriales e índices vectoriales se puede acceder a través del punto de conexión.

  • Soporte de cumplimiento: cumpla con los requisitos reglamentarios que exigen la conectividad de red privada para la información confidencial.

Cuando se crea un punto de conexión de VPC, los vectores de S3 generan dos tipos de nombres de DNS específicos del punto de conexión: regional y zonal.

Los nombres de DNS regionales y zonales de los puntos de conexión de VPC de la interfaz para los vectores de S3 son los siguientes:

  • Nombre de DNS regional: vpce-1a2b3c4d-5e6f.s3vectors.region.vpce.amazonaws.com, el nombre de DNS del punto de conexión de VPC regional. Decida siempre direcciones IP privadas.

  • Nombre de DNS zonal: vpce-1a2b3c4d-5e6f-availability_zone_code.s3vectors.region.vpce.amazonaws.com, nombres de DNS de punto de conexión de VPC específicos de la zona. Decida siempre direcciones IP privadas.

También puede usar el nombre de DNS del punto de conexión público s3vectors.region.api.aws como nombre de DNS privado del servicio de punto de conexión si tiene el DNS privado habilitado para el punto de conexión de VPC.

Los puntos de conexión de DNS regionales, zonales y privados de vectores de S3 admiten los tipos de IP IPv4, IPv6 y de doble pila para AWS PrivateLink. Para obtener más información, consulte los tipos de direcciones IP y el tipo de IP del registro de DNS para los servicios de AWS en la Guía de AWS PrivateLink.

A continuación, se describen algunos puntos que debe saber antes de intentar acceder a índices de vectores de S3 y buckets de vectores mediante IPv6 en la VPC:

Puede crear un punto de conexión de interfaz de la VPC para vectores de S3 mediante la consola de la VPC, la CLI de AWS, los AWS SDK o la API de AWS.

  1. Abra la consola de VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Puntos de conexión.

  3. Elija Crear punto de conexión.

  4. En Service category (Categoría de servicios), elija AWSServices (Servicios de AWC).

  5. Para Servicios, busque s3vectors y seleccione com.amazonaws.region.s3vectors.

  6. Par VPC, seleccione la VPC en la que desee crear el punto de conexión.

  7. (Opcional) En Configuración adicional, para Habilitar el nombre de DNS, elija si desea habilitar la característica de DNS privado. Cuando están habilitadas, las solicitudes que utilizan el punto de conexión de servicio público (s3vectors.region.api.aws), como las solicitudes realizadas a través de AWS SDK, se resuelven en el punto de conexión de VPC en lugar de en el punto de conexión público.

  8. Para Subredes, seleccione las subredes en las que se van a crear las interfaces de red de punto de conexión.

  9. Para Tipo de dirección IP, elija el tipo de dirección IP para el punto de conexión:

    • IPv4: se asignan direcciones IPv4 a las interfaces de red del punto de conexión. Esta opción solo se admite si todas las subredes seleccionadas tienen rangos de direcciones IPv4.

    • IPv6: se asignan direcciones IPv6 a las interfaces de red del punto de conexión. Esta opción solo se admite si todas las subredes seleccionadas son subredes IPv6.

    • Doble pila: se asignan direcciones IPv4 e IPv6 a las interfaces de red del punto de conexión. Esta opción solo se admite si todas las subredes seleccionadas tienen rangos de direcciones IPv4 e IPv6.

  10. En Grupos de seguridad, seleccione los grupos de seguridad que deban asociarse a las interfaces de red del punto de conexión.

  11. (Opcional) Para la política, puede adjuntar una política de punto de conexión de VPC para controlar el acceso a vectores de S3 a través del punto de conexión. Para permitir todas las operaciones de todas las entidades principales en todos los recursos de vectores de S3 del punto de conexión de interfaz, elija Acceso completo. Para restringir el acceso, elija Personalizar e ingrese una política. Para obtener más información, consulte Control del acceso a puntos de conexión de VPC mediante políticas de punto de conexión en la Guía de AWS PrivateLink. Si no adjunta una política, la política predeterminada permite el acceso completo.

  12. Seleccione Crear punto de conexión.

Para crear un nuevo punto de conexión de VPC que devuelva IPv4 e IPv6 para vectores de S3, utilice el siguiente comando de la CLI de ejemplo. Para obtener más información, consulte create-vpc-endpoint.

aws ec2 create-vpc-endpoint \ --vpc-id vpc-12345678 \ --service-name com.amazonaws.region.s3vectors \ --vpc-endpoint-type Interface \ --subnet-ids subnet-12345678 subnet-87654321 \ --security-group-ids sg-12345678 \ --ip-address-type dualstack \ --private-dns-enabled

El parámetro --private-dns-enabled habilita la característica de DNS privado. Cuando está habilitada, las solicitudes a s3vectors.region.api.aws se enrutarán a través del punto de conexión de VPC.

Para obtener más información sobre creación de puntos de conexión de VPC, consulte Crear un punto de conexión de VPC en la Guía del usuario de VPC.

Al igual que sucede con las políticas basadas en recursos, puede adjuntar una política de punto de conexión al punto de conexión de VPC que controle el acceso a los índices de vectores y los buckets de vectores. Para obtener más información sobre las políticas de punto de conexión, consulte Control del acceso a puntos de conexión de VPC mediante políticas de punto de conexión en la Guía de AWS PrivateLink.

La política de punto de conexión de VPC de ejemplo siguiente permite el acceso a todas las operaciones de vectores de S3 para todas las entidades principales:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3vectors:*" ], "Resource": "*" } ] }

La política de punto de conexión de VPC de ejemplo siguiente restringe el acceso a un bucket vectorial específico:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3vectors:GetVectorBucket", "s3vectors:ListIndexes", "s3vectors:GetIndex", "s3vectors:QueryVectors", "s3vectors:GetVectors" ], "Resource": [ "arn:aws:s3vectors:us-west-2:111122223333:bucket/amzn-s3-demo-vector-bucket", "arn:aws:s3vectors:us-west-2:111122223333:bucket/amzn-s3-demo-vector-bucket/*" ] } ] }

La política de punto de conexión de VPC de ejemplo siguiente permite el acceso solo durante el horario laboral mediante la clave de condición aws:CurrentTime:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3vectors:*", "Resource": "*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "08:00Z" }, "DateLessThan": { "aws:CurrentTime": "18:00Z" } } } ] }

Al usar puntos de conexión de VPC con vectores de S3, puede configurar los clientes de vectores de S3 para que usen el nombre de DNS del servicio o el nombre de DNS del punto de conexión de VPC.

SDK for Python

En el ejemplo siguiente, se muestra cómo configurar el cliente de vectores de S3 en el SDK para Python (Boto3) para usar un punto de conexión de VPC:

import boto3 # Using service DNS name (requires private DNS feature enabled on VPC endpoint) s3vectors_client = boto3.client( 's3vectors', region_name='us-west-2', endpoint_url='https://s3vectors.us-west-2.api.aws' ) # Using VPC endpoint DNS name s3vectors_client = boto3.client( 's3vectors', region_name='us-west-2', endpoint_url='https://vpce-12345678.s3vectors.us-west-2.vpce.amazonaws.com' )

Si tiene problemas con el punto de conexión de VPC de la interfaz, tenga en cuenta los siguientes pasos de solución de problemas:

  • Resolución de DNS: compruebe que las consultas de DNS para el punto de conexión se resuelvan en direcciones IP privadas dentro del rango CIDR de la VPC cuando utilice un DNS privado.

  • Grupos de seguridad: asegúrese de que el grupo de seguridad asociado al punto de conexión de VPC permite el tráfico HTTPS entrante (puerto 443) desde los recursos de VPC.

  • Tablas de enrutamiento: compruebe que las tablas de enrutamiento de subred no tengan rutas conflictivas que puedan redirigir el tráfico fuera del punto de conexión de VPC.

  • Política de punto de conexión de VPC: compruebe que la política de punto de conexión de VPC permita las acciones y los recursos de vectores de S3 necesarios.

  • Configuración del cliente: si la característica de DNS privado está desactivada, configure el cliente de vectores de S3 para que utilice el nombre de DNS del punto de conexión de VPC en lugar del nombre de DNS del servicio.

Puede supervisar el uso de los puntos de conexión de VPC de vectores de S3 mediante los registros de eventos de CloudTrail NetworkActivity.

Para obtener más información sobre los registros de vectores de S3, consulte Registro con AWS CloudTrail para S3 Vectors.