Utilisation de points de terminaison à double pile S3 sur Outposts
Les points de terminaison à double pile S3 sur Outposts prennent en charge les demandes envoyées aux compartiments S3 sur Outposts via IPv6 et IPv4. Cette section décrit comment utiliser les points de terminaison à double pile S3 sur Outposts.
Rubriques
Points de terminaison à double pile S3 sur Outposts
Lorsque vous envoyez une demande à un point de terminaison à double pile, l’URL du compartiment S3 sur Outposts est résolue en une adresse IPv6 ou IPv4. Pour plus d’informations sur l’accès à un compartiment S3 sur Outposts via IPv6, consultez Envoi de demandes à S3 sur Outposts via IPv6.
Pour accéder à un compartiment S3 sur Outposts via un point de terminaison à double pile, utilisez un nom de point de terminaison de type chemin. S3 sur Outposts prend uniquement en charge les noms des points de terminaison à double pile régionaux, ce qui signifie que vous devez spécifier la région dans le nom.
Pour un point de terminaison FIPS à double pile de type chemin, utilisez la convention de dénomination suivante :
s3-outposts-fips.region.api.aws
Pour un point de terminaison non FIPS à double pile, utilisez la convention de dénomination suivante :
s3-outposts.region.api.aws
Note
Les noms des points de terminaison de type hébergement virtuel ne sont pas pris en charge dans S3 sur Outposts.
Utilisation de points de terminaison Dual-Stack avec l AWS CLI
Cette section fournit des exemples de commandes d’AWS CLI permettant d’envoyer des demandes à un point de terminaison Dual-Stack. Pour savoir comment configurer l’AWS CLI, consultez Bien démarrer avec l'interface AWS CLI et le kit SDK pour Java.
Vous définissez la valeur de configuration use_dualstack_endpoint sur true dans un profil de votre fichier AWS Config pour diriger toutes les demandes Amazon S3 envoyées par les commandes de l’AWS CLI de s3 et s3api au point de terminaison à double pile de la région spécifiée. Vous spécifiez la région dans le fichier de configuration ou dans une commande à l’aide de l’option --region.
Lorsque vous utilisez des points de terminaison à double pile à l’aide de l’AWS CLI, seul le type d’adressage path est pris en charge. Le type d’adressage, défini dans le fichier de configuration, détermine si le nom du compartiment figure dans le nom d’hôte ou dans l’URL. Pour plus d’informations, consultez s3outposts dans le Guide de l’utilisateur AWS CLI.
Pour utiliser un point de terminaison à double pile via l’AWS CLI, utilisez le paramètre --endpoint-url avec le point de terminaison http://s3.dualstack. ou region.amazonaws.com.rproxy.govskope.cahttps://s3-outposts-fips. pour toute commande region.api.awss3control ou s3outposts.
Par exemple :
$aws s3control list-regional-buckets --endpoint-url https://s3-outposts.region.api.aws
Utilisation de points de terminaison à double pile S3 sur Outposts à partir des kits AWS SDK
Cette section fournit des exemples d’accès à un point de terminaison Dual-Stack à l’aide de kits SDK AWS.
AWS SDK for Java 2.xExemple de point de terminaison Dual-Stack (double pile) avec le kit
Les exemples suivants montrent comment utiliser les classes S3ControlClient et S3OutpostsClient pour activer les points de terminaison à double pile lors de la création d’un client S3 sur Outposts à l’aide du kit AWS SDK for Java 2.x. Pour obtenir des instructions pour la création et le test d’un exemple pratique Java pour Amazon S3 sur Outposts, consultez Bien démarrer avec l'interface AWS CLI et le kit SDK pour Java.
Exemple – Création d’une classe S3ControlClient avec les points de terminaison à double pile activés
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(); } } }
Exemple – Création d’un S3OutpostsClient avec les points de terminaison à double pile activés
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 vous utilisez le kit AWS SDK for Java 2.x sous Windows, il se peut que vous ayez à définir la propriété de machine virtuelle Java (JVM) suivante :
java.net.preferIPv6Addresses=true