Uso de puntos de conexión de doble pila en S3 en Outposts - Amazon Simple Storage Service

Uso de puntos de conexión de doble pila en S3 en Outposts

Los puntos de conexión de doble pila de S3 en Outposts permiten realizar solicitudes a los buckets de S3 en Outposts a través de IPv6 y de IPv4. En esta sección se describe cómo utilizar los puntos de conexión de doble pila de S3 en Outposts.

Puntos de conexión de doble pila de S3 en Outposts

Cuando realiza una solicitud a un punto de conexión de doble pila, la URL del bucket de S3 en Outposts resulta en una dirección IPv6 o IPv4. Para obtener más información acerca de un bucket de S3 en Outposts mediante IPv6, consulte Realización de solicitudes a S3 en Outposts mediante IPv6.

Para obtener acceso a un bucket de S3 en Outposts mediante un punto de conexión de doble pila, use un nombre de punto de conexión de tipo ruta. S3 en Outposts solo admite nombres de puntos de conexión de doble pila regionales, por lo que debe especificar la región dentro del nombre.

Los puntos de conexión FIPS de doble pila de tipo ruta utilizan la siguiente convención de nomenclatura:

s3-outposts-fips.region.api.aws

Los puntos de conexión FIPS que no son de doble pila utilizan la siguiente convención de nomenclatura:

s3-outposts.region.api.aws
nota

Los nombres de punto de conexión de tipo de alojamiento virtual no son compatibles con S3 en Outposts.

Usar puntos de enlace de doble pila desde la AWS CLI

Esta sección proporciona ejemplos de comandos de la AWS CLI. que se usan para realizar solicitudes a un punto de conexión de doble pila. Para obtener instrucciones acerca de cómo configurar la AWS CLI, consulte Introducción mediante AWS CLI y SDK para Java.

Puede establecer el valor de configuración use_dualstack_endpoint en true en un perfil de su archivo de AWS Config para dirigir todas las solicitudes de Amazon S3 que realicen los comandos s3 y s3api de la AWS CLI al punto de conexión de doble pila para la región especificada. Puede especificar la región en el archivo de configuración o en un comando utilizando la opción --region.

Si utiliza puntos de conexión de doble pila con la AWS CLI, solo se admiten los estilos de direccionamiento path. El estilo de direccionamiento configurado en el archivo de configuración determina si el nombre del bucket está en el name de host o en la URL. Para obtener más información, consulte s3outposts en la Guía del usuario de AWS CLI.

Para usar un punto de conexión de doble pila mediante la AWS CLI, utilice el parámetro --endpoint-url junto con el punto de conexión http://s3.dualstack.region.amazonaws.com o https://s3-outposts-fips.region.api.aws para cualquiera de los comandos s3control o s3outposts.

Por ejemplo:

$ aws s3control list-regional-buckets --endpoint-url https://s3-outposts.region.api.aws

Uso de los puntos de conexión de doble pila de S3 en Outposts desde los SDK de AWS

En esta sección, se proporcionan ejemplos de cómo obtener acceso a un punto de enlace de doble pila con los SDK de AWS.

AWS SDK for Java 2.xEjemplo de punto de enlace de doble pila con

En el siguiente ejemplo se muestra cómo usar las clases S3ControlClient y S3OutpostsClient para habilitar puntos de conexión de doble pila al crear un cliente S3 en Outposts con AWS SDK for Java 2.x. Para obtener instrucciones sobre cómo crear y probar un ejemplo de Java funcional para Amazon S3 en Outposts, consulte Introducción mediante AWS CLI y SDK para Java.

ejemplo — Crear una clase de S3ControlClient con los puntos de conexión de doble pila habilitados
import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3control.S3ControlClient; import software.amazon.awssdk.services.s3control.model.ListRegionalBucketsRequest; import software.amazon.awssdk.services.s3control.model.ListRegionalBucketsResponse; import software.amazon.awssdk.services.s3control.model.S3ControlException; public class DualStackEndpointsExample1 { public static void main(String[] args) { Region clientRegion = Region.of("us-east-1"); String accountId = "111122223333"; String navyId = "9876543210"; try { // Create an S3ControlClient with dual-stack endpoints enabled. S3ControlClient s3ControlClient = S3ControlClient.builder() .region(clientRegion) .dualstackEnabled(true) .build(); ListRegionalBucketsRequest listRegionalBucketsRequest = ListRegionalBucketsRequest.builder() .accountId(accountId) .outpostId(navyId) .build(); ListRegionalBucketsResponse listBuckets = s3ControlClient.listRegionalBuckets(listRegionalBucketsRequest); System.out.printf("ListRegionalBuckets Response: %s%n", listBuckets.toString()); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 on Outposts couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (S3ControlException e) { // Unknown exceptions will be thrown as an instance of this type. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 on Outposts couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3 on Outposts. e.printStackTrace(); } } }
ejemplo — Crear un S3OutpostsClient con los puntos de conexión de doble pila habilitados
import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3outposts.S3OutpostsClient; import software.amazon.awssdk.services.s3outposts.model.ListEndpointsRequest; import software.amazon.awssdk.services.s3outposts.model.ListEndpointsResponse; import software.amazon.awssdk.services.s3outposts.model.S3OutpostsException; public class DualStackEndpointsExample2 { public static void main(String[] args) { Region clientRegion = Region.of("us-east-1"); try { // Create an S3OutpostsClient with dual-stack endpoints enabled. S3OutpostsClient s3OutpostsClient = S3OutpostsClient.builder() .region(clientRegion) .dualstackEnabled(true) .build(); ListEndpointsRequest listEndpointsRequest = ListEndpointsRequest.builder().build(); ListEndpointsResponse listEndpoints = s3OutpostsClient.listEndpoints(listEndpointsRequest); System.out.printf("ListEndpoints Response: %s%n", listEndpoints.toString()); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 on Outposts couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (S3OutpostsException e) { // Unknown exceptions will be thrown as an instance of this type. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 on Outposts couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3 on Outposts. e.printStackTrace(); } } }

Si utiliza AWS SDK for Java 2.x en Windows, es probable que tenga que configurar adecuadamente la siguiente propiedad de la máquina virtual Java (JVM):

java.net.preferIPv6Addresses=true