Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des points de terminaison Dual-Stack Amazon S3
Les points de terminaison à double pile Amazon S3 prennent en charge les demandes envoyées aux compartiments S3 via IPv6 et IPv4. Cette section décrit comment utiliser les points de terminaison Dual-Stack (double pile).
Rubriques
Points de terminaison Amazon S3 Dual-Stack
Lorsque vous envoyez une demande à un point de terminaison Dual-Stack, l'URL du compartiment est résolue en une adresse IPv6 ou IPv4. Pour plus d’informations sur l’accès à un compartiment via IPv6, consultez Envoi de demandes à Amazon S3 via IPv6.
Lorsque vous utilisez l'API REST, vous accédez directement à un point de terminaison Amazon S3 à l'aide du nom de point de terminaison (URI). Vous pouvez accéder à un compartiment S3 via un point de terminaison Dual-Stack en utilisant un nom de point de terminaison de type hébergement virtuel ou chemin. Amazon S3 prend uniquement en charge les noms de points de terminaison Dual-Stack Régionaux ; vous devez donc spécifier la Région dans le nom.
Utilisez les conventions de dénomination suivantes pour les points de terminaison Dual-Stack de type hébergement virtuel ou chemin :
-
Point de terminaison Dual-Stack de type hébergement virtuel :
bucketname.s3. dualstack.aws-region.amazonaws.com -
Path-style point de terminaison à double pile :
S3. DualStack.
aws-region.amazonaws.com/bucketname
Pour plus d'informations sur le style de nom du point de terminaison, consultez la section Accès à un compartiment Amazon S3 et sa mise en vente. Pour obtenir la liste des points de terminaison Amazon S3, consultez Régions et points de terminaison dans la Références générales AWS.
Important
Vous pouvez utiliser Transfer Acceleration avec les points de terminaison double pile (« Dual-Stack »). Pour plus d'informations, consultez Mise en route avec Amazon S3 Transfer Acceleration.
Note
Les deux types de points de terminaison de cloud privé virtuel (VPC) qui accèdent à Amazon S3 (points de terminaison VPC d'interface et points de terminaison VPC de passerelle) sont désormais compatibles avec la double pile. Pour plus d'informations sur les points de terminaison VPC pour Amazon S3, consultez AWS PrivateLink Amazon S3.
Lorsque vous utilisez le AWS Command Line Interface (AWS CLI) et AWS les SDK, vous pouvez utiliser un paramètre ou un indicateur pour passer à un point de terminaison à double pile. Vous pouvez également spécifier directement le point de terminaison Dual-Stack en remplaçant le point de terminaison Amazon S3 dans le fichier de configuration. Les sections suivantes décrivent comment utiliser les points de terminaison à double pile à partir du SDK AWS CLI et des AWS SDK.
À l'aide de points de terminaison à double pile provenant du AWS CLI
Cette section fournit des exemples de AWS CLI commandes utilisées pour envoyer des requêtes à un point de terminaison à double pile. Pour obtenir des instructions sur la configuration du AWS CLI, consultezDéveloppement avec Amazon S3 à l'aide du AWS CLI.
Vous définissez la valeur de configuration use_dualstack_endpoint sur true dans un profil de votre AWS Config fichier afin de diriger toutes les requêtes Amazon S3 effectuées par les s3api AWS CLI commandes s3 et vers le point de terminaison à double pile pour la région spécifiée. Vous indiquez 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 avec les styles d'virtualadressage AWS CLI, les deux path et sont pris en charge. Le type d'adressage défini dans le fichier de configuration vérifie que le nom du compartiment se trouve bien dans le nom d'hôte ou fait partie de l'URL. Par défaut, l'interface de ligne de commande tente, si possible, d'utiliser le style virtuel, mais revient au type chemin si nécessaire. Pour plus d’informations, consultez Configuration de la AWS CLI d’Amazon S3.
Vous pouvez également modifier la configuration à l'aide d'une commande, comme indiqué dans l'exemple ci-dessous, qui définit use_dualstack_endpoint sur true et addressing_style sur virtual dans le profil par défaut.
$aws configure set default.s3.use_dualstack_endpoint true$aws configure set default.s3.addressing_style virtual
Si vous souhaitez utiliser un point de terminaison à double pile pour des AWS CLI commandes spécifiques uniquement (pas toutes les commandes), vous pouvez utiliser l'une des méthodes suivantes :
-
Vous pouvez utiliser le point de terminaison Dual-Stack par commande en définissant le paramètre
--endpoint-urlsurhttps://s3.dualstack.ou suraws-region.amazonaws.com.rproxy.goskope.comhttp://s3.dualstack.pour toute commandeaws-region.amazonaws.com.rproxy.goskope.coms3ous3api.$aws s3api list-objects --bucketbucketname--endpoint-url https://s3.dualstack.aws-region.amazonaws.com -
Vous pouvez créer des profils distincts dans votre AWS Config dossier. Par exemple, vous pouvez créer un profil qui définit
use_dualstack_endpointsurtrueet un profil qui ne définit pasuse_dualstack_endpoint. Lorsque vous exécutez une commande, spécifiez le profil adéquat selon que vous comptez utiliser ou non le point de terminaison Dual-Stack.
Note
Lorsque vous utilisez le, AWS CLI vous ne pouvez actuellement pas utiliser l'accélération des transferts avec des points de terminaison à double pile. Cependant, le support pour AWS CLI le sera bientôt. Pour plus d'informations, consultez la section Activation et utilisation de l'accélération de transfert S3.
À l'aide de points de terminaison à double pile provenant du AWS Kits SDK
Cette section fournit des exemples d'accès à un terminal à double pile à l'aide des AWS kits SDK.
AWS SDK pour Java exemple de point de terminaison à double pile
L'exemple suivant montre comment activer les points de terminaison Dual-Stack lors de la création d'un client Amazon S3 à l'aide du kit AWS SDK pour Java.
Pour obtenir des instructions sur la création et le test d'un exemple Java fonctionnel, consultez Getting Started dans le Guide du AWS SDK pour Java développeur.
import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; public class DualStackEndpoints { public static void main(String[] args) { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; try { // Create an Amazon S3 client with dual-stack endpoints enabled. AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .withDualstackEnabled(true) .build(); s3Client.listObjects(bucketName); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
Si vous utilisez AWS SDK pour Java le sous Windows, vous devrez peut-être définir la propriété de machine virtuelle Java (JVM) suivante :
java.net.preferIPv6Addresses=true
AWS Exemple de point de terminaison à double pile du SDK .NET
Lorsque vous utilisez le AWS SDK pour .NET, vous utilisez la AmazonS3Config classe pour activer l'utilisation d'un point de terminaison à double pile, comme indiqué dans l'exemple suivant.
using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class DualStackEndpointTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { var config = new AmazonS3Config { UseDualstackEndpoint = true, RegionEndpoint = bucketRegion }; client = new AmazonS3Client(config); Console.WriteLine("Listing objects stored in a bucket"); ListingObjectsAsync().Wait(); } private static async Task ListingObjectsAsync() { try { var request = new ListObjectsV2Request { BucketName = bucketName, MaxKeys = 10 }; ListObjectsV2Response response; do { response = await client.ListObjectsV2Async(request); // Process the response. foreach (S3Object entry in response.S3Objects) { Console.WriteLine("key = {0} size = {1}", entry.Key, entry.Size); } Console.WriteLine("Next Continuation Token: {0}", response.NextContinuationToken); request.ContinuationToken = response.NextContinuationToken; } while (response.IsTruncated == true); } catch (AmazonS3Exception amazonS3Exception) { Console.WriteLine("An AmazonS3Exception was thrown. Exception: " + amazonS3Exception.ToString()); } catch (Exception e) { Console.WriteLine("Exception: " + e.ToString()); } } } }
Pour plus d'informations sur la configuration et l'exécution des exemples de code, consultez la section Getting Started with the AWSAWS SDK for .NET Developer Guide.
Utilisation de points de terminaison Dual-Stack avec l'API REST
Pour obtenir des informations sur la procédure permettant d'envoyer des demandes à des points de terminaison Dual-Stack à l'aide de l'API REST, consultez la section Envoi de demandes à des points de terminaison Dual-Stack à l'aide de l'API REST.