Utilisation de points de terminaison dans l’AWS CLI - AWS Command Line Interface

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 de points de terminaison dans l’AWS CLI

Pour vous connecter par programmation à un Service AWS, vous utilisez un point de terminaison. Un point de terminaison est l’URL du point d’entrée d’un service web AWS. L’AWS Command Line Interface (AWS CLI) utilise automatiquement le point de terminaison par défaut pour chacun des services d’une Région AWS, mais vous pouvez spécifier un point de terminaison de remplacement pour vos demandes d’API.

Définition d’un point de terminaison pour une commande unique

Pour remplacer les paramètres du point de terminaison ou les variables d’environnement pour une commande unique, utilisez l’option de ligne de commande --endpoint-url. L’exemple de commande suivant utilise une URL de point de terminaison Amazon S3 personnalisée.

$ aws s3 ls --endpoint-url http://localhost:4567

Définition d’un point de terminaison global pour tous les Services AWS

Pour acheminer les demandes de tous les services vers une URL de point de terminaison personnalisée, utilisez l’un des paramètres suivants :

  • Variables d’environnement :

    • AWS_IGNORE_CONFIGURED_ENDPOINT_URLS - Ignorer les URL de point de terminaison configurées.

      Linux or macOS
      $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
      Windows Command Prompt

      Définition pour toutes les sessions

      C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true

      Définition pour la session en cours uniquement

      C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
      PowerShell
      PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
    • AWS_ENDPOINT_URL - Définir l’URL du point de terminaison global.

      Linux or macOS
      $ export AWS_ENDPOINT_URL=http://localhost:4567
      Windows Command Prompt

      Définition pour toutes les sessions

      C:\> setx AWS_ENDPOINT_URL http://localhost:4567

      Définition pour la session en cours uniquement

      C:\> set AWS_ENDPOINT_URL=http://localhost:4567
      PowerShell
      PS C:\> $Env:AWS_ENDPOINT_URL="http://localhost:4567"
  • Fichier config :

    • ignore_configure_endpoint_urls - Ignorer les URL de point de terminaison configurées.

      ignore_configure_endpoint_urls = true
    • endpoint_url - Définir l’URL du point de terminaison global.

      endpoint_url = http://localhost:4567

Les points de terminaison spécifiques aux services et l’option de ligne de commande --endpoint-url remplacent les points de terminaison globaux.

Éléments à définir afin de permettre l’utilisation de points de terminaison FIPS pour tous les Services AWS

Pour acheminer les demandes de tous les services permettant l’utilisation de points de terminaison FIPS, utilisez l’un des éléments suivants :

  • Variable d’environnement AWS_USE_FIPS_ENDPOINT.

    Linux or macOS
    $ export AWS_USE_FIPS_ENDPOINT=true
    Windows Command Prompt

    Définition pour toutes les sessions

    C:\> setx AWS_USE_FIPS_ENDPOINT true

    Définition pour la session en cours uniquement

    C:\> set AWS_USE_FIPS_ENDPOINT=true
    PowerShell
    PS C:\> $Env:AWS_USE_FIPS_ENDPOINT="true"
  • Paramètre de fichier use_fips_endpoint.

    use_fips_endpoint = true

Certains services AWS proposent des points de terminaison qui prennent en charge la norme FIPS (Federal Information Processing Standard) 140-2 dans certaines Régions AWS. Lorsque le service AWS prend en charge la norme FIPS, ce paramètre indique le point de terminaison FIPS que l’AWS CLI doit utiliser. Contrairement aux points de terminaison AWS standard, les points de terminaison FIPS utilisent une bibliothèque de logiciels TLS conforme à la norme FIPS 140-2. Ces points de terminaison peuvent être requis par les entreprises qui interagissent avec le gouvernement des États-Unis.

Si ce paramètre est activé, mais qu’il n’existe pas de point de terminaison FIPS pour le service dans votre Région AWS, la commande AWS risque d’échouer. Dans ce cas, indiquez manuellement le point de terminaison à utiliser dans la commande à l’aide de l’option --endpoint-url ou utilisez des points de terminaison spécifiques aux services.

Pour plus d’informations sur l’indication de points de terminaison FIPS par Région AWS, consultez Points de terminaison FIPS par service.

Éléments à définir pour permettre l’utilisation de points de terminaison à double pile pour tous les Services AWS

Pour acheminer les demandes de tous les services permettant l’utilisation de points de terminaison à double pile, lorsqu’ils sont disponibles, utilisez l’un des paramètres suivants :

  • Variable d’environnement AWS_USE_DUALSTACK_ENDPOINT.

    Linux or macOS
    $ export AWS_USE_DUALSTACK_ENDPOINT=true
    Windows Command Prompt

    Définition pour toutes les sessions

    C:\> setx AWS_USE_DUALSTACK_ENDPOINT true

    Définition pour la session en cours uniquement

    C:\> set AWS_USE_DUALSTACK_ENDPOINT=true
    PowerShell
    PS C:\> $Env:AWS_USE_DUALSTACK_ENDPOINT="true"
  • Paramètre de fichier use_dualstack_endpoint.

    use_dualstack_endpoint = true

Permet d’utiliser des points de terminaison à double pile pour l’envoi des demandes AWS. Pour en savoir plus sur les points de terminaison à double pile, qui prennent en charge le trafic IPv4 et IPv6, consultez Utilisation des points de terminaison Dual-Stack Amazon S3 dans le Guide d’utilisateur Amazon Simple Storage Service. Les points de terminaison à double pile sont disponibles pour certains services dans certaines régions. Si aucun point de terminaison à double pile n’existe pour le service ou la Région AWS, la demande échoue. Par défaut, l’option est désactivée.

Définition de points de terminaison spécifiques aux services

La configuration de points de terminaison spécifiques aux services offre la possibilité d’utiliser un point de terminaison persistant de votre choix pour les demandes de l’AWS CLI. Ces paramètres offrent la possibilité de prendre en charge les points de terminaison locaux, les points de terminaison d’un VPC et les environnements de développement AWS locaux tiers. Différents points de terminaison peuvent être utilisés pour les environnements de test et de production. Vous pouvez indiquer une URL de point de terminaison pour des Services AWS individuels.

Les points de terminaison spécifiques aux services peuvent être indiqués de plusieurs manières :

Rubriques relatives aux points de terminaison spécifiques aux services :

Points de terminaison spécifiques aux services : variables d’environnement

Les variables d’environnement remplacent les paramètres de votre fichier de configuration, mais ne remplacent pas les options indiquées sur la ligne de commande. Utilisez des variables d’environnement si vous souhaitez que tous les profils utilisent les mêmes points de terminaison sur votre appareil.

Les variables d’environnement spécifiques aux services sont les suivantes :

  • AWS_IGNORE_CONFIGURED_ENDPOINT_URLS - Ignorer toutes les URL de point de terminaison configurées, sauf si elles sont indiquées sur la ligne de commande.

    Linux or macOS
    $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    Windows Command Prompt

    Définition pour toutes les sessions

    C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true

    Définition pour la session en cours uniquement

    C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    PowerShell
    PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
  • AWS_ENDPOINT_URL_<SERVICE> - Indique un point de terminaison personnalisé qui est utilisé pour un service spécifique, où <SERVICE> est remplacé par l’identifiant du Service AWS. Pour voir toutes les variables spécifiques aux services, consultez Points de terminaison spécifiques aux services : liste des identifiants spécifiques aux services.

    Les exemples de variables d’environnement suivants définissent un point de terminaison pour AWS Elastic Beanstalk :

    Linux or macOS
    $ export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
    Windows Command Prompt

    Définition pour toutes les sessions

    C:\> setx AWS_ENDPOINT_URL_ELASTIC_BEANSTALK http://localhost:4567

    Définition pour la session en cours uniquement

    C:\> set AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
    PowerShell
    PS C:\> $Env:AWS_ENDPOINT_URL_ELASTIC_BEANSTALK="http://localhost:4567"

Pour plus d’informations sur la définition de variables d’environnement, consultez Configuration des variables d’environnement pour l’ AWS CLI.

Points de terminaison spécifiques aux services : fichier config partagé

Dans le fichier config partagé, endpoint_url est utilisé dans plusieurs sections. Pour définir un point de terminaison spécifique aux services, utilisez le paramètre endpoint_url imbriqué sous une clé d’identification de service au sein d’une section services. Pour plus de détails sur la définition d’une section services dans votre fichier config partagé, consultez Type de section : services.

L’exemple suivant utilise une section services pour configurer une URL de point de terminaison spécifique aux services pour Amazon S3 et un point de terminaison global personnalisé utilisé pour tous les autres services :

[profile dev1] endpoint_url = http://localhost:1234 services = s3-specific [services testing-s3] s3 = endpoint_url = http://localhost:4567

Un profil unique peut configurer des points de terminaison pour plusieurs services. L’exemple suivant définit les URL de point de terminaison spécifiques aux services pour Amazon S3 et AWS Elastic Beanstalk dans le même profil.

Pour obtenir la liste de toutes les clés d’identification de service à utiliser dans la section services, consultez Liste des identifiants spécifiques aux services.

[profile dev1] services = testing-s3-and-eb [services testing-s3-and-eb] s3 = endpoint_url = http://localhost:4567 elastic_beanstalk = endpoint_url = http://localhost:8000

La section de configuration du service peut être utilisée dans plusieurs profils. Dans l’exemple suivant, deux profils utilisent la même définition services :

[profile dev1] output = json services = testing-s3 [profile dev2] output = text services = testing-s3 [services testing-s3] s3 = endpoint_url = https://localhost:4567

Points de terminaison spécifiques aux services : liste des identifiants spécifiques aux services

L’identifiant Service AWS se base sur le serviceId du modèle d’API en remplaçant tous les espaces par des traits de soulignement et en mettant en minuscules toutes les lettres.

Le tableau suivant répertorie tous les identifiants, clés de fichier config et variables d’environnement spécifiques aux services.

Points de terminaison basés sur un compte

Les points de terminaison basés sur un compte peuvent être indiqués de plusieurs manières :

  • Variables d’environnement

    • AWS_ACCOUNT_ID : indique l’ID du point de terminaison basé sur un compte AWS à utiliser pour les appels aux Services AWS pris en charge.

      Linux or macOS
      $ export AWS_ACCOUNT_ID=<account-id>
      Windows Command Prompt

      Définition pour toutes les sessions

      C:\> setx AWS_ACCOUNT_ID <account-id>

      Définition pour la session en cours uniquement

      C:\> set AWS_ACCOUNT_ID=<account-id>
      PowerShell
      PS C:\> $Env:AWS_ACCOUNT_ID="<account-id>"
    • AWS_ACCOUNT_ID_ENDPOINT_MODE : indique s’il faut utiliser les ID de point de terminaison basés sur un compte AWS pour les appels aux Services AWS pris en charge. Cette option peut être définie sur preferred, disabled ou required. La valeur par défaut est preferred.

      Linux or macOS
      $ export AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
      Windows Command Prompt

      Définition pour toutes les sessions

      C:\> setx AWS_ACCOUNT_ID_ENDPOINT_MODE preferred

      Définition pour la session en cours uniquement

      C:\> set AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
      PowerShell
      PS C:\> $Env:AWS_ACCOUNT_ID_ENDPOINT_MODE="preferred"
  • Fichier config :

    • aws_account_id : indique l’ID du point de terminaison basé sur un compte AWS à utiliser pour les appels aux Services AWS pris en charge.

      aws_account_id = <account-id>
    • account_id_endpoint_mode : indique s’il faut utiliser les ID de point de terminaison basés sur un compte AWS pour les appels aux Services AWS pris en charge. Cette option peut être définie sur preferred, disabled ou required. La valeur par défaut est preferred.

      account_id_endpoint_mode = preferred

Les points de terminaison basés sur un compte contribuent à garantir des performances et une capacité de mise à l’échelle élevées en utilisant votre ID de compte AWS pour rationaliser l’acheminement des demandes de services prenant en charge cette fonctionnalité émises par un Service AWS. Lorsque vous utilisez un fournisseur d’informations d’identification et un service qui prend en charge les points de terminaison basés sur un compte, l’AWS CLI construit et utilise automatiquement un point de terminaison basé sur un compte plutôt qu’un point de terminaison régional.

Les points de terminaison basés sur un compte utilisent le format suivant, où <account-id> est remplacé par votre ID de compte AWS et <region> par votre Région AWS :

https://<account-id>.myservice.<region>.amazonaws.com

Par défaut dans l’AWS CLI, le mode de point de terminaison basé sur un compte est défini sur preferred.

Configuration du point de terminaison et priorité des paramètres

Les paramètres de configuration du point de terminaison se trouvent à différents endroits, tels que les variables d’environnement du système ou de l’utilisateur, les fichiers de configuration AWS locaux, ou sont explicitement déclarés sur la ligne de commande en tant que paramètre. Les paramètres de configuration du point de terminaison de l’AWS CLI ont priorité dans l’ordre suivant :

  1. Option de ligne de commande --endpoint-url.

  2. Si cette option est activée, la variable d’environnement du point de terminaison global AWS_IGNORE_CONFIGURED_ENDPOINT_URLS ou le paramètre de profil ignore_configure_endpoint_urls pour ignorer les points de terminaison personnalisés.

  3. La valeur fournie par une variable d’environnement spécifique aux services AWS_ENDPOINT_URL_<SERVICE>, telle que AWS_ENDPOINT_URL_DYNAMODB.

  4. Les valeurs fournies par les variables d’environnement AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT et AWS_ENDPOINT_URL.

  5. La variable d’environnement AWS_ACCOUNT_ID_ENDPOINT_MODE est définie sur preferred ou required à l’aide de l’ID de compte dans la variable d’environnement AWS_ACCOUNT_ID ou le paramètre aws_account_id.

  6. La valeur du point de terminaison spécifique aux services fournie par le paramètre endpoint_url dans une section services du fichier config partagé.

  7. La valeur fournie par le paramètre endpoint_url dans un profile du fichier config partagé.

  8. Paramètres use_dualstack_endpoint, use_fips_endpoint et endpoint_url.

  9. Le paramètre account_id_endpoint_mode est défini sur preferred ou required à l’aide de l’ID de compte dans la variable d’environnement AWS_ACCOUNT_ID ou le paramètre aws_account_id.

  10. Toute URL de point de terminaison par défaut pour le Service AWS correspondant est utilisée en dernier. Pour afficher la liste des points de terminaison de service standard disponibles dans chaque région, consultez Régions et points de terminaison AWS dans le Référence générale d'Amazon Web Services.