aws command line interface · résumé – liste des commandes et de leurs options. si une option...

99
AWS Command Line Interface Guide de l'utilisateur

Upload: vanhuong

Post on 15-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line InterfaceGuide de l'utilisateur

Page 2: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

AWS Command Line Interface: Guide de l'utilisateurCopyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.

Page 3: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

Table of ContentsQu'est-ce que l'AWS CLI ? ................................................................................................................... 1

Utilisation des exemples de ce guide ............................................................................................. 2A propos d'Amazon Web Services ................................................................................................ 3

Installer ............................................................................................................................................. 4Linux ........................................................................................................................................ 5

Python .............................................................................................................................. 6sous Amazon Linux 2017 .................................................................................................... 6Installation de pip ............................................................................................................... 7Installation de l'AWS CLI avec pip ........................................................................................ 8Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande ................................... 8

Windows ................................................................................................................................... 9Programme d'installation MSI .............................................................................................. 10Windows .......................................................................................................................... 11Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande ................................. 12

macOS .................................................................................................................................... 12Prérequis ......................................................................................................................... 12Installation de l'AWS CLI à l'aide du programme d'installation fourni .......................................... 13Installation de l'AWS CLI sur macOS à l'aide de pip ............................................................... 14Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande ................................. 14

Virtualenv ................................................................................................................................ 15Programme d'installation fourni ................................................................................................... 16

Prérequis ......................................................................................................................... 16Installation de l'AWS CLI à l'aide du programme d'installation fourni .......................................... 17Installation de l'AWS CLI sans Sudo (Linux, macOS, or Unix) .................................................. 17Désinstallation .................................................................................................................. 18

Configuration .................................................................................................................................... 19Configuration rapide .................................................................................................................. 19Configuration des paramètres et des priorités ................................................................................ 20Fichiers de configuration et d'informations d'identification ................................................................ 21Profils nommés ......................................................................................................................... 22

Utilisation de profils avec l'AWS CLI .................................................................................... 23Variables d'environnement .......................................................................................................... 23Options de ligne de commande .................................................................................................. 24Métadonnées de l'instance ......................................................................................................... 25Utilisation d'un proxy HTTP ........................................................................................................ 26

Authentification auprès d'un proxy ....................................................................................... 26Utilisation d'un proxy sur les instances EC2 .......................................................................... 26

Assumer un rôle ....................................................................................................................... 27Configuration et utilisation d'un rôle ..................................................................................... 27Utilisation de l'authentification multi-facteurs .......................................................................... 28Rôles entre comptes ......................................................................................................... 29Suppression des informations d'identification mises en cache .................................................. 29

Saisie automatique des commandes ............................................................................................ 29Identification de votre shell ................................................................................................. 30Localisation du programme d'exécution AWS ........................................................................ 30Activation de la saisie automatique de commandes ................................................................ 31Test de la saisie de commande .......................................................................................... 31

Didacticiel  : Utilisation de l'Amazon EC2 ............................................................................................... 32Installez l'AWS CLI ................................................................................................................... 32

Windows .......................................................................................................................... 32Linux, macOS, or Unix ...................................................................................................... 32

Configuration de l'AWS CLI ........................................................................................................ 33Création d'un groupe de sécurité et d'une paire de clés pour l'instance EC2 ....................................... 34Lancement d'une instance et connexion ....................................................................................... 34

iii

Page 4: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

Utilisation de l'AWS CLI ..................................................................................................................... 36Obtenir de l'aide ....................................................................................................................... 36

Documentation de l'AWS CLI .............................................................................................. 39Documentation sur les API ................................................................................................. 39

Structure de commande ............................................................................................................. 40Indication des valeurs des paramètres ......................................................................................... 40

Types de paramètres courants ............................................................................................ 41Utilisation de JSON pour les paramètres .............................................................................. 42Indication des chaînes entre guillemets ................................................................................ 44Chargement des paramètres à partir d'un fichier .................................................................... 44

Génération d'un squelette de CLI ................................................................................................ 46Contrôle de la sortie de commande ............................................................................................. 49

Comment sélectionner le format de sortie ............................................................................. 49Comment filtrer la sortie avec l'option --query ..................................................................... 50Format de sortie JSON ...................................................................................................... 52Format de sortie texte ....................................................................................................... 52Format de sortie de tableau ............................................................................................... 54

Syntaxe raccourcie .................................................................................................................... 55Paramètres de structure ..................................................................................................... 55Paramètres de liste ........................................................................................................... 56

Pagination ................................................................................................................................ 57Utilisation des services ...................................................................................................................... 59

DynamoDB .............................................................................................................................. 59Amazon EC2 ............................................................................................................................ 61

Utilisation des paires de clés .............................................................................................. 61Utilisation des groupes de sécurité ...................................................................................... 63Utilisation des instances ..................................................................................................... 66

Amazon Glacier ........................................................................................................................ 72Création d'un coffre Amazon Glacier .................................................................................... 72Préparation d'un fichier pour le chargement .......................................................................... 73Lancement d'un chargement en plusieurs parties et chargement de fichiers ................................ 73Fin du téléchargement ....................................................................................................... 74

AWS Identity and Access Management ........................................................................................ 76Création de nouveaux utilisateurs et groupes IAM .................................................................. 76Définition d'une stratégie IAM pour un utilisateur IAM ............................................................. 77Définition d'un mot de passe initial pour un utilisateur IAM ....................................................... 78Création des informations d'identification de sécurité pour un utilisateur IAM ............................... 78

Amazon S3 .............................................................................................................................. 79Utilisation des commandes Amazon S3 de haut niveau .......................................................... 80Utilisation de commandes de niveau API (s3api) .................................................................... 84

Amazon SNS ........................................................................................................................... 85Création d'une rubrique ..................................................................................................... 85Abonnement à une rubrique ............................................................................................... 85Publication dans une rubrique ............................................................................................. 86Annulation de l'abonnement à une rubrique .......................................................................... 86Suppression d'une rubrique ................................................................................................ 86

Amazon SWF ........................................................................................................................... 87Liste des commandes Amazon SWF ................................................................................... 87Utilisation des domaines Amazon SWF ................................................................................ 89

Dépannage ...................................................................................................................................... 94

iv

Page 5: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

Présentation de l'AWS CommandLine Interface

L'AWS CLI est un outil open source conçu sur AWS SDK for Python (Boto) qui fournit des commandespermettant d'interagir avec les services AWS. Avec une configuration minimale, vous pouvez commencerà utiliser toutes les fonctionnalités fournies par la AWS Management Console depuis votre programmeterminal préféré.

• Shells Linux – Utilisez des programmes Shell courants tels que Bash, Zsh et tsch pour exécuter descommandes sous Linux, macOS, or Unix.

• Ligne de commande Windows – Sous Microsoft Windows, exécutez des commandes en PowerShell oudans l'interpréteur de commandes Windows.

• À distance – Exécutez des commandes sur des instances Amazon EC2 via un terminal distant tel quePuTTY ou SSH, ou avec Amazon EC2 Systems Manager.

L'AWS CLI fournit un accès direct aux API publiques des services AWS. Explorez les fonctionnalités d'unservice avec l'AWS CLI, et développez des scripts shell pour gérer vos ressources. Sinon, utilisez ce quevous avez appris pour développer des programmes dans d'autres langages avec le kit de développementlogiciel (SDK) AWS.

Outre les commandes équivalentes d'API de bas niveau, l'AWS CLI fournit également despersonnalisations pour plusieurs services. Les personnalisations sont des commandes de plus haut niveauqui facilitent l'utilisation d'un service à l'aide d'une API complexe. Par exemple, l'ensemble de commandesaws s3 fournit une syntaxe familière pour la gestion de fichiers dans Amazon S3.

Example Charger un fichier dans Amazon S3

aws s3 cp fournit une commande de copie de type shell et effectue automatiquement un chargementpartitionné pour transférer des fichiers volumineux rapidement et de façon résiliente.

~$ aws s3 cp myvideo.mp4 s3://mybucket/

Réaliser la même tâche avec les commandes de bas niveau (disponibles sous aws s3api) seraitbeaucoup plus fastidieux.

En fonction de votre cas d'utilisation, vous pouvez utiliser le kit de développement logiciel (SDK) AWS, unkit d'outils ou les Outils AWS pour Windows PowerShell.

• Outils AWS pour Windows PowerShell• AWS SDK for Java• Kit AWS SDK pour .NET• AWS SDK for JavaScript• Kit SDK AWS pour Ruby• AWS SDK for Python (Boto)• AWS SDK pour PHP• Kit SDK AWS pour Go• AWS Toolkit for Eclipse• AWS Toolkit for Visual Studio

1

Page 6: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des exemples de ce guide

• AWS Mobile SDK for iOS• AWS Mobile SDK pour Android

Vous pouvez afficher, et utiliser, le code source de l'AWS CLI sur GitHub dans le référentiel aws-cli.Rejoignez la communauté d'utilisateurs sur GitHub pour donner votre avis, demander des fonctionnalités etsoumettre vos propres contributions !

Utilisation des exemples de ce guideLes exemples de ce guide sont mis en forme en respectant les conventions suivantes :

• Invite – L'invite de commande s'affiche sous la forme d'un signe dollar (« $ »). N'incluez pas le symboled'invite lorsque vous saisissez des commandes.

• Répertoire – Lorsque des commandes doivent être saisies depuis un répertoire spécifique, le nom derépertoire s'affiche sous le symbole d'invite.

• Entrée utilisateur – Le texte de commande que vous devez entrer en ligne de commande est indiquésous la forme entrée utilisateur.

• Texte remplaçable – Le texte variable, par exemple les noms de ressources que vous choisissez ou lesID générés par les services AWS que vous devez inclure dans les commandes, est indiqué sous la formetexte remplaçable. Dans les commandes sur plusieurs ligne ou les commandes dans lesquelles unesaisie clavier spécifique est nécessaire, les commandes clavier peuvent également être indiquées sousla forme de texte remplaçable.

• Sortie – La sortie renvoyée par les services AWS s'affiche sous l'entrée utilisateur sans mise en formespéciale.

Par exemple, la commande suivante inclut l'entrée d'utilisateur, le texte remplaçable et la sortie :

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: ENTER

Pour utiliser cet exemple, saisissez aws configure en ligne de commande et appuyez sur Entrée. awsconfigure est la commande. Cette commande est interactive. AWS CLI produit donc en sorti des lignesde textes, et vous invite à entrer des informations supplémentaires. Entrez chaque clé d'accès et appuyezsur Entrée. Ensuite, entrez un nom de région au format indiqué, appuyez sur Entrée, puis une dernièrefois sur Entrée pour ignorer le paramètre de format de sortie. La commande Entrée de fin apparaît sousla forme d'un texte remplaçable car il n'y a aucune entrée utilisateur pour cette ligne. Sinon, cela seraitimplicite.

L'exemple suivant illustre une commande simple non interactive avec une sortie du service au formatJSON :

$ aws ec2 create-security-group --group-name my-sg --description "My security group"{ "GroupId": "sg-903004f8"}

Pour utiliser cet exemple, entrez le texte intégral de la commande (texte en surbrillance après l'invite) etappuyez sur Entrée. Le nom du groupe de sécurité, my-sg, est remplaçable. Dans ce cas, vous pouvezutiliser le nom du groupe comme indiqué, mais vous pouvez si vous le souhaitez utiliser un nom plusdescriptif.

2

Page 7: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurA propos d'Amazon Web Services

Note

Les arguments qui doivent être remplacés (par exemple, l'ID de clé d'accès AWS) et ceux qu'il estconseillé de remplacer (par exemple, le nom du groupe) sont tous deux affichés comme texteremplaçable. Si un argument doit être remplacé, il est noté dans le texte qui décrit l'exemple.

Le document JSON, y compris les accolades, est produit en sortie. Si vous configurez votre interface CLIpour une sortie au format texte ou tableau, la sortie sera mise en forme différemment. JSON est le formatde sortie par défaut.

A propos d'Amazon Web ServicesAmazon Web Services (AWS) est un ensemble de services d'infrastructure numériques que lesdéveloppeurs peuvent exploiter lors du développement de leurs applications. Les services incluent lecalcul, le stockage, les base de données, et la synchronisation de l'application (messagerie et file d'attente).AWS utilise un modèle de tarification à l'utilisation. Vous êtes facturé uniquement pour les servicesque vous—ou vos applications—utilisez. De plus, afin de devenir une plateforme plus accessible pourprototyper et expérimenter, AWS propose un niveau d'offre gratuite. Dans cette offre, les services sontgratuits en-dessous d'un certain niveau d'utilisation. Pour plus d'informations sur les coûts AWS et l'offregratuite, consultez Essai du niveau d'offre gratuite AWS. Pour obtenir un compte AWS, ouvrez la paged'accueil AWS et cliquez sur Sign Up.

3

Page 8: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

Installation de l'AWS Command LineInterface

La méthode de distribution principale pour l'AWS CLI sous Linux, Windows et macOS est pip, ungestionnaire de package pour Python qui fournit un moyen simple d'installer, de mettre à niveau et desupprimer des packages Python et leurs dépendances.

Version de l'AWS CLI actuelle

L'AWS CLI est mise à jour régulièrement afin de prendre en charge de nouveaux services et denouvelles commandes. Pour savoir si vous disposez de la version la plus récente, consultez lespages de mise à jour sur GitHub.

Prérequis

• Python 2 version 2.6.5+ ou Python 3 version 3.3+• Windows, Linux, macOS, or Unix

Note

Les versions antérieures de Python peuvent ne pas fonctionner avec tous les services AWS.Si InsecurePlatformWarning ou des avis d'obsolescence s'affichent lorsque vous installezou utilisez l'interface de ligne de commande AWS, effectuez une mise à jour vers une versionrécente.

Si vous avez déjà pip et une version prise en charge de Python, vous pouvez installer l'AWS CLI avec lacommande suivante :

$ pip install awscli --upgrade --user

L'option --upgrade demande à pip de mettre à niveau toutes les exigences qui sont déjà installées.L'option --user demande à pip d'installer le programme dans un sous-répertoire de votre répertoireutilisateur pour éviter la modification des bibliothèques utilisées par votre système d'exploitation.

Si vous rencontrez des problèmes lorsque vous tentez d'installer l'AWS CLI avec pip, vous pouvezinstaller l'AWS CLI dans un environnement virtuel (p. 15) pour isoler l'outil et ses dépendances, ouutiliser une version de Python autre que celle que vous utilisez normalement.

Programmes d'installation autonomes

Pour les installations hors connexion et automatisées sous Linux, macOS, or Unix, essayez leprogramme d'installation fourni (p. 16). Le programme d'installation fourni comprend l'AWS CLI,ses dépendances et un script shell qui effectue l'installation pour vous.Sous Windows, vous pouvez également utiliser le programme d'installation MSI (p. 10). Cesdeux méthodes facilitent l'installation initiale, mais sont plus difficiles à mettre à niveau lorsqu'unenouvelle version de l'AWS CLI est publiée.

Après avoir installé l'AWS CLI, vous devrez peut-être ajouter le chemin d'accès au fichier exécutable àvotre variable PATH. Pour obtenir des instructions spécifiques à la plateforme, consultez les rubriquessuivantes :

• Linux – Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 8)• Windows – Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 12)

4

Page 9: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurLinux

• macOS – Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 14)

Vérifiez que l'AWS CLI est installée correctement en exécutant aws --version.

$ aws --versionaws-cli/1.11.84 Python/3.6.2 Linux/4.4.0-59-generic botocore/1.5.47

L'AWS CLI est mise à jour régulièrement afin de prendre en charge de nouveaux services et de nouvellescommandes. Pour effectuer une mise à jour vers la dernière version de l'AWS CLI, exécutez à nouveau lacommande d'installation.

$ pip install awscli --upgrade --user

Si vous devez désinstaller l'AWS CLI, utilisez pip uninstall.

$ pip uninstall awscli

Si vous n'avez pas Python ni pip, utilisez la procédure indiquée pour votre système d'exploitation :

Sections• Installation de l'AWS Command Line Interface sous Linux (p. 5)• Installation de l'AWS Command Line Interface sous Microsoft Windows (p. 9)• Installation de l'AWS Command Line Interface sous macOS (p. 12)• Installation de l'AWS Command Line Interface dans un environnement virtuel (p. 15)• Installation de l'AWS CLI à l'aide du programme d'installation (Linux, macOS, or Unix) (p. 16)

Installation de l'AWS Command Line Interface sousLinux

Vous pouvez installer l'AWS Command Line Interface et ses dépendances sur la plupart des distributionsLinux avec pip, gestionnaire de package pour Python.

Important

Le package awscli est disponible dans des référentiels d'autres gestionnaires de package telsque APT et yum, mais rien ne garantit qu'il s'agisse de la dernière version, sauf si vous l'obtenezde pip ou si vous utilisez le programme d'installation fourni (p. 16)

Si vous disposez déjà de pip, suivez les instructions décrites dans la rubrique d'installation (p. 4)principale. Exécutez pip --version pour savoir si votre version de Linux comprend déjà Python et pip.

$ pip --version

Si vous n'avez pas pip, vérifiez quelle version de Python est installée.

$ python --version

ou

$ python3 --version

5

Page 10: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurPython

Si vous n'avez pas Python 2 version 2.6.5+ ou Python 3 version 3.3+, installez Python (p. 6). Sinon,installez pip et l'AWS CLI.

Installation de Python sous LinuxSi votre distribution n'est pas fournie avec Python, ou vous a été remise avec une version antérieure,installez Python avant pip et l'AWS CLI.

Pour installer Python 3 sous Linux

1. Vérifiez si Python est déjà installé :

$ python --version

Note

Si votre distribution Linux est fournie avec Python, vous devrez peut-être installer le packagede développement Python afin d'obtenir les en-têtes et les bibliothèques nécessairesà la compilation des extensions et à l'installation de l'AWS CLI. Installez le package dedéveloppement (généralement nommé python-dev ou python-devel) à l'aide de votregestionnaire de package.

2. Si Python 2.7 ou version ultérieure n'est pas installé, installez Python  à l'aide du gestionnaire depackage de votre distribution. Le nom de la commande et du package varie :

• Sur les dérivés Debian, comme Ubuntu, utilisez APT :

$ sudo apt-get install python3

• Sur Red Hat et dérivés, utilisez yum :

$ sudo yum install python

• Sur SUSE et dérivés, utilisez zypper :

$ sudo zypper install python3

3. Ouvrez une invite de commande ou un shell et exécutez la commande suivante pour vérifier quePython est installé correctement :

$ python3 --versionPython 3.6.2

Installation de l'AWS Command Line Interface sousAmazon Linux 2017L'AWS CLI est préinstallée sur AMI Amazon Linux. Vérifiez la version installée avec aws --version.

$ aws --versionaws-cli/1.11.83 Python/2.7.12 Linux/4.9.20-11.31.amzn1.x86_64 botocore/1.5.46

Vous pouvez utiliser sudo yum update pour obtenir la version la plus récente disponible dans leréférentiel yum, mais il est possible que ce ne soit pas la dernière version. Utilisez pip pour obtenir laversion la plus récente.

6

Page 11: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurInstallation de pip

Pour mettre à niveau l'AWS CLI sous Amazon Linux (racine)

1. Utilisez pip install pour installer la dernière version de l'AWS CLI.

$ sudo pip install --upgrade awscli

2. Vérifiez la nouvelle version avec aws --version.

$ aws --versionaws-cli/1.11.85 Python/2.7.12 Linux/4.9.20-11.31.amzn1.x86_64 botocore/1.5.48

Si vous n'avez pas de privilèges racine, installez l'AWS CLI en mode utilisateur.

Pour mettre à niveau l'AWS CLI sous Amazon Linux (utilisateur)

1. Utilisez pip install pour installer la dernière version de l'AWS CLI.

$ sudo pip install --upgrade --user awscli

2. Ajoutez l'emplacement d'installation au début de la variable PATH.

$ export PATH=/home/ec2-user/.local/bin:$PATH

Ajoutez cette commande à la fin de ~/.bashrc pour conserver la modification d'une session à l'autre.3. Vérifiez la nouvelle version avec aws --version.

$ aws --versionaws-cli/1.11.85 Python/2.7.12 Linux/4.9.20-11.31.amzn1.x86_64 botocore/1.5.48

Sections• Installation de pip (p. 7)• Installation de l'AWS CLI avec pip (p. 8)• Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 8)

Installation de pipSi vous n'avez pas pip, installez pip avec le script fourni par Python Packaging Authority.

Pour installer pip

1. Téléchargez le script d'installation depuis pypa.io :

$ curl -O https://bootstrap.pypa.io/get-pip.py

Le script télécharge et installe la dernière version de pip et un autre package obligatoire nommésetuptools.

2. Exécutez le script avec Python :

$ python get-pip.py --user

7

Page 12: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurInstallation de l'AWS CLI avec pip

3. Ajoutez le chemin d'accès au fichier exécutable à votre variable PATH : ~/.local/bin

Pour modifier votre variable PATH (Linux, macOS, or Unix)

1. Recherchez le script de profil de votre shell dans votre dossier utilisateur. Si vous n'êtes pascertain du shell utilisé, exécutez echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile ou .bash_login.• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc ou .login.

2. Ajoutez une commande d'exportation à votre script de profil.

export PATH=~/.local/bin:$PATH

Cette commande ajoute un chemin d'accès, ici ~/.local/bin, à la variable PATH actuelle.3. Chargez le profil dans la session en cours.

$ source ~/.bash_profile

4. Vérifiez que pip est installé correctement.

$ pip --versionpip 8.1.2 from ~/.local/lib/python3.4/site-packages (python 3.4)

Installation de l'AWS CLI avec pipUtilisez pip pour installer l'AWS CLI.

$ pip install awscli --upgrade --user

Vérifiez que l'AWS CLI est installée correctement.

$ aws --versionaws-cli/1.11.84 Python/3.6.2 Linux/4.4.0-59-generic botocore/1.5.47

Si vous obtenez une erreur, consultez Dépannage des erreurs dans l'AWS CLI (p. 94).

Pour effectuer une mise à niveau vers la dernière version, exécutez à nouveau la commande d'installation :

$ pip install awscli --upgrade --user

Ajout de l'exécutable de l'AWS CLI à votre chemin deligne de commandeAprès avoir effectué l'installation à l'aide de pip, vous devrez peut-être ajouter l'exécutable aws à lavariable d'environnement PATH de votre système d'exploitation.

8

Page 13: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurWindows

Example Emplacement d'installation de l'AWS CLI - Linux avec pip (mode utilisateur)

~/.local/bin

Si vous ne l'avez pas installé en mode utilisateur, l'exécutable peut se situer dans le dossier bin de votreinstallation Python. Si vous ne savez pas où est installé Python, exécutez which python.

$ which python/usr/local/bin/python

La sortie peut être le chemin d'accès vers un lien symbolique, et non le fichier exécutable. Exécutez ls -al pour voir vers où il pointe.

$ ls -al /usr/local/bin/python~/.local/Python/3.6/bin/python3.6

Pour modifier votre variable PATH (Linux, macOS, or Unix)

1. Recherchez le script de profil de votre shell dans votre dossier utilisateur. Si vous n'êtes pas certain dushell utilisé, exécutez echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile ou .bash_login.• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc ou .login.

2. Ajoutez une commande d'exportation à votre script de profil.

export PATH=~/.local/bin:$PATH

Cette commande ajoute un chemin d'accès, ici ~/.local/bin, à la variable PATH actuelle.3. Chargez le profil dans la session en cours.

$ source ~/.bash_profile

Installation de l'AWS Command Line Interface sousMicrosoft Windows

Vous pouvez installer l'AWS CLI sous Windows avec un programme d'installation autonome ou en utilisantpip, gestionnaire de package pour Python. Si vous disposez déjà de pip, suivez les instructions décritesdans la rubrique d'installation (p. 4) principale.

Sections• Programme d'installation MSI (p. 10)• Installation de Python, de pip et de l'AWS CLI sous Windows (p. 11)• Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 12)

9

Page 14: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurProgramme d'installation MSI

Programme d'installation MSIL'AWS CLI est prise en charge sous Microsoft Windows XP ou version ultérieure. Pour les utilisateursWindows, le package d'installation MSI constitue une méthode familière et pratique pour l'installation del'AWS CLI sans installer tous les autres composants requis.

Lorsque des mises à jour sont publiées, vous devez relancer le processus d'installation pour obtenir laversion la plus récente de l'AWS CLI. Si vous préférez procéder à des mises à jour régulières, vous pouvezutiliser pip (p. 11) pour mettre à jour plus facilement.

Pour installer l'AWS CLI à l'aide du programme d'installation MSI

1. Téléchargez le programme d'installation MSI approprié.

• Télécharger le programme d'installation MSI de l'AWS CLI pour Windows (64 bits)• Télécharger le programme d'installation MSI de l'AWS CLI pour Windows (32 bits)

Note

Le programme d'installation MSI pour l'interface de ligne de commande AWS n'est pascompatible avec Windows Server 2008 (version 6.0.6002). Utilisez pip (p. 11) poureffectuer l'installation avec cette version de Windows.

2. Exécutez le programme d'installation MSI téléchargé.3. Suivez les instructions qui s'affichent.

L'interface CLI s'installe dans C:\Program Files\Amazon\AWSCLI (64 bits) ou C:\Program Files(x86)\Amazon\AWSCLI (32 bits) par défaut. Pour confirmer l'installation, utilisez la commande aws --version à l'invite de commande (ouvrez le menu Démarrer et recherchez « cmd » si vous n’êtes pas sûrde l'emplacement d'installation de l'invite de commande).

> aws --versionaws-cli/1.11.84 Python/3.6.2 Windows/7 botocore/1.5.47

N'incluez pas le symbole d'invite (« > » ci-dessus) lorsque vous saisissez une commande. Celui-ci estinclus dans les listes de programmes afin de différencier les commandes que vous saisissez de la sortierenvoyée par l'interface CLI. Le reste de ce guide utilise le symbole d'invite générique « $ », sauf dans lescas où une commande est spécifique à Windows.

Si Windows ne parvient pas à localiser l'exécutable, vous devrez peut-être rouvrir l'invite de commande ouajouter manuellement le répertoire d'installation à votre variable d'environnement PATH (p. 12).

Des programmes d'installation MSI mis à niveau sont disponiblesVous pouvez essayer les programmes d'installation MSI mis à niveau, qui utilisent désormais Python 3 aulieu de Python 2 :

• Télécharger le programme d'installation MSI de l'AWS CLI pour Windows (64 bits)• Télécharger le programme d'installation MSI de l'AWS CLI pour Windows (32 bits)• Téléchargez le fichier de configuration de l'AWS CLI (il inclut les programmes d'installation MSI 32 bits et

64 bits, et il installe automatiquement la bonne version)

10

Page 15: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurWindows

Mise à jour d'une installation MSIL'AWS CLI est mise à jour régulièrement. Consultez la page Releases sur GitHub pour connaître la datede sortie de la dernière version. Pour effectuer une mise à jour vers la dernière version, téléchargez etexécutez de nouveau le programme d'installation MSI comme expliqué plus haut.

DésinstallationPour désinstaller l'AWS CLI, ouvrez le panneau de configuration et sélectionnez Programmes etfonctionnalités. Sélectionnez l'entrée nommée Interface de ligne de commande AWS et cliquez surDésinstaller pour lancer le programme de désinstallation. Confirmez que vous souhaitez désinstaller l'AWSCLI lorsque vous y êtes invité.

Vous pouvez également afficher le menu Programmes et fonctionnalités à partir de la ligne de commandeen entrant la commande suivante :

> appwiz.cpl

Installation de Python, de pip et de l'AWS CLI sousWindowsLa Python Software Foundation fournit des programmes d'installation pour Windows qui incluent pip.

Pour installer Python 3.6 et pip (Windows)

1. Téléchargez le programme d'installation du fichier exécutable Windows x86-64 de Python 3.6 à partirde la page de téléchargements de Python.org.

2. Exécutez le programme d'installation.3. Choisissez Add Python 3.6 to PATH.4. Choisissez Install Now.

Le programme d'installation installe Python dans votre dossier d'utilisateur et ajoute ses répertoiresexécutables à votre chemin d'utilisateur.

Pour installer l'AWS CLI avec pip (Windows)

1. Ouvrez l'Interpréteur de commandes Windows dans le menu Démarrer.2. Vérifiez que Python et pip sont tous deux installés correctement avec les commandes suivantes :

C:\Windows\System32> python --versionPython 3.6.2C:\Windows\System32> pip --versionpip 9.0.1 from c:\users\myname\appdata\local\programs\python\python36\lib\site-packages (python 3.6)

3. Installez l'AWS CLI à l'aide de pip :

C:\Windows\System32> pip install awscli

4. Vérifiez que l'AWS CLI est installée correctement :

C:\Windows\System32> aws --versionaws-cli/1.11.84 Python/3.6.2 Windows/7 botocore/1.5.47

11

Page 16: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAjout de l'exécutable de l'AWS CLI àvotre chemin de ligne de commande

Pour effectuer une mise à niveau vers la dernière version, exécutez à nouveau la commande d'installation :

C:\Windows\System32> pip install --user --upgrade awscli

Ajout de l'exécutable de l'AWS CLI à votre chemin deligne de commandeAprès avoir effectué l'installation à l'aide de pip, ajoutez l'exécutable aws à la variable d'environnementPATH de votre système d'exploitation. Avec une installation MSI, cela doit se produire automatiquement,mais vous devrez peut-être effectuer cet ajout manuellement si la commande aws ne fonctionne pas.

• Python 3.6 et pip – %USERPROFILE%\AppData\Local\Programs\Python\Python36\Scripts• Programme d'installation MSI (64 bits) – C:\Program Files\Amazon\AWSCLI• Programme d'installation MSI (32 bits) – C:\Program Files (x86)\Amazon\AWSCLI

Pour modifier votre variable PATH (Windows)

1. Appuyez sur la touche Windows et entrez variables d'environnement.2. Choisissez Modifier les variables d'environnement pour votre compte.3. Choisissez PATH, puis Modifier.4. Ajoutez des chemins d'accès dans le champ Valeur de la variable, en les séparant par des points

virgules. Par exemple: C:\existing\path;C:\new\path5. Choisissez OK deux fois pour appliquer les nouveaux paramètres.6. Fermez toute invite de commande en cours d'exécution et rouvrez.

Installation de l'AWS Command Line Interface sousmacOS

La méthode recommandée pour l'installation de l'AWS CLI sous macOS consiste à utiliser le programmed'installation de bundle. Le programme d'installation fourni inclut toutes les dépendances et peut être utiliséhors connexion.

Important

Le programme d'installation fourni ne prend pas en charge l'installation dans des cheminscontenant des espaces.

Sections• Prérequis (p. 12)• Installation de l'AWS CLI à l'aide du programme d'installation fourni (p. 13)• Installation de l'AWS CLI sur macOS à l'aide de pip (p. 14)• Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 14)

Prérequis• Python 2 version 2.6.5+ ou Python 3 version 3.3+

12

Page 17: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurInstallation de l'AWS CLI à l'aide

du programme d'installation fourni

Vérifiez votre installation de Python :

$ python --version

Si Python n'est pas déjà installé sur votre ordinateur, ou si vous souhaitez installer une version différentede Python, suivez la procédure de la section Installation de l'AWS Command Line Interface sousLinux (p. 5).

Installation de l'AWS CLI à l'aide du programmed'installation fourniSuivez les étapes suivantes à partir de la ligne de commande pour installer l'AWS CLI à l'aide duprogramme d'installation fourni.

Pour installer l'AWS CLI à l'aide du programme d'installation fourni

1. Téléchargez le programme d'installation fourni pour l'AWS CLI.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

2. Décompressez le package.

$ unzip awscli-bundle.zip

Note

Si vous n'avez pas unzip, utilisez le gestionnaire de package intégré de votre distributionLinux pour l'installer.

3. Exécutez l'exécutable d'installation.

$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Note

Par défaut, le script d'installation s'exécute sous la version système par défaut de Python.Si vous avez installé une autre version de Python et souhaitez l'utiliser pour installer AWSCLI, exécutez le script d'installation avec cette version dans le chemin d'accès absolu àl'exécutable Python. Exemples :

$ sudo /usr/local/bin/python2.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Le programme d'installation installe l'AWS CLI sous /usr/local/aws et crée le lien symbolique awsdans le répertoire /usr/local/bin. L'utilisation de l'option -b pour créer un lien symbolique évite d'avoirà spécifier le répertoire d'installation dans la variable utilisateur $PATH. Cela doit permettre à tous lesutilisateurs d'appeler l'AWS CLI en saisissant aws depuis n'importe quel répertoire.

Pour afficher une description des options -i et -b, utilisez l'option -h :

$ ./awscli-bundle/install -h

13

Page 18: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurInstallation de l'AWS CLI sur macOS à l'aide de pip

Installation de l'AWS CLI sur macOS à l'aide de pipVous pouvez également utiliser pip pour installer directement l'AWS CLI. Si vous disposez de pip, suivezles instructions décrites dans la rubrique d'installation (p. 4) principale. Exécutez pip --versionpour déterminer si votre version de macOS comprend déjà Python et pip.

$ pip --version

Pour installer l'AWS CLI sous macOS

1. Téléchargez et installez Python 3.6 à partir de la page de téléchargement de Python.org.2. Installez pip à l'aide du script fourni par Python Packaging Authority.

$ curl -O https://bootstrap.pypa.io/get-pip.py$ python3 get-pip.py --user

3. Utilisez pip pour installer l'AWS CLI.

$ pip3 install awscli --upgrade --user

4. Vérifiez que l'AWS CLI est installée correctement.

$ aws --versionAWS CLI 1.11.84 (Python 3.6.1)

Si l'exécutable est introuvable, ajoutez-le à votre chemin de ligne de commande (p. 14).

Pour effectuer une mise à niveau vers la dernière version, exécutez à nouveau la commande d'installation :

$ pip3 install awscli --upgrade --user

Ajout de l'exécutable de l'AWS CLI à votre chemin deligne de commandeAprès avoir effectué l'installation à l'aide de pip, vous devrez peut-être ajouter l'exécutable aws à lavariable d'environnement PATH de votre système d'exploitation. L'emplacement de l'exécutable dépend del'endroit où Python est installé.

Example Emplacement d'installation de l'AWS CLI - macOS avec Python 3.6 et pip (modeutilisateur)

~/Library/Python/3.6/bin

Si vous ne savez pas où est installé Python, exécutez which python.

$ which python/usr/local/bin/python

La sortie peut être le chemin d'accès vers un lien symbolique, et non le fichier exécutable. Exécutez ls -al pour voir vers où il pointe.

$ ls -al /usr/local/bin/python

14

Page 19: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurVirtualenv

~/Library/Python/3.6/bin/python3.6

pip installe les exécutables dans le dossier qui contient l'exécutable Python. Ajoutez ce dossier à votrevariable PATH.

Pour modifier votre variable PATH (Linux, macOS, or Unix)

1. Recherchez le script de profil de votre shell dans votre dossier utilisateur. Si vous n'êtes pas certain dushell utilisé, exécutez echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile ou .bash_login.• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc ou .login.

2. Ajoutez une commande d'exportation à votre script de profil.

export PATH=~/.local/bin:$PATH

Cette commande ajoute un chemin d'accès, ici ~/.local/bin, à la variable PATH actuelle.3. Chargez le profil dans la session en cours.

$ source ~/.bash_profile

Installation de l'AWS Command Line Interface dansun environnement virtuel

Pour éviter les conflits entre les versions des exigences et d'autres packages pip, vous pouvez installerl'AWS CLI dans un environnement virtuel.

Pour installer l'AWS CLI dans un environnement virtuel

1. Installez virtualenv avec pip.

$ pip install --user virtualenv

2. Créez un environnement virtuel.

$ virtualenv ~/cli-ve

L'option -p vous permet d'utiliser un exécutable Python autre que l'exécutable par défaut.

$ virtualenv -p /usr/bin/python3.4 ~/cli-ve

3. Activez l'environnement virtuel.

Linux, macOS, or Unix

$ source ~/cli-ve/bin/activate

15

Page 20: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurProgramme d'installation fourni

Windows

$ %USERPROFILE%\cli-ve\Scripts\activate

4. Installez l'AWS CLI.

(cli-ve)~$ pip install --upgrade awscli

5. Vérifiez que l'AWS CLI est installée correctement.

$ aws --versionaws-cli/1.11.84 Python/3.6.2 Linux/4.4.0-59-generic botocore/1.5.47

La commande deactivate vous permet de quitter l'environnement virtuel. Exécutez à nouveau lacommande d'activation chaque fois que vous démarrez une nouvelle session.

Pour effectuer une mise à niveau vers la dernière version, exécutez à nouveau la commande d'installation :

(cli-ve)~$ pip install --upgrade awscli

Installation de l'AWS CLI à l'aide du programmed'installation (Linux, macOS, or Unix)

Sous Linux, macOS, or Unix, vous pouvez également utiliser le programme d'installation fourni pourinstaller l'AWS CLI. Le programme d'installation fourni inclut toutes les dépendances et peut être utiliséhors connexion.

Important

Le programme d'installation fourni ne prend pas en charge l'installation dans des cheminscontenant des espaces.

Sections• Prérequis (p. 16)• Installation de l'AWS CLI à l'aide du programme d'installation fourni (p. 17)• Installation de l'AWS CLI sans Sudo (Linux, macOS, or Unix) (p. 17)• Désinstallation (p. 18)

Prérequis• Linux, macOS, or Unix• Python 2 version 2.6.5+ ou Python 3 version 3.3+

Vérifiez votre installation de Python :

$ python --version

16

Page 21: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurInstallation de l'AWS CLI à l'aide

du programme d'installation fourni

Si Python n'est pas déjà installé sur votre ordinateur, ou si vous souhaitez installer une version différentede Python, suivez la procédure de la section Installation de l'AWS Command Line Interface sousLinux (p. 5).

Installation de l'AWS CLI à l'aide du programmed'installation fourniSuivez les étapes suivantes à partir de la ligne de commande pour installer l'AWS CLI à l'aide duprogramme d'installation fourni.

Pour installer l'AWS CLI à l'aide du programme d'installation fourni

1. Téléchargez le programme d'installation fourni pour l'AWS CLI.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

2. Décompressez le package.

$ unzip awscli-bundle.zip

Note

Si vous n'avez pas unzip, utilisez le gestionnaire de package intégré de votre distributionLinux pour l'installer.

3. Exécutez l'exécutable d'installation.

$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Note

Par défaut, le script d'installation s'exécute sous la version système par défaut de Python.Si vous avez installé une autre version de Python et souhaitez l'utiliser pour installer AWSCLI, exécutez le script d'installation avec cette version dans le chemin d'accès absolu àl'exécutable Python. Exemples :

$ sudo /usr/local/bin/python2.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Le programme d'installation installe l'AWS CLI sous /usr/local/aws et crée le lien symbolique awsdans le répertoire /usr/local/bin. L'utilisation de l'option -b pour créer un lien symbolique évite d'avoirà spécifier le répertoire d'installation dans la variable utilisateur $PATH. Cela doit permettre à tous lesutilisateurs d'appeler l'AWS CLI en saisissant aws depuis n'importe quel répertoire.

Pour afficher une description des options -i et -b, utilisez l'option -h :

$ ./awscli-bundle/install -h

Installation de l'AWS CLI sans Sudo (Linux, macOS, orUnix)Si vous ne disposez pas d'autorisations sudo ou si vous voulez installer l'AWS CLI uniquement pourl'utilisateur en cours, vous pouvez utiliser une version modifiée des commandes ci-dessus :

17

Page 22: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurDésinstallation

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"$ unzip awscli-bundle.zip$ ./awscli-bundle/install -b ~/bin/aws

Cette opération installe l'AWS CLI dans l'emplacement par défaut (~/.local/lib/aws) et crée un liensymbolique dans ~/bin/aws. Assurez-vous que ~/bin figure dans votre variable d'environnement PATHpour que le lien symbolique fonctionne :

$ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if it doesn't)$ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary

Tip

Pour vous assurer que vos paramètres $PATH sont conservés entre les sessions, ajoutez la ligneexport dans votre profil shell (~/.profile, ~/.bash_profile, etc).

DésinstallationLe programme d'installation fourni ne place rien en dehors du répertoire d'installation, à l'exception dulien symbolique facultatif, de sorte que la désinstallation est aussi simple que la suppression de ces deuxéléments.

$ sudo rm -rf /usr/local/aws$ sudo rm /usr/local/bin/aws

18

Page 23: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurConfiguration rapide

Configuration de l'AWS CLICette section explique comment configurer des paramètres utilisés par l'AWS Command Line Interface lorsde l'interaction avec AWS, notamment les informations d'identification de sécurité et la région par défaut.

Note

L'AWS CLI signe les demandes en votre nom et inclut une date dans la signature. Vérifiez quela date et l'heure de votre ordinateur sont correctement définies ; dans le cas contraire, il se peutque la date de la signature ne corresponde pas à la date de la demande et que AWS rejette lademande.

Sections• Configuration rapide (p. 19)• Configuration des paramètres et des priorités (p. 20)• Fichiers de configuration et d'informations d'identification (p. 21)• Profils nommés (p. 22)• Variables d'environnement (p. 23)• Options de ligne de commande (p. 24)• Métadonnées de l'instance (p. 25)• Utilisation d'un proxy HTTP (p. 26)• Assumer un rôle (p. 27)• Saisie automatique des commandes (p. 29)

Configuration rapidePour une utilisation générale, la commande aws configure est le moyen le plus rapide pour configurerl'installation de votre AWS CLI.

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: json

L'AWS CLI vous invite à fournir quatre éléments d'information. L'ID de clé d'accès AWS et la clé d'accèssecrète AWS constituent vos informations d'identification de compte.

Pour obtenir l'ID de clé d'accès et la clé d'accès secrète pour un utilisateur IAM

Les clés d'accès se composent d'un ID de clé d'accès et d'une clé d'accès secrète, qui permettent designer les demandes par programme auprès des services AWS. Si vous n'avez pas de clé d'accès, vouspouvez en créer dans AWS Management Console. Nous vous recommandons d'utiliser des clés d'accèsIAM au lieu des clés d'accès Utilisateur racine d'un compte AWS. IAM vous permet de contrôler en toutesécurité l'accès aux services et ressources AWS dans votre compte AWS.

Vous pouvez uniquement afficher ou télécharger les clés d'accès secrètes lorsque vous les créez. Vousne pouvez pas les récupérer plus tard. Cependant, vous pouvez créer de nouvelles clés d'accès à toutmoment. Vous devez également disposer des autorisations permettant d'effectuer les opérations IAMnécessaires. Pour de plus amples informations, veuillez consulter Autorisations requises pour accéder auxressources IAM dans le manuel IAM Guide de l'utilisateur.

19

Page 24: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurConfiguration des paramètres et des priorités

1. Ouvrez la console IAM.2. Dans le volet de navigation de la console, choisissez Utilisateurs.3. Choisissez votre nom d'utilisateur IAM (pas la case à cocher).4. Choisissez l'onglet Informations d'identification de sécurité, puis Créer une clé d'accès.5. Pour afficher la nouvelle clé d'accès, choisissez Afficher. Vos informations d'identification s'afficheront

comme suit :

• ID de clé d'accès : AKIAIOSFODNN7EXAMPLE• Clé d'accès secrète : wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

6. Pour télécharger la paire de clés, choisissez Download .csv file. Stockez les clés dans unemplacement sûr.

Préservez la confidentialité des clés afin de protéger votre compte AWS et ne les envoyez jamais pare-mail. Ne les divulguez à personne hors de votre entreprise, même si vous recevez une demandequi semble provenir d'AWS ou d'Amazon.com. Aucun véritable représentant d'Amazon ne vousdemandera jamais de lui fournir votre clé secrète.

Voir aussi

• En quoi consiste IAM ? du manuel IAM Guide de l'utilisateur• Informations d'identification de sécurité AWS dans AWS General Reference

La région par défaut est le nom de la région dans laquelle vous souhaitez effectuer des appels par défaut.Il s'agit généralement de la région la plus proche de vous, mais il peut aussi s'agir de n'importe quelle autrerégion. Par exemple, tapez us-west-2 pour utiliser USA Ouest (Oregon).

Note

Vous devez spécifier une région AWS lors de l'utilisation de l'AWS CLI. Pour obtenir la liste desservices et régions disponibles, consultez la section Régions et points de terminaison. Les nomsdes indicateurs de région utilisés par l'AWS CLI sont les mêmes que ceux des URL et des pointsde terminaison de service de AWS Management Console.

Le format de sortie par défaut peut être json, text ou table. Si vous n'indiquez pas de format de sortie,json est utilisé.

Si vous avez plusieurs profils, vous pouvez configurer des profils supplémentaires, des profils nommés àl'aide de l'option --profile.

$ aws configure --profile user2AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLEAWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEYDefault region name [None]: us-east-1Default output format [None]: text

Pour mettre à jour vos paramètres, réexécutez simplement aws configure et entrez les nouvellesvaleurs comme il convient. Les sections suivantes contiennent plus d'informations sur les fichiers créés paraws configure, les paramètres supplémentaires et les profils nommés.

Configuration des paramètres et des prioritésL'AWS CLI utilise une chaîne fournisseur pour rechercher les informations d'identification AWS dans uncertain nombre d'emplacements différents, y compris les variables d'environnement système ou utilisateuret les fichiers de configuration locaux AWS.

20

Page 25: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurFichiers de configuration et d'informations d'identification

L'AWS CLI recherche les informations d'identification et les paramètres de configuration dans l'ordresuivant :

1. Options de ligne de commande – la région, le format de sortie et le profil peuvent être spécifiés en tantqu'options de commande pour remplacer les paramètres par défaut.

2. Variables d'environnement (p. 23) – AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY etAWS_SESSION_TOKEN.

3. Fichier d'informations d'identification AWS – situé dans ~/.aws/credentials sous Linux, macOS, orUnix, ou dans C:\Users\USERNAME \.aws\credentials sous Windows. Ce fichier peut contenirplusieurs profils nommés en plus d'un profil par défaut.

4. Fichier de configuration CLI – généralement situé dans ~/.aws/config sous Linux, macOS, or Unix,ou dans C:\Users\USERNAME \.aws\config sous Windows. Ce fichier peut contenir un profil pardéfaut, des profils nommés, ainsi que des paramètres de configuration spécifiques à une interface CLIpour chacun.

5. Informations d'identification du conteneur – fournies par Amazon Elastic Container Service sur lesinstances de conteneur lorsque vous attribuez un rôle à votre tâche.

6. Informations d'identification du profil d'instance – ces informations d'identification peuvent êtreutilisées sur les instances EC2 avec un rôle d'instance attribué et elles sont fournies via le service demétadonnées Amazon EC2.

Fichiers de configuration et d'informationsd'identification

L'interface CLI stocke les informations d'identification spécifiées avec aws configure dans un fichierlocal nommé credentials dans un dossier nommé .aws dans votre répertoire de base. L'emplacementdu répertoire de base varie, mais il peut être référencé à l'aide de variables d'environnement%UserProfile% sous Windows et de $HOME ou ~ (tilde) sur les systèmes UNIX.

Par exemple, les commandes suivantes permettent d'afficher le contenu du dossier .aws :

Linux, macOS, or Unix

$ ls ~/.aws

Windows

> dir "%UserProfile%\.aws"

Pour séparer les informations d'identification des options les moins sensibles, la région et le format desortie sont stockés dans un fichier distinct nommé config dans le même dossier.

L'emplacement par défaut pour le fichier de configuration peut être remplacé en définissant lavariable d'environnement AWS_CONFIG_FILE sur un autre chemin d'accès local. Voir Variablesd'environnement (p. 23) pour plus de détails.

Stockage des informations d'identification dans la configuration

L'AWS CLI lit également les informations d'identification dans le fichier de configuration. Si voussouhaitez conserver tous vos paramètres de profil dans un seul fichier, cela est possible. S'il y atoujours des informations d'identification dans les deux emplacements d'un profil (si vous avezutilisé aws configure pour mettre à jour les clés du profil), les clés du fichier d'informationsd'identification sont prioritaires.

21

Page 26: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurProfils nommés

Si vous utilisez un kit SDK en plus de l'AWS CLI, vous recevrez peut-être des avertissementsupplémentaires si les informations d'identification ne sont pas stockées dans leur propre fichier.

Les fichiers générés par l'interface de ligne de commande pour le profil configuré dans la sectionprécédente ressemblent à ceci :

~/.aws/credentials

[default]aws_access_key_id=AKIAIOSFODNN7EXAMPLEaws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default]region=us-west-2output=json

Les paramètres suivants sont prise en charge.

aws_access_key_id – clé d'accès AWS.

aws_secret_access_key – clé secrète AWS.

aws_session_token – jeton de session AWS. Un jeton de session n'est nécessaire que si vous utilisez desinformations d'identification de sécurité temporaires.

region – région AWS.

output – format de sortie (json, texte ou tableau)

Profils nommésL'AWS CLI prend en charge les profils nommés stockés dans les fichiers de configuration et les fichiersd'informations d'identification. Vous pouvez configurer des profils supplémentaires à l'aide de awsconfigure avec l'option --profile ou en ajoutant des entrées dans les fichiers de configuration et lesfichiers d'informations d'identification.

L'exemple suivant illustre un fichier d'informations d'identification avec deux profils :

~/.aws/credentials

[default]aws_access_key_id=AKIAIOSFODNN7EXAMPLEaws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user2]aws_access_key_id=AKIAI44QH8DHBEXAMPLEaws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Chaque profil utilise des informations d'identification différentes, peut-être de deux utilisateurs IAMdifférents, et peut aussi utiliser des régions et des formats de sortie différents.

~/.aws/config

[default]

22

Page 27: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation de profils avec l'AWS CLI

region=us-west-2output=json

[profile user2]region=us-east-1output=text

Important

Le fichier d'informations d'identification AWS utilise un format de nom différent de celui dufichier de configuration CLI pour les profils nommés. N'incluez pas le préfixe « profil » lors de laconfiguration d'un profil nommé dans le fichier d'informations d'identification AWS.

Utilisation de profils avec l'AWS CLIPour utiliser un profil nommé, ajoutez l'option --profile à votre commande. L'exemple suivant permet derépertorier les instances en cours d'exécution à l'aide du profil user2 de la section précédente.

$ aws ec2 describe-instances --profile user2

Si vous allez utiliser un profil nommé pour plusieurs commandes, vous pouvez éviter de spécifier leprofil dans chaque commande en définissant la variable d'environnement AWS_PROFILE en ligne decommande :

Linux, macOS, or Unix

$ export AWS_PROFILE=user2

Windows

> set AWS_PROFILE=user2

La définition de la variable d'environnement permet de modifier le profil par défaut jusqu'à la fin de votresession shell, ou jusqu'à ce que vous définissiez la variable sur une autre valeur. Des informations sur lesvariables sont fournies dans la section suivante.

Variables d'environnementLes variables d'environnement remplacent les fichiers de configuration et les fichiers d'informationsd'identification et elles peuvent être utiles pour les scripts ou la définition temporaire d'un profil nommécomme profil par défaut.

L'AWS CLI prend en charge les variables d'environnement suivantes.

• AWS_ACCESS_KEY_ID – Clé d'accès AWS.• AWS_SECRET_ACCESS_KEY – Clé secrète AWS. Les variables de clé d'accès et de clé secrète

remplacent les informations d'identification stockées dans des fichiers de configuration et les fichiersd'informations d'identification.

• AWS_SESSION_TOKEN – Spécifiez un jeton de session si vous utilisez des informations d'identification desécurité temporaires.

• AWS_DEFAULT_REGION – Région AWS. Cette variable remplace la région par défaut dans le profil encours d'utilisation, s'il est défini.

23

Page 28: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurOptions de ligne de commande

• AWS_DEFAULT_OUTPUT – Remplacez la mise en forme de la sortie de l'AWS CLI par json, text outable.

• AWS_PROFILE – Nom du profil de l'interface de ligne de commande à utiliser. Il peut s'agir du nom d'unprofil stocké dans un fichier d'informations d'identification ou dans un fichier de configuration, ou dedefault pour utiliser le profil par défaut.

• AWS_CA_BUNDLE – Spécifiez le chemin d'accès vers un ensemble de certificats à utiliser pour lavalidation des certificats HTTPS.

• AWS_SHARED_CREDENTIALS_FILE – Modifiez l'emplacement du fichier que l'AWS CLI utilise pourstocker les clés d'accès.

• AWS_CONFIG_FILE – Modifiez l'emplacement du fichier que l'AWS CLI utilise pour stocker les profils deconfiguration.

L'exemple suivant vous montre comment configurer des variables d'environnement pour l'utilisateur pardéfaut présenté précédemment dans le présent guide.

Linux, macOS, or Unix

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY$ export AWS_DEFAULT_REGION=us-west-2

Windows

> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY> set AWS_DEFAULT_REGION=us-west-2

Options de ligne de commandeVous pouvez utiliser les options de ligne de commande suivantes afin de remplacer les paramètres deconfiguration par défaut pour une seule commande. Vous ne pouvez pas utiliser les options de ligne decommande pour spécifier des informations d'identification.

--profile

Nom d'un profil nommé (p. 22) à utiliser.--région

Région AWS à appeler.--output

Format de sortie.--endpoint-url

URL sur laquelle effectuer l'appel. Pour la plupart des commandes, l'AWS CLI détermineautomatiquement l'URL en fonction du service et de la région AWS. Toutefois, certaines commandesnécessitent que vous spécifiez une URL propre au compte.

Lorsque vous fournissez l'une de ces options dans la ligne de commande, celle-ci remplace la configurationpar défaut et le paramètre de profil correspondant pour une seule commande. Chaque option prend unargument de chaîne avec un espace ou le signe égal (=) qui sépare l'argument du nom de l'option. Quandla chaîne d'argument contient un espace, placez l'argument entre guillemets.

24

Page 29: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurMétadonnées de l'instance

Tip

Pour configurer des profils supplémentaires, vous pouvez utiliser l'option --profile avec awsconfigure.

$ aws configure --profile <profilename>

Ces options de ligne de commande sont couramment utilisées pour vérifier vos ressources dans plusieursrégions AWS et modifier le format de sortie pour l'éligibilité ou la facilité d'utilisation lors de l'utilisation descripts. Par exemple, si vous n’êtes pas certain de la région dans laquelle votre instance s'exécute, vouspouvez exécuter la commande describe-instances comme suit sur chaque région jusqu'à ce que vousl'ayez trouvée.

$ aws ec2 describe-instances --output table --region us-east-1-------------------|DescribeInstances|+-----------------+$ aws ec2 describe-instances --output table --region us-west-1-------------------|DescribeInstances|+-----------------+$ aws ec2 describe-instances --output table --region us-west-2------------------------------------------------------------------------------| DescribeInstances |+----------------------------------------------------------------------------+|| Reservations |||+-------------------------------------+------------------------------------+||| OwnerId | 012345678901 |||| ReservationId | r-abcdefgh |||+-------------------------------------+------------------------------------+|||| Instances |||||+------------------------+-----------------------------------------------+||||| AmiLaunchIndex | 0 |||||| Architecture | x86_64 |||...

Les types d'argument (chaîne, booléen, etc.) pour chaque option de ligne de commande sont décrits endétail dans Indication des valeurs des paramètres (p. 40).

Métadonnées de l'instancePour utiliser l'interface CLI à partir d'une instance EC2, créez un rôle qui a accès aux ressourcesnécessaires et attribuez ce rôle à l'instance lorsqu'elle est lancée. Lancez l'instance et vérifiez si l'AWS CLIest déjà installée (elle est fournie pré-installé sur Amazon Linux).

Installez l'AWS CLI si nécessaire et configurez une région par défaut pour éviter d'avoir à la spécifier danschaque commande. Vous pouvez définir la région à l'aide de aws configure sans saisir les informationsd'identification en appuyant deux fois sur Entrée pour ignorer les deux premières invites :

$ aws configureAWS Access Key ID [None]: ENTERAWS Secret Access Key [None]: ENTERDefault region name [None]: us-west-2Default output format [None]: json

L'AWS CLI lit les informations d'identification à partir des métadonnées de l'instance. Pour plusd'informations, consultez la section Granting Applications that Run on Amazon EC2 Instances Access toAWS Resources dans le manuel IAM Guide de l'utilisateur.

25

Page 30: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation d'un proxy HTTP

Utilisation d'un proxy HTTPSi vous avez besoin d'accéder à AWS via des serveurs proxys, vous devez configurer les variablesd'environnement HTTP_PROXY et HTTPS_PROXY avec les adresses IP de vos serveurs proxys.

Linux, macOS, or Unix

$ export HTTP_PROXY=http://a.b.c.d:n$ export HTTPS_PROXY=http://w.x.y.z:m

Windows

> set HTTP_PROXY=http://a.b.c.d:n> set HTTPS_PROXY=http://w.x.y.z:m

Dans ces exemples, http://a.b.c.d:n et http://w.x.y.z:m sont les adresses IP et les ports desproxys HTTP et HTTPS.

Authentification auprès d'un proxyL'AWS CLI prend en charge l'authentification de base HTTP. Spécifiez un nom d'utilisateur et un mot depasse dans l'URL de proxy comme suit :

Linux, macOS, or Unix

$ export HTTP_PROXY=http://username:[email protected]:n$ export HTTPS_PROXY=http://username:[email protected]:m

Windows

> set HTTP_PROXY=http://username:[email protected]:n> set HTTPS_PROXY=http://username:[email protected]:m

Note

L'AWS CLI ne prend pas en charge les proxys NTLM. Si vous utilisez un proxy NTLM ouKerberos, vous pouvez vous connecter via un proxy d'authentification tel que Cntlm.

Utilisation d'un proxy sur les instances EC2Si vous configurez un proxy sur une instance ec2 lancée avec un rôle IAM, vous devez également définirla variable d'environnement NO_PROXY avec l'adresse IP 169.254.169.254, de sorte que l'AWS CLI puisseaccéder aux métadonnées d'instance.

Linux, macOS, or Unix

$ export NO_PROXY=169.254.169.254

Windows

> set NO_PROXY=169.254.169.254

26

Page 31: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAssumer un rôle

Assumer un rôleUn rôle IAM est un outil d'autorisation qui permet à un utilisateur d'acquérir des autorisationssupplémentaires ou d'obtenir l'autorisation d'exécuter des actions dans un autre compte.

Vous pouvez configurer l'AWS Command Line Interface afin qu'elle utilise un rôle en créant un profilpour ce rôle dans le fichier ~/.aws/config. L'exemple suivant illustre un profil de rôle nommémarketingadmin qui est endossé par le profil par défaut.

[profile marketingadmin]role_arn = arn:aws:iam::123456789012:role/marketingadminsource_profile = default

Dans ce cas, le profil par défaut est un utilisateur IAM avec des informations d'identification et l'autorisationd'endosser un rôle nommé marketingadmin. Pour accéder au rôle, vous créez un profil nommé. Au lieu deconfigurer ce profil avec des informations d'identification, vous spécifiez l'ARN du rôle et le nom du profil quiy a accès.

Sections• Configuration et utilisation d'un rôle (p. 27)• Utilisation de l'authentification multi-facteurs (p. 28)• Rôles entre comptes (p. 29)• Suppression des informations d'identification mises en cache (p. 29)

Configuration et utilisation d'un rôleLorsque vous exécutez des commandes à l'aide du profil de rôle, l'AWS CLI utilise les informationsd'identification du profil source pour appeler AWS Security Token Service et endosser le rôle spécifié.Le profil source doit avoir l'autorisation d'appeler sts:assume-role sur le rôle, et le rôle doit avoir unerelation de confiance avec le profil source pour se permettre d’être endossé.

Créez un nouveau rôle dans IAM avec les autorisations que vous souhaitez que les utilisateurs endossenten suivant la procédure sous Création d'un rôle pour déléguer des autorisations à un utilisateur IAM dansle Guide de l'utilisateur de AWS Identity and Access Management. Si le rôle et l'utilisateur IAM cible sontdans le même compte, vous pouvez entrer votre propre ID de compte lors de la configuration de la relationde confiance du rôle.

Une fois le rôle créé, modifiez la relation de confiance afin d'autoriser l'utilisateur IAM à assumer ce rôle.L'exemple suivant illustre une relation de confiance qui autorise l'endossement d'un rôle par un utilisateurIAM nommé jonsmith :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/jonsmith" }, "Action": "sts:AssumeRole" } ]}

27

Page 32: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation de l'authentification multi-facteurs

Ensuite, accordez à votre utilisateur IAM l'autorisation d'endosser le rôle. L'exemple suivant illustreune stratégie AWS Identity and Access Management qui autorise un utilisateur IAM à endosser le rôlemarketingadmin :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/marketingadmin" } ]}

L'utilisateur n'a pas besoin d'avoir des autorisations supplémentaires pour exécuter des commandes àl'aide du profil de rôle. Si vous souhaitez que vos utilisateurs puissent accéder aux ressources AWS sansutiliser le rôle, appliquez des stratégies en ligne ou gérées supplémentaires pour ces ressources.

Avec le profil de rôle, les autorisations de rôle, la relation de confiance et les autorisations utilisateurappliquées, vous pouvez endosser le rôle en ligne de commande à l'aide de l'option profile, parexemple :

$ aws s3 ls --profile marketingadmin

Pour utiliser le rôle pour plusieurs appels, vous pouvez définir la variable d'environnement AWS_PROFILEpour la session en cours à partir de la ligne de commande :

Linux, macOS, or Unix

$ export AWS_PROFILE=marketingadmin

Windows

> set AWS_PROFILE=marketingadmin

Pour plus d'informations sur la configuration des utilisateurs et des rôles IAM, consultez les sections Utilisateurs et groupes et Rôles dans le Guide de l'utilisateur de AWS Identity and Access Management.

Utilisation de l'authentification multi-facteursPour une sécurité accrue, vous pouvez demander aux utilisateurs de fournir une clé à usage uniquegénérée à partir d'un périphérique ou d'une application mobile d'authentification multi-facteurs lorsqu'ilsessaient d'effectuer un appel en utilisant le profil de rôle.

Tout d'abord, modifiez la relation de confiance sur le rôle afin d'exiger une authentification multi-facteurs :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/jonsmith" }, "Action": "sts:AssumeRole", "Condition": { "Bool": { "aws:MultiFactorAuthPresent": true } } }

28

Page 33: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurRôles entre comptes

]}

Ensuite, ajoutez une ligne au profil de rôle qui spécifie l'ARN du périphérique MFA de l'utilisateur :

[profile marketingadmin]role_arn = arn:aws:iam::123456789012:role/marketingadminsource_profile = defaultmfa_serial = arn:aws:iam::123456789012:mfa/jonsmith

Le paramètre mfa_serial peut utiliser un ARN, comme indiqué, ou le numéro de série d'un jeton MFAmatériel.

Rôles entre comptesVous pouvez permettre aux utilisateurs IAM d'endosser des rôles qui appartiennent à différents comptesen configurant le rôle en tant que rôle entre comptes. Lors de la création de rôle, définissez le type derôle sur l'une des options sous Rôle pour l'accès entre comptes et sélectionnez si vous le souhaitez MFAobligatoire. L'option MFA obligatoire configure la condition appropriée dans la relation de confiance commedécrit dans la section Utilisation de l'authentification multi-facteurs (p. 28).

Si vous utilisez un ID externe pour accorder un contrôle supplémentaire aux personnes susceptiblesd'endosser un rôle entre les comptes, ajoutez un paramètre external_id au profil de rôle :

[profile crossaccountrole]role_arn = arn:aws:iam::234567890123:role/xaccountsource_profile = defaultmfa_serial = arn:aws:iam::123456789012:mfa/jonsmithexternal_id = 123456

Suppression des informations d'identification mises encacheLorsque vous assumez un rôle, l'AWS CLI met en cache les informations d'identification temporaireslocalement jusqu'à ce qu'elles arrivent à expiration. Si les informations d'identification temporaires de votrerôle sont révoquées, vous pouvez supprimer le cache pour forcer l'AWS CLI à récupérer de nouvellesinformations d'identification.

Linux, macOS, or Unix

$ rm -r ~/.aws/cli/cache

Windows

> del /s /q %UserProfile%\.aws\cli\cache

Saisie automatique des commandesSur les systèmes Unix, l'AWS CLI inclut une fonction de saisie automatique des commandes qui vouspermet d'utiliser la touche TAB pour terminer une commande partiellement saisie. Cette fonction n'est pasautomatiquement installée, vous devez donc la configurer manuellement.

29

Page 34: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurIdentification de votre shell

Pour configurer la saisie automatique de commandes, vous avez besoin de deux éléments d'information :le nom du shell que vous utilisez et l'emplacement du script aws_completer.

Saisie sur Amazon Linux

La saisie automatique de commandes est configurée par défaut sur les instances exécutantAmazon Linux.

Sections• Identification de votre shell (p. 30)• Localisation du programme d'exécution AWS (p. 30)• Activation de la saisie automatique de commandes (p. 31)• Test de la saisie de commande (p. 31)

Identification de votre shellSi vous n’êtes pas certain du shell que vous utilisez, identifiez-le à l'aide de l'une des commandessuivantes :

echo $SHELL – affiche le répertoire d'installation du shell. Il s'agit généralement du shell que vous utilisez,sauf si vous avez lancé un autre shell après la connexion.

$ echo $SHELL/bin/bash

ps – affiche les processus actifs pour l'utilisateur en cours. Le shell doit être l'un d'eux.

$ ps PID TTY TIME CMD 2148 pts/1 00:00:00 bash 8756 pts/1 00:00:00 ps

Localisation du programme d'exécution AWSL'emplacement peut varier selon la méthode d'installation utilisée.

Gestionnaire de package – les programmes, tels que pip, yum, brew et apt-get installent généralement leprogramme d'exécution d'AWS (ou un lien symbolique vers ce dernier) dans un emplacement standard.Dans ce cas, which localise le programme d'exécution à votre place.

$ which aws_completer/usr/local/bin/aws_completer

Programme d'installation fourni – si vous utilisez le programme d'installation fourni conformément auxinstructions de la section précédente, le programme d'exécution AWS doit se trouver dans le sous-dossierbin du répertoire d'installation.

$ ls /usr/local/aws/binactivateactivate.cshactivate.fishactivate_this.pyawsaws.cmdaws_completer

30

Page 35: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurActivation de la saisie automatique de commandes

...

Si tout le reste échoue, vous pouvez utiliser find pour lancer une recherche du programme d'exécutionAWS sur l'intégralité du système de fichiers.

$ find / -name aws_completer/usr/local/aws/bin/aws_completer

Activation de la saisie automatique de commandesExécutez une commande pour activer la saisie automatique de commande. La commande que vous utilisezpour activer la saisie automatique dépend du shell que vous utilisez. Vous pouvez ajouter la commande aufichier RC de votre shell pour l'exécuter à chaque fois que vous ouvrez un nouveau shell.

• bash – utilisation de la commande intégrée complete.

$ complete -C '/usr/local/bin/aws_completer' aws

Ajoutez la commande à ~/.bashrc pour l'exécuter à chaque fois que vous ouvrez un nouveau shell.Votre ~/.bash_profile doit avoir pour source ~/.bashrc pour garantir que la commande estégalement exécutée dans les shells de connexion.

• tcsh – la saisie pour tcsh utilise un type de mot et de modèle pour définir le comportement de saisie.

> complete aws 'p/*/`aws_completer`/'

Ajoutez la commande à ~/.tschrc pour l'exécuter à chaque fois que vous ouvrez un nouveau shell.• zsh – source bin/aws_zsh_completer.sh.

% source /usr/local/bin/aws_zsh_completer.sh

L'AWS CLI utilise la saisie automatique de compatibilité bash (bashcompinit) pour la prise en chargede zsh. Pour plus d'informations, consultez la partie supérieure de aws_zsh_completer.sh.

Ajoutez la commande à ~/.zshrc pour l'exécuter à chaque fois que vous ouvrez un nouveau shell.

Test de la saisie de commandeAprès avoir activé la saisie de commande, entrez une commande partielle et appuyez sur la touche detabulation pour voir les commandes disponibles.

$ aws sTABs3 ses sqs sts swfs3api sns storagegateway support

31

Page 36: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurInstallez l'AWS CLI

Déploiement d'un environnement dedéveloppement dans Amazon EC2à l'aide de l'AWS Command LineInterface

Ce didacticiel explique en détail comment configurer un environnement de développement dans AmazonEC2 à l'aide de l'AWS CLI. Il comporte une version courte des instructions d'installation et de configuration,et peut être exécuté du début à la fin sous Windows, Linux, macOS, or Unix.

Étapes• Installez l'AWS CLI (p. 32)• Configuration de l'AWS CLI (p. 33)• Création d'un groupe de sécurité et d'une paire de clés pour l'instance EC2 (p. 34)• Lancement d'une instance et connexion (p. 34)

Installez l'AWS CLIVous pouvez installer l'AWS CLI avec un programme d'installation (Windows) ou en utilisant pip,gestionnaire de package pour Python.

Windows1. Téléchargez le programme d'installation MSI.

• Télécharger le programme d'installation MSI de l'AWS CLI pour Windows (64 bits)• Télécharger le programme d'installation MSI de l'AWS CLI pour Windows (32 bits)

2. Exécutez le programme d'installation MSI téléchargé.3. Suivez les instructions qui s'affichent.

Linux, macOS, or UnixCes étapes impliquent que vous disposiez d'une installation opérationnelle de Python 2 version 2.6.5+ou Python 3 version 3.3+. Si vous rencontrez des problèmes lors des étapes suivantes, consultez lesinstructions d'installation complètes dans le AWS Command Line Interface Guide de l'utilisateur.

1. Téléchargez et exécutez le script d'installation à partir du site Web de pip :

$ curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"

32

Page 37: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurConfiguration de l'AWS CLI

$ python get-pip.py --user

2. Installation de l’AWS CLI à l'aide de pip:

$ pip install awscli --user

Configuration de l'AWS CLIExécutez aws configure en ligne de commande pour configurer vos informations d'identification etparamètres.

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-east-2Default output format [None]: json

L'AWS CLI vous invite à entrer les informations suivantes :

• ID de clé d'accès AWS et clé d'accès secrète - Il s'agit des informations d'identification de compte. Sivous n'avez pas de clés, consultez la section Comment puis-je obtenir les informations d'identification desécurité ? dans le manuel Référence générale d'Amazon Web Services.

• Nom de région par défaut – Il s'agit du nom de la région dans laquelle vous souhaitez effectuer desappels par défaut.

• Format de sortie par défaut – Ce format peut être json, texte ou tableau. Si vous n'indiquez pas de formatde sortie, json sera utilisé.

Exécutez une commande pour vérifier que vos informations d'identification sont correctement configuréeset que vous pouvez vous connecter à AWS.

$ aws ec2 describe-regions --output table----------------------------------------------------------| DescribeRegions |+--------------------------------------------------------+|| Regions |||+-----------------------------------+------------------+||| Endpoint | RegionName |||+-----------------------------------+------------------+||| ec2.ap-south-1.amazonaws.com | ap-south-1 |||| ec2.eu-west-3.amazonaws.com | eu-west-3 |||| ec2.eu-west-2.amazonaws.com | eu-west-2 |||| ec2.eu-west-1.amazonaws.com | eu-west-1 |||| ec2.ap-northeast-3.amazonaws.com | ap-northeast-3 |||| ec2.ap-northeast-2.amazonaws.com | ap-northeast-2 |||| ec2.ap-northeast-1.amazonaws.com | ap-northeast-1 |||| ec2.sa-east-1.amazonaws.com | sa-east-1 |||| ec2.ca-central-1.amazonaws.com | ca-central-1 |||| ec2.ap-southeast-1.amazonaws.com | ap-southeast-1 |||| ec2.ap-southeast-2.amazonaws.com | ap-southeast-2 |||| ec2.eu-central-1.amazonaws.com | eu-central-1 |||| ec2.us-east-1.amazonaws.com | us-east-1 |||| ec2.us-east-2.amazonaws.com | us-east-2 |||| ec2.us-west-1.amazonaws.com | us-west-1 |||| ec2.us-west-2.amazonaws.com | us-west-2 |||+-----------------------------------+------------------+|

33

Page 38: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurCréation d'un groupe de sécurité et

d'une paire de clés pour l'instance EC2

Création d'un groupe de sécurité et d'une paire declés pour l'instance EC2

L’étape suivante consiste à définir des prérequis pour le lancement d'une instance EC2 accessible àl'aide de SSH. Pour plus d'informations sur les fonctions Amazon EC2, accédez à Amazon EC2 Guide del'utilisateur pour les instances Linux.

Pour créer un groupe de sécurité, une paire de clés et un rôle

1. Commencez par créer un nouveau groupe de sécurité et ajoutez une règle qui autorise le trafic entrantsur le port 22 pour SSH. Si vous utilisez le VPC par défaut pour la région, vous pouvez omettre leparamètre --vpc-id. Sinon, spécifiez l'ID du VPC dans lequel vous lancerez votre instance. Pourplus de sécurité, remplacez la plage CIDR 0.0.0.0/0 par la plage du réseau à partir duquel vousvous connecterez à votre instance.

$ aws ec2 create-security-group --group-name devenv-sg --vpc-id vpc-xxxxxxxx --description "security group for development environment"{ "GroupId": "sg-b018ced5"}$ aws ec2 authorize-security-group-ingress --group-name devenv-sg --protocol tcp --port 22 --cidr 0.0.0.0/0

Notez l'ID du groupe de sécurité pour une utilisation ultérieure lorsque vous lancez l'instance.2. Ensuite, créez une paire de clés, ce qui vous permet de vous connecter à l'instance. Cette commande

enregistre le contenu de la clé dans un fichier nommé devenv-key.pem.

$ aws ec2 create-key-pair --key-name devenv-key --query 'KeyMaterial' --output text > devenv-key.pem

Windows

Dans une invite de commande Windows, utilisez des guillemets et non des apostrophes.3. Sous Linux, vous devrez également modifier le mode fichier afin que vous seul ayez accès au fichier

de clé.

$ chmod 400 devenv-key.pem

Lancement d'une instance et connexionEnfin, vous êtes prêt à lancer une instance et à vous y connecter.

Pour lancer une instance et vous y connecter

1. Exécutez la commande suivante, en utilisant l'ID du groupe de sécurité que vous avez créé dansl’étape précédente. Le paramètre --image-id spécifie l'Amazon Machine Image (AMI) utilisée parAmazon EC2 pour amorcer l'instance. Vous pouvez trouver un ID d'image pour votre région et votresystème d'exploitation à l'aide de la console Amazon EC2. Si vous utilisez le sous-réseau par défautpour un VPC par défaut, vous pouvez omettre le paramètre --subnet-id. Sinon, spécifiez l'ID dusous-réseau dans lequel vous lancerez votre instance.

34

Page 39: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurLancement d'une instance et connexion

$ aws ec2 run-instances --image-id ami-xxxxxxxx --subnet-id subnet-xxxxxxxx --security-group-ids sg-b018ced5 --count 1 --instance-type t2.micro --key-name devenv-key --query 'Instances[0].InstanceId'"i-0787e4282810ef9cf"

2. L'instance prendra quelques instants pour se lancer. Une fois que l'instance est opérationnelle, vousavez besoin de l'adresse IP publique de l'instance pour la connecter. Utilisez la commande suivantepour obtenir l'adresse IP publique :

$ aws ec2 describe-instances --instance-ids i-0787e4282810ef9cf --query 'Reservations[0].Instances[0].PublicIpAddress'"54.183.22.255"

3. Pour vous connecter à l'instance, utilisez l'adresse IP publique et la clé privée avec votre programmeterminal préféré. Sous Linux, macOS, or Unix, vous pouvez effectuer cette opération depuis la ligne decommande à l'aide de la commande suivante :

$ ssh -i devenv-key.pem [email protected]

Si vous obtenez une erreur telle que autorisation refusée (clé publique) lorsque vous essayez de vousconnecter à votre instance, vérifiez que les éléments suivants sont corrects :

• Clé – La clé spécifiée doit figurer dans le chemin indiqué et il doit s'agir de la clé privée et non de laclé publique. Les autorisations sur la clé doivent être limitées au propriétaire.

• Utilisateur – Le nom d'utilisateur doit correspondre au nom d'utilisateur par défaut associé à l'AMIque vous avez utilisée pour lancer l'instance. Pour une AMI Ubuntu, il s'agit de ubuntu. Pour uneAMI Amazon Linux, il s'agit de ec2-user.

• Instance – Adresse IP publique ou nom DNS de l'instance. Vérifiez que l'adresse est publique et quele port 22 est ouvert sur votre machine locale sur le groupe de sécurité de l'instance.

Vous pouvez également utiliser l'option -v pour afficher des informations supplémentaires relatives àl'erreur.

SSH sous Windows

Sous Windows, vous pouvez utiliser l'application de terminal PuTTY disponible ici. Procurez-vous putty.exe et puttygen.exe à partir de la page de téléchargements.Utilisez puttygen.exe pour convertir votre clé privée en un fichier .ppk requis par PuTTY.Lancez putty.exe, entrez l'adresse IP publique de l'instance dans le champ Nom d'hôte etdéfinissez le type de connexion sur SSH.Dans le panneau Catégorie, accédez à Connexion > SSH > Auth, puis cliquez sur Parcourirpour sélectionner votre fichier .ppk, puis cliquez sur Ouvrir pour vous connecter.

4. Le terminal vous invite à accepter la clé publique du serveur. Saisissez yes et cliquez sur Entrée pourmettre fin à la connexion.

Vous avez maintenant configuré un groupe de sécurité, créé une paire de clés, lancé une instance EC2 etvous y êtes connectée sans jamais quitter la ligne de commande.

35

Page 40: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurObtenir de l'aide

Utilisation de l'AWS Command LineInterface

Cette section présente les fonctions et modèles d'appels couramment utilisés au sein de l'AWS CommandLine Interface.

Note

AWS CLI effectue des appels d'API aux services sur HTTPS. Les connexions sortantes sur le portTCP 443 doivent être activées pour pouvoir effectuer des appels.

Rubriques• Obtenir de l'aide avec l'AWS Command Line Interface (p. 36)• Structure de commande dans l'AWS Command Line Interface (p. 40)• Spécification des valeurs des paramètres pour l'AWS Command Line Interface (p. 40)• Génération des paramètres de squelette de CLI et JSON en entrée de la CLI (p. 46)• Contrôle de la sortie de commande de l'AWS Command Line Interface (p. 49)• Utilisation de la syntaxe raccourcie avec l'AWS Command Line Interface (p. 55)• Utilisation des options de pagination de l'AWS Command Line Interface (p. 57)

Obtenir de l'aide avec l'AWS Command LineInterface

Pour obtenir de l'aide lors de l'utilisation de l'AWS CLI, vous pouvez simplement ajouter help à la find'une commande. Par exemple, la commande suivante permet d'afficher l'aide des options de l'AWS CLIgénérale et des commandes de niveau supérieur disponibles.

$ aws help

La commande suivante répertorie les sous-commandes disponibles pour Amazon EC2.

$ aws ec2 help

L'exemple suivant permet d'afficher l'aide détaillée sur le fonctionnement d'EC2 DescribeInstances,y compris les descriptions de ses paramètres d'entrée, des filtres et des sorties. Consultez la section desexemples dans l'aide si vous avez des doutes sur la syntaxe d'une commande.

$ aws ec2 describe-instances help

L'aide de chaque commande est divisée en six sections :

Nom – nom de la commande.

NAME describe-instances -

Description – description de l'opération d'API appelée par la commande, extraite de la documentation d'APIpour le service de la commande.

36

Page 41: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurObtenir de l'aide

DESCRIPTION Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results....

Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle estfacultative ou elle a une valeur par défaut, ou bien une autre option peut être utilisée à la place.

SYNOPSIS describe-instances [--dry-run | --no-dry-run] [--instance-ids <value>] [--filters <value>] [--cli-input-json <value>] [--starting-token <value>] [--page-size <value>] [--max-items <value>] [--generate-cli-skeleton]

describe-instances a un comportement par défaut qui décrit toutes les instances du compte et dela région en cours. Vous pouvez le cas échéant indiquer une liste d'instance-ids pour décrire une ouplusieurs instances. dry-run est un indicateur booléen facultatif qui ne prend pas de valeur. Pour utiliserun indicateur booléen, indiquez la valeur affichée, dans le cas présent --dry-run ou --no-dry-run.De même, --generate-cli-skeleton ne prend pas de valeur. S'il existe des conditions sur l'utilisationd'une option, elles doivent être décrites dans la section OPTIONS, ou mentionnées dans les exemples.

Options – description de chacune des options affichées dans le résumé.

OPTIONS --dry-run | --no-dry-run (boolean) Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRun- Operation . Otherwise, it is UnauthorizedOperation .

--instance-ids (list) One or more instance IDs.

Default: Describes all your instances....

Exemples – exemples illustrant l"utilisation de la commande et de ses options. Si aucun exemple n'estdisponible pour une commande ou un cas d'utilisation dont vous avez besoin, demandez-en un à l'aide dulien de Commentaire sur cette page, ou dans la documentation de référence AWS CLI sur la page d'aidede la commande.

EXAMPLES To describe an Amazon EC2 instance

Command: aws ec2 describe-instances --instance-ids i-5203422c To describe all instances with the instance type m1.small

37

Page 42: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurObtenir de l'aide

Command: aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small" To describe all instances with a Owner tag Command: aws ec2 describe-instances --filters "Name=tag-key,Values=Owner"...

Sortie – descriptions de chacun des champs et des types de données renvoyées dans la réponse d'AWS.

Pour describe-instances, la sortie est une liste d'objets de réservation, chacun comportant plusieurschamps et des objets contenant des informations sur la ou les instances qui lui sont associées. Cesinformations sont issues de la documentation d'API pour le type de données de réservation utilisée parAmazon EC2.

OUTPUT Reservations -> (list) One or more reservations.

(structure) Describes a reservation.

ReservationId -> (string) The ID of the reservation.

OwnerId -> (string) The ID of the AWS account that owns the reservation.

RequesterId -> (string) The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

Groups -> (list) One or more security groups.

(structure) Describes a security group.

GroupName -> (string) The name of the security group.

GroupId -> (string) The ID of the security group.

Instances -> (list) One or more instances.

(structure) Describes an instance.

InstanceId -> (string) The ID of the instance.

ImageId -> (string) The ID of the AMI used to launch the instance.

State -> (structure) The current state of the instance.

Code -> (integer)

38

Page 43: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurDocumentation de l'AWS CLI

The low byte represents the state. The high byte is an opaque internal value and should be ignored....

Lorsque la sortie est rendue au format JSON par AWS CLI, elle devient un tableau d'objets de réservation,comme ceci :

{ "Reservations": [ { "OwnerId": "012345678901", "ReservationId": "r-4c58f8a0", "Groups": [], "RequesterId": "012345678901", "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": "ec2-52-74-16-12.us-west-2.compute.amazonaws.com", "State": { "Code": 16, "Name": "running" },...

Chaque objet de réservation contient les champs décrivant la réservation et un tableau des objets del'instance, chacun avec ses propres champs (PublicDnsName, par exemple) et des objets (State, parexemple) qui le décrivent.

Utilisateurs Windows

Acheminez la sortie de la commande help vers more pour afficher le fichier d'aide une page à lafois. Appuyez sur la barre d'espace ou sur Page suivante pour afficher le reste du document, ousur q pour quitter.

> aws ec2 describe-instances help | more

Documentation de l'AWS CLILa AWS CLI Command Reference fournit le contenu de tous les fichiers d'aide des commandes de l'AWSCLI, compilés et présentés en ligne pour une navigation et un affichage faciles sur les écrans d'ordinateursmobiles, de tablettes et d'ordinateurs de bureau.

Les fichiers d'aide contiennent parfois des liens qui ne peuvent pas être affichés ou suivis depuis la vue dela ligne de commande ; ils sont conservés dans la référence de l'AWS CLI en ligne.

Documentation sur les APIToutes les sous-commandes dans l'AWS CLI correspondent aux appels effectués sur l'API publiqued'un service. Chaque service avec une API publique, à son tour, comporte un ensemble de documentsde référence API qui sont disponibles à partir de la page d'accueil du service sur le site Web de ladocumentation AWS.

Le contenu d'une référence d'API varie en fonction de la manière dont l'API est construite et du protocolequi est utilisé. En général, une référence d'API contient des informations détaillées sur les actions prises encharge par l'API, les données envoyées vers et depuis le service et les conditions d'erreur possibles.

39

Page 44: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurStructure de commande

Sections de la documentation d'API

• Actions – Informations détaillées sur les paramètres (y compris les contraintes de longueur et decontenu) et erreurs spécifiques à une action. Les actions correspondent à des sous-commandes dansl'AWS CLI.

• Types de données – Peut contenir des informations supplémentaires sur les données d'objet renvoyéespar une sous-commande.

• Paramètres communs – Informations détaillées sur les paramètres qui sont utilisés par l'ensemble desactions d'un service.

• Erreurs courantes – Informations détaillées sur les erreurs renvoyées par l'ensemble des actions d'unservice.

Le nom et la disponibilité de chaque section peuvent varier en fonction du service.

Interfaces de ligne de commande spécifiques à un service

Certains services disposent d'une interface de ligne de commande distincte datant d'avant lacréation d'une AWS CLI unique qui fonctionne avec tous les services. Ces interfaces de ligne decommande spécifiques à un service possèdent une documentation distincte qui est liée à la pagede documentation du service. La documentation relative aux interfaces de ligne de commandespécifiques à un service ne s'applique pas à l'AWS CLI.

Structure de commande dans l'AWS Command LineInterface

L'AWS CLI utilise une structure en plusieurs parties en ligne de commande. Elle commence avec l'appelde base pour aws. La partie suivante spécifie une commande de niveau supérieur, qui représente souventun service AWS pris en charge dans lAWS CLI. Chaque service AWS comporte des sous-commandessupplémentaires qui spécifient l'opération à effectuer. Les options CLI générales, ou les paramètresspécifiques à une opération, peuvent être spécifiés en ligne de commande dans n'importe quel ordre. Si unparamètre exclusif est spécifié plusieurs fois, seule la dernière valeur s'applique.

$ aws <command> <subcommand> [options and parameters]

Les paramètres peuvent prendre différents types de valeurs d'entrée, comme des chiffres, des chaînes,des listes, des mappages et des structures JSON.

Spécification des valeurs des paramètres pourl'AWS Command Line Interface

Nombre de paramètres se présentent sous forme de chaîne simple ou de valeurs numériques, par exemplele nom de paire de clés my-key-pair dans l'exemple suivant :

$ aws ec2 create-key-pair --key-name my-key-pair

Les chaînes sans caractère espace peuvent être ou non placées entre guillemets. En revanche, leschaînes qui incluent un ou plusieurs caractères espace doivent être placées entre guillemets. Utilisezdes guillemets simples (') sous Linux, macOS, or Unix et Windows PowerShell, ou utilisez des guillemetsdoubles (") dans l'invite de commande Windows, comme illustré dans les exemples suivants.

40

Page 45: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurTypes de paramètres courants

Windows PowerShell, Linux, macOS, or Unix

$ aws ec2 create-key-pair --key-name 'my key pair'

Interpréteur de commandes Windows

> aws ec2 create-key-pair --key-name "my key pair"

Vous pouvez également utiliser un signe égal au lieu d'un espace. Cela n'est généralement nécessaire quesi la valeur du paramètre commence par un trait d'union :

$ aws ec2 delete-key-pair --key-name=-mykey

Rubriques• Types de paramètres courants (p. 41)• Utilisation de JSON pour les paramètres (p. 42)• Indication des chaînes entre guillemets (p. 44)• Chargement des paramètres à partir d'un fichier (p. 44)

Types de paramètres courantsCette section décrit certains types de paramètres courants et le format qu'ils doivent respecter pourles services. Si vous rencontrez des difficultés pour la mise en forme d'un paramètre d'une commandespécifique, consultez le manuel ; pour ce faire, saisissez help après le nom de la commande, parexemple :

$ aws ec2 describe-spot-price-history help

L'aide de chaque sous-commande décrit sa fonction, ses options, sa sortie et fournit des exemples. Lasection des options inclut le nom et la description de chaque option avec le type de paramètre de l'optionentre parenthèses.

Chaîne – Les paramètres de chaîne peuvent contenir des caractères alphanumériques, des symboleset l'espace du jeu de caractères ASCII. Les chaînes qui contiennent des espaces doivent être placéesentre guillemets. L'utilisation de symboles et d'un espace autre que le caractère espace standard n'est pasrecommandée et cela peut provoquer des problèmes lors de l'utilisation de l'AWS CLI.

Certains paramètres de chaîne peuvent accepter les données binaires d'un fichier. Voir la section Fichiersbinaires (p. 45) pour obtenir un exemple.

Horodatage – Les horodatages sont mis en forme comme spécifié dans la norme ISO 8601. Ces types deparamètre sont parfois appelés « DateHeure » ou « Date ».

$ aws ec2 describe-spot-price-history --start-time 2014-10-13T19:00:00Z

Les formats acceptables sont les suivants :

• AAAA-MM-JJThh:mm:ss.sssTZD (UTC), par exemple, 2014-10-01T20:30:00.000Z• AAAA-MM-JJThh:mm:ss.sssTZD (avec décalage), par exemple, 2014-10-01T12:30:00.000-08:00• AAAA-MM-JJ, par exemple, 2014-10-01• Format horaire Unix en secondes, par exemple, 1412195400

41

Page 46: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation de JSON pour les paramètres

Liste – Une ou plusieurs chaînes séparées par des espaces.

$ aws ec2 describe-spot-price-history --instance-types m1.xlarge m1.medium

Booléen – Indicateur binaire qui active ou désactive une option. Par exemple, ec2 describe-spot-price-history comporte un paramètre d'essai booléen qui, lorsqu'il est spécifié, valide la commande surle service sans réellement exécuter une requête.

$ aws ec2 describe-spot-price-history --dry-run

La sortie indique si la commande était ou non correctement mise en forme. Cette commande inclutégalement une version qui n'est pas une version d'essai du paramètre et qui peut être utilisée pour indiquerde manière explicite que la commande doit s'exécuter normalement, même si cela n'est pas nécessaire caril s'agit du comportement par défaut.

Entier – Nombre entier non signé.

$ aws ec2 describe-spot-price-history --max-items 5

Blob – Objet binaire. Les paramètres Blob empruntent un chemin d'accès à un fichier local qui contientdes données binaires. Le chemin ne doit contenir aucun identificateur de protocole, comme http:// oufile://.

Le paramètre --body pour aws s3api put-object est un objet blob :

$ aws s3api put-object --bucket my-bucket --key testimage.png --body /tmp/image.png

Mappage – Séquence de paires clé-valeur indiquée au format JSON ou dans une syntaxeraccourcie (p. 55). L'exemple suivant lit un élément d'un tableau DynamoDB nommé my-table avec unparamètre de mappe, --key. Le paramètre spécifie la clé primaire nommée id avec la valeur numérique 1dans une structure JSON imbriquée.

$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'{ "Item": { "name": { "S": "John" }, "id": { "N": "1" } }}

La section suivante présente les arguments JSON plus en détail.

Utilisation de JSON pour les paramètresJSON est utile pour spécifier des paramètres de ligne de commande complexes. Par exemple, lacommande suivante permet d'afficher la liste de toutes les instances EC2 de type m1.small oum1.medium et qui se trouvent également dans la zone de disponibilité us-west-2c.

$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro,m1.medium" "Name=availability-zone,Values=us-west-2c"

42

Page 47: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation de JSON pour les paramètres

L'exemple suivant spécifie la liste équivalente de filtres dans un tableau JSON. Des crochets sont utiliséspour créer un tableau d'objets JSON séparés par des virgules. Chaque objet est une liste séparée par desvirgules de paires clé-valeur (« Name » et « Values » sont des clés dans cette instance).

Notez que la valeur située à droite de la clé « Values » est elle-même un tableau. Cela est obligatoire,même si le tableau contient une seule chaîne de valeur.

[ { "Name": "instance-type", "Values": ["t2.micro", "m1.medium"] }, { "Name": "availability-zone", "Values": ["us-west-2c"] }]

Les crochets extérieurs, en revanche, ne sont obligatoires que si plusieurs filtres sont spécifiés. Uneversion à filtre unique de la commande ci-dessus, au format JSON, ressemble à ceci :

$ aws ec2 describe-instances --filters '{"Name": "instance-type", "Values": ["t2.micro", "m1.medium"]}'

Certaines opérations exigent que les données soient au format JSON. Par exemple, pour transmettre desparamètres au paramètre --block-device-mappings de la commande ec2 run-instances, vousdevez mettre les informations sur les périphériques de stockage en mode bloc au format JSON.

Cet exemple illustre le format JSON à utiliser pour spécifier un seul périphérique Elastic Block Store de20 Gio à mapper à /dev/sdb sur l'instance de lancement.

{ "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" }}

Pour connecter plusieurs périphériques, répertoriez les objets dans un tableau, comme dans l'exemplesuivant.

[ { "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } }, { "DeviceName": "/dev/sdc", "Ebs": { "VolumeSize": 10, "DeleteOnTermination": true, "VolumeType": "standard" } }

43

Page 48: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurIndication des chaînes entre guillemets

]

Vous pouvez entrer le tableau JSON directement sur la ligne de commande (voir Indication des chaînesentre guillemets (p. 44)), ou l'enregistrer dans un fichier référencé depuis la ligne de commande (voirChargement des paramètres à partir d'un fichier (p. 44)).

Lors de la transmission de blocs de données volumineux, il se peut que vous trouviez plus faciled'enregistrer le tableau JSON dans un fichier et de le référencer depuis la ligne de commande. Lesdonnées JSON dans un fichier sont plus faciles à lire, à modifier et à partager avec d'autres personnes.Cette technique est décrite dans la section suivante.

Pour plus d'informations sur JSON, consultez les pages Wikipedia - JSON et RFC4627 - The application/json Media Type for JSON.

Indication des chaînes entre guillemetsLa manière dont vous entrez des paramètres au format JSON sur la ligne de commande varie selon lesystème d'exploitation. Sous Linux, macOS, or Unix et Windows PowerShell, la structure de donnéesJSON est placée entre guillemets simples ('), comme dans l'exemple suivant :

$ aws ec2 run-instances --image-id ami-05355a6c --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

L'invite de commande Windows, en revanche, place la structure de données JSON entre guillemetsdoubles ("). En outre, un caractère d’échappement sous forme de barre oblique inverse (\) est obligatoirepour chaque guillemet (") au sein de la structure de données JSON elle-même, comme dans l'exemplesuivant :

> aws ec2 run-instances --image-id ami-05355a6c --block-device-mappings "[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]"

Windows PowerShell place obligatoirement la structure de données JSON entre guillemets simples (') et ilutilise une séquence d'échappement sous la forme d'une barre oblique inverse (\) devant chaque guillemetdouble (") au sein de la structure JSON, comme dans l'exemple suivant :

> aws ec2 run-instances --image-id ami-05355a6c --block-device-mappings '[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]'

Si la valeur d'un paramètre est elle-même un document JSON, insérez une séquence d'échappementdevant les guillemets dans le document JSON imbriqué. Par exemple, le paramètre attribute pouraws sqs create-queue peut prendre une clé RedrivePolicy. La valeur de RedrivePolicy est undocument JSON, lequel doit contenir une séquence d'échappement :

$ aws sqs create-queue --queue-name my-queue --attributes '{ "RedrivePolicy":"{\"deadLetterTargetArn\":\"arn:aws:sqs:us-west-2:0123456789012:deadletter\", \"maxReceiveCount\":\"5\"}"}'

Chargement des paramètres à partir d'un fichierPour éviter d'avoir à inclure une séquence d’échappement devant des chaînes JSON en ligne decommande, chargez les données JSON à partir d'un fichier. Chargez les paramètres à partir d'un fichierlocal en fournissant le chemin d'accès au fichier à l'aide du préfixe file://, comme dans les exemplessuivants.

44

Page 49: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurChargement des paramètres à partir d'un fichier

Linux, macOS, or Unix

// Read from a file in the current directory$ aws ec2 describe-instances --filters file://filter.json

// Read from a file in /tmp$ aws ec2 describe-instances --filters file:///tmp/filter.json

Windows

// Read from a file in C:\temp> aws ec2 describe-instances --filters file://C:\temp\filter.json

L'option de préfixe file:// prend en charge les extensions de style Unix, notamment « ~/', »./',and '../'. Sous Windows, l'expression '~/' s'étend à votre répertoire utilisateur, stocké dans la variabled'environnement %USERPROFILE%. Par exemple, sous Windows 7, un répertoire utilisateur figuregénéralement sous C:\Users\User Name\.

Les documents JSON qui sont fournis en tant que valeur d'une clé de paramètre doivent toujours inclureune séquence d’échappement :

$ aws sqs create-queue --queue-name my-queue --attributes file://attributes.json

attributes.json

{ "RedrivePolicy":"{\"deadLetterTargetArn\":\"arn:aws:sqs:us-west-2:0123456789012:deadletter\", \"maxReceiveCount\":\"5\"}"}

Fichiers binairesPour les commandes qui acceptent des données binaires comme paramètre, spécifiez que les donnéessont un contenu binaire à l'aide du préfixe fileb://. Les commandes qui acceptent des données binairessont les suivantes :

• aws ec2 run-instances – --user-data paramètre.• aws s3api put-object – --sse-customer-key paramètre.• aws kms decrypt – --ciphertext-blob paramètre.

L'exemple suivant génère une clé AES binaire 256 bits à l'aide d'un outil de ligne de commande Linux, puisil la fournit à Amazon S3 pour chiffrer un fichier chargé côté serveur :

$ dd if=/dev/urandom bs=1 count=32 > sse.key32+0 records in32+0 records out32 bytes (32 B) copied, 0.000164441 s, 195 kB/s$ aws s3api put-object --bucket my-bucket --key test.txt --body test.txt --sse-customer-key fileb://sse.key --sse-customer-algorithm AES256{ "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\""}

45

Page 50: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurGénération d'un squelette de CLI

Fichiers éloignésL'AWS CLI prend également en charge le chargement de paramètres depuis un fichier hébergé sur Internetavec une URL http:// ou https://. L'exemple suivant fait référence à un fichier dans un compartimentAmazon S3. Cela vous permet d'accéder à des fichiers de paramètres depuis n'importe quel ordinateur,mais les fichiers doivent être stockés dans un emplacement publiquement accessible.

$ aws ec2 run-instances --image-id ami-a13d6891 --block-device-mappings http://my-bucket.s3.amazonaws.com/filename.json

Dans les exemples précédents, le fichier filename.json contient les données JSON suivantes.

[ { "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } }]

Pour obtenir un autre exemple faisant référence à un fichier contenant des paramètres au format JSONplus complexes, consultez la section Définition d'une stratégie IAM pour un utilisateur IAM (p. 77).

Génération des paramètres de squelette de CLI etJSON en entrée de la CLI

La plupart des commandes AWS CLI prennent en charge les paramètres --generate-cli-skeleton et--cli-input-json que vous pouvez utiliser pour stocker des paramètres dans JSON et lire ces derniersà partir d'un fichier au lieu de les saisir en ligne de commande.

Générez des sorties de squelette de CLI JSON qui définissent tous les paramètres qui peuvent êtrespécifiés pour l'opération.

Pour utiliser --generate-cli-skeleton avec aws ec2 run-instances

1. Exécutez la commande run-instances avec l'option --generate-cli-skeleton pour afficher lesquelette JSON.

$ aws ec2 run-instances --generate-cli-skeleton{ "DryRun": true, "ImageId": "", "MinCount": 0, "MaxCount": 0, "KeyName": "", "SecurityGroups": [ "" ], "SecurityGroupIds": [ "" ], "UserData": "",

46

Page 51: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurGénération d'un squelette de CLI

"InstanceType": "", "Placement": { "AvailabilityZone": "", "GroupName": "", "Tenancy": "" }, "KernelId": "", "RamdiskId": "", "BlockDeviceMappings": [ { "VirtualName": "", "DeviceName": "", "Ebs": { "SnapshotId": "", "VolumeSize": 0, "DeleteOnTermination": true, "VolumeType": "", "Iops": 0, "Encrypted": true }, "NoDevice": "" } ], "Monitoring": { "Enabled": true }, "SubnetId": "", "DisableApiTermination": true, "InstanceInitiatedShutdownBehavior": "", "PrivateIpAddress": "", "ClientToken": "", "AdditionalInfo": "", "NetworkInterfaces": [ { "NetworkInterfaceId": "", "DeviceIndex": 0, "SubnetId": "", "Description": "", "PrivateIpAddress": "", "Groups": [ "" ], "DeleteOnTermination": true, "PrivateIpAddresses": [ { "PrivateIpAddress": "", "Primary": true } ], "SecondaryPrivateIpAddressCount": 0, "AssociatePublicIpAddress": true } ], "IamInstanceProfile": { "Arn": "", "Name": "" }, "EbsOptimized": true}

2. Dirigez la sortie dans un fichier afin d'enregistrer le squelette localement :

$ aws ec2 run-instances --generate-cli-skeleton > ec2runinst.json

3. Ouvrez le squelette dans un éditeur de texte et supprimez des paramètres que vous n'utiliserez pas :

47

Page 52: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurGénération d'un squelette de CLI

{ "DryRun": true, "ImageId": "", "KeyName": "", "SecurityGroups": [ "" ], "InstanceType": "", "Monitoring": { "Enabled": true }}

Laissez le paramètre DryRun défini sur true afin d'utiliser la fonction d'essai d'EC2, qui vous permet detester votre configuration sans créer de ressources.

4. Renseignez les valeurs pour le type d'instance, le nom de clé, le groupe de sécurité et l'image AMIdans votre région par défaut. Dans cet exemple, ami-dfc39aef est une image 64 bits Amazon Linuxde la région us-west-2.

{ "DryRun": true, "ImageId": "ami-dfc39aef", "KeyName": "mykey", "SecurityGroups": [ "my-sg" ], "InstanceType": "t2.micro", "Monitoring": { "Enabled": true }}

5. Transmettez la configuration JSON au paramètre --cli-input-json en utilisant le préfixefile:// :

$ aws ec2 run-instances --cli-input-json file://ec2runinst.jsonA client error (DryRunOperation) occurred when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set.

L'erreur d'essai indique que JSON est correctement mis en forme et que les valeurs des paramètressont valides. Si d'autres problèmes sont signalés dans la sortie, corrigez-les et répétez l'étape ci-dessus jusqu'à ce que l'erreur d'essai s'affiche.

6. Définissez le paramètre DryRun sur false afin de désactiver la fonction d'essai.

{ "DryRun": false, "ImageId": "ami-dfc39aef", "KeyName": "mykey", "SecurityGroups": [ "my-sg" ], "InstanceType": "t2.micro", "Monitoring": { "Enabled": true }}

7. Exécutez la commande run-instances de nouveau pour lancer une instance :

48

Page 53: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurContrôle de la sortie de commande

$ aws ec2 run-instances --cli-input-json file://ec2runinst.json{ "OwnerId": "123456789012", "ReservationId": "r-d94a2b1", "Groups": [], "Instances": [...

Contrôle de la sortie de commande de l'AWSCommand Line Interface

Cette section décrit les différentes méthodes de contrôle de la sortie de l'AWS CLI.

Rubriques• Comment sélectionner le format de sortie (p. 49)• Comment filtrer la sortie avec l'option --query (p. 50)• Format de sortie JSON (p. 52)• Format de sortie texte (p. 52)• Format de sortie de tableau (p. 54)

Comment sélectionner le format de sortieL'AWS CLI prend en charge trois formats de sortie différents :

• JSON (json)• Texte délimité par des tabulations (texte)• Tableau au format ASCII (tableau)

Comme expliqué dans la rubrique de configuration (p. 19), le format de sortie peut être spécifié de troisfaçons :

• À l'aide de l'option output dans le fichier de configuration. L'exemple suivant définit la sortie en modetext :

[default]output=text

• À l'aide de la variable d'environnement AWS_DEFAULT_OUTPUT. Exemples :

$ export AWS_DEFAULT_OUTPUT="table"

• À l'aide de l'option --output en la ligne de commande. Exemples :

$ aws swf list-domains --registration-status REGISTERED --output text

Note

Si le format de sortie est spécifié de plusieurs façons, les règles de priorité de l'AWSCLI (p. 20) habituelles s'appliquent. Par exemple, l'utilisation de la variable d'environnement

49

Page 54: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurComment filtrer la sortie avec l'option --query

AWS_DEFAULT_OUTPUT remplace toute valeur définie dans le fichier de configuration par output,et une valeur transmise à une commande de l'AWS CLI avec --output remplace toute valeurdéfinie dans l'environnement ou dans le fichier de configuration.

JSON convient particulièrement pour le traitement de sortie par programmation via différents langagesou jq (processeur de ligne de commande JSON). Le format tableau est facile à lire et le format textefonctionne bien également avec les outils de traitement de texte Unix traditionnels, tels que sed, grep etawk, ainsi que les scripts Windows PowerShell.

Comment filtrer la sortie avec l'option --queryL'AWS CLI offre des fonctions de filtrage de sortie intégrées avec l'option --query. Pour démontrer lefonctionnement, nous allons tout d'abord commencer avec la sortie JSON par défaut ci-dessous, qui décritdeux volumes EBS (Elastic Block Storage) connectés à des instances EC2 distinctes.

$ aws ec2 describe-volumes{ "Volumes": [ { "AvailabilityZone": "us-west-2a", "Attachments": [ { "AttachTime": "2013-09-17T00:55:03.000Z", "InstanceId": "i-a071c394", "VolumeId": "vol-e11a5288", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/sda1" } ], "VolumeType": "standard", "VolumeId": "vol-e11a5288", "State": "in-use", "SnapshotId": "snap-f23ec1c8", "CreateTime": "2013-09-17T00:55:03.000Z", "Size": 30 }, { "AvailabilityZone": "us-west-2a", "Attachments": [ { "AttachTime": "2013-09-18T20:26:16.000Z", "InstanceId": "i-4b41a37c", "VolumeId": "vol-2e410a47", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/sda1" } ], "VolumeType": "standard", "VolumeId": "vol-2e410a47", "State": "in-use", "SnapshotId": "snap-708e8348", "CreateTime": "2013-09-18T20:26:15.000Z", "Size": 8 } ]}

Pour commencer, nous pouvons afficher uniquement le premier volume à partir de la liste Volumes avec lacommande suivante.

50

Page 55: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurComment filtrer la sortie avec l'option --query

$ aws ec2 describe-volumes --query 'Volumes[0]'{ "AvailabilityZone": "us-west-2a", "Attachments": [ { "AttachTime": "2013-09-17T00:55:03.000Z", "InstanceId": "i-a071c394", "VolumeId": "vol-e11a5288", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/sda1" } ], "VolumeType": "standard", "VolumeId": "vol-e11a5288", "State": "in-use", "SnapshotId": "snap-f23ec1c8", "CreateTime": "2013-09-17T00:55:03.000Z", "Size": 30}

Maintenant, nous utilisons la notation à caractère générique [*] pour itérer sur l'intégralité de la listeet filtrer également trois éléments : VolumeId, AvailabilityZone et Size. Notez que la notationdictionnaire exige que vous fournissiez un alias pour chaque clé, par exemple : {Alias1:Key1, Alias2:Key2}.Un dictionnaire est fondamentalement non ordonné, de sorte que l'ordre des clé-alias au sein d'unestructure peut ne pas être cohérent dans certains cas.

$ aws ec2 describe-volumes --query 'Volumes[*].{ID:VolumeId,AZ:AvailabilityZone,Size:Size}'[ { "AZ": "us-west-2a", "ID": "vol-e11a5288", "Size": 30 }, { "AZ": "us-west-2a", "ID": "vol-2e410a47", "Size": 8 }]

Dans la notation dictionnaire, vous pouvez également utiliser des clés de chaînes commekey1.key2[0].key3 pour filtrer des éléments profondément imbriqués au sein de la structure.L'exemple ci-dessous illustre cela avec la clé Attachments[0].InstanceId, dont l'alias est simplementInstanceId.

$ aws ec2 describe-volumes --query 'Volumes[*].{ID:VolumeId,InstanceId:Attachments[0].InstanceId,AZ:AvailabilityZone,Size:Size}'[ { "InstanceId": "i-a071c394", "AZ": "us-west-2a", "ID": "vol-e11a5288", "Size": 30 }, { "InstanceId": "i-4b41a37c", "AZ": "us-west-2a", "ID": "vol-2e410a47", "Size": 8 }

51

Page 56: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurFormat de sortie JSON

]

Vous pouvez également filtrer plusieurs éléments avec la notation de liste : [key1, key2]. Cetteopération mettra en forme tous les attributs filtrés dans une seule liste ordonnée par objet, quel que soit letype.

$ aws ec2 describe-volumes --query 'Volumes[*].[VolumeId, Attachments[0].InstanceId, AvailabilityZone, Size]'[ [ "vol-e11a5288", "i-a071c394", "us-west-2a", 30 ], [ "vol-2e410a47", "i-4b41a37c", "us-west-2a", 8 ]]

Pour filtrer les résultats sur la valeur d'un champ spécifique, utilisez l'opérateur JMESPath « ? » . L'exemplede requête suivant produit en sortie uniquement des volumes dans la zone de disponibilité us-west-2a :

$ aws ec2 describe-volumes --query 'Volumes[?AvailabilityZone==`us-west-2a`]'

Note

Lorsque vous spécifiez une valeur littérale telle que « us-west-2 » ci-dessus dans une expressionde requête JMESPath, vous devez la placer entre accents graves (`) afin qu'elle puisse être luecorrectement.

Combinée avec les trois formats de sortie qui seront décrits plus en détail dans les sections suivantes,l'option --query est un outil puissant que vous pouvez utiliser pour personnaliser le contenu et le style dessorties. Pour obtenir plus d'exemples et la spécification complète de JMESPath, bibliothèque de traitementJSON sous-jacente, consultez la page http://jmespath.org/specification.html.

Format de sortie JSONJSON est le format de sortie par défaut de l'AWS CLI. La plupart des langages peuvent facilement décoderles chaînes JSON à l'aide de fonctions intégrées ou de bibliothèques disponibles au public. Comme illustrédans la rubrique précédente, ainsi qu'avec des exemples de sortie, l'option --query offre de puissantesfonctions de filtrage et de mise en forme de la sortie au format JSON de l'AWS CLI. Si vous avez besoinde fonctionnalités plus avancées qui ne sont pas possibles avec --query, vous pouvez consulter jq,processeur JSON de ligne de commande. Vous pouvez le télécharger et trouver le tutoriel officiel àl'adresse : http://stedolan.github.io/jq/.

Format de sortie texteLe format texte organise la sortie de l'AWS CLI sous la forme de lignes délimitées par des tabulations. Ilest également compatible avec des outils de texte traditionnels Unix tels que grep, sed et awk, ainsi queWindows PowerShell.

Le format de sortie texte suit la structure de base ci-dessous. Les colonnes sont triées dans l'ordrealphabétique sur les noms de clés correspondants de l'objet JSON sous-jacent.

52

Page 57: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurFormat de sortie texte

IDENTIFIER sorted-column1 sorted-column2IDENTIFIER2 sorted-column1 sorted-column2

Voici un exemple de stratégie de sortie texte.

$ aws ec2 describe-volumes --output textVOLUMES us-west-2a 2013-09-17T00:55:03.000Z 30 snap-f23ec1c8 in-use vol-e11a5288 standardATTACHMENTS 2013-09-17T00:55:03.000Z True /dev/sda1 i-a071c394 attached vol-e11a5288VOLUMES us-west-2a 2013-09-18T20:26:15.000Z 8 snap-708e8348 in-use vol-2e410a47 standardATTACHMENTS 2013-09-18T20:26:16.000Z True /dev/sda1 i-4b41a37c attached vol-2e410a47

Nous vous recommandons vivement d'utiliser la sortie texte avec l'option --query afin de garantir uncomportement cohérent. En effet, le format texte trie par ordre alphabétique les colonnes de sortie, et desressources similaires n'ont pas toujours la même collection de clés. Par exemple, une représentation JSONd'une instance Linux EC2 peut comporter des éléments qui ne sont pas présents dans la représentationJSON d'une instance Windows, ou inversement. En outre, des ressources peuvent comporter des élémentsclé-valeur ajoutés ou supprimés lors de futures mises à jour, ce qui modifie l'ordre des colonnes. C'est àce stade que --query augmente la fonctionnalité de la sortie texte afin de permettre un contrôle completsur le format de sortie. Dans l'exemple ci-dessous, la commande pré-sélectionne les éléments à afficheret définit l'ordre des colonnes avec la notation de liste [key1, key2, ...]. Cela permet aux utilisateursd'avoir pleinement confiance que les valeurs de clés correctes seront toujours affichées dans la colonneprévue. Enfin, notez que l'AWS CLI produit la valeur « Aucun » en sortie pour les clés qui n'existent pas.

$ aws ec2 describe-volumes --query 'Volumes[*].[VolumeId, Attachments[0].InstanceId, AvailabilityZone, Size, FakeKey]' --output textvol-e11a5288 i-a071c394 us-west-2a 30 Nonevol-2e410a47 i-4b41a37c us-west-2a 8 None

Voici un exemple de la façon dont grep et awk peuvent être utilisés avec une sortie de texte de lacommande aws ec2 describe-instances. La première commande affiche la zone de disponibilité,l’état et l'ID d'instance de chaque instance dans la sortie de texte. La deuxième commande produituniquement en sortie l'ID d'instance de toutes les instances en cours d'exécution dans la zone dedisponibilité us-west-2a.

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output textus-west-2a running i-4b41a37cus-west-2a stopped i-a071c394us-west-2b stopped i-97a217a0us-west-2a running i-3045b007us-west-2a running i-6fc67758

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output text | grep us-west-2a | grep running | awk '{print $3}'i-4b41a37ci-3045b007i-6fc67758

La commande suivante illustre un exemple similaire pour toutes les instances arrêtées et elle comporteune étape supplémentaire pour l'automatisation du changement des types d'instance pour chaque instancearrêtée.

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[State.Name, InstanceId]' --output text |

53

Page 58: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurFormat de sortie de tableau

> grep stopped |> awk '{print $2}' |> while read line;> do aws ec2 modify-instance-attribute --instance-id $line --instance-type '{"Value": "m1.medium"}';> done

La sortie de texte est également utile pour Windows PowerShell. En effet, la sortie de texte de l'AWS CLIest délimitée par des tabulations, il est donc facile de la fractionner dans un tableau dans PowerShell àl'aide du délimiteur `t. La commande suivante affiche la valeur de la troisième colonne (InstanceId) si lapremière colonne (AvailabilityZone) correspond à us-west-2a.

> aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output text |%{if ($_.split("`t")[0] -match "us-west-2a") { $_.split("`t")[2]; } }i-4b41a37ci-a071c394i-3045b007i-6fc67758

Format de sortie de tableauLe format table produit des représentations explicites de la sortie de l'AWS CLI. Voici un exemple :

$ aws ec2 describe-volumes --output table---------------------------------------------------------------------------------------------------------------------| DescribeVolumes |+-------------------------------------------------------------------------------------------------------------------+|| Volumes |||+------------------+---------------------------+-------+----------------+---------+----------------+--------------+||| AvailabilityZone | CreateTime | Size | SnapshotId | State | VolumeId | VolumeType |||+------------------+---------------------------+-------+----------------+---------+----------------+--------------+||| us-west-2a | 2013-09-17T00:55:03.000Z | 30 | snap-f23ec1c8 | in-use | vol-e11a5288 | standard |||+------------------+---------------------------+-------+----------------+---------+----------------+--------------+|||| Attachments |||||+---------------------------+------------------------+-------------+--------------+------------+----------------+||||| AttachTime | DeleteOnTermination | Device | InstanceId | State | VolumeId |||||+---------------------------+------------------------+-------------+--------------+------------+----------------+||||| 2013-09-17T00:55:03.000Z | True | /dev/sda1 | i-a071c394 | attached | vol-e11a5288 |||||+---------------------------+------------------------+-------------+--------------+------------+----------------+|||| Volumes |||+------------------+---------------------------+-------+----------------+---------+----------------+--------------+||| AvailabilityZone | CreateTime | Size | SnapshotId | State | VolumeId | VolumeType |||+------------------+---------------------------+-------+----------------+---------+----------------+--------------+|

54

Page 59: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurSyntaxe raccourcie

|| us-west-2a | 2013-09-18T20:26:15.000Z | 8 | snap-708e8348 | in-use | vol-2e410a47 | standard |||+------------------+---------------------------+-------+----------------+---------+----------------+--------------+|||| Attachments |||||+---------------------------+------------------------+-------------+--------------+------------+----------------+||||| AttachTime | DeleteOnTermination | Device | InstanceId | State | VolumeId |||||+---------------------------+------------------------+-------------+--------------+------------+----------------+||||| 2013-09-18T20:26:16.000Z | True | /dev/sda1 | i-4b41a37c | attached | vol-2e410a47 |||||+---------------------------+------------------------+-------------+--------------+------------+----------------+||

L'option --query peut être utilisée avec le format de tableau pour afficher un ensemble d’éléments pré-sélectionnés dans la sortie brute. Notez les différences de sortie dans le dictionnaire et les notations deliste : les noms de colonnes sont triés par ordre alphabétique dans le premier exemple, et les colonnessans nom sont triées tel que défini par l'utilisateur dans le second exemple.

$ aws ec2 describe-volumes --query 'Volumes[*].{ID:VolumeId,InstanceId:Attachments[0].InstanceId,AZ:AvailabilityZone,Size:Size}' --output table------------------------------------------------------| DescribeVolumes | +------------+----------------+--------------+-------+| AZ | ID | InstanceId | Size |+------------+----------------+--------------+-------+| us-west-2a| vol-e11a5288 | i-a071c394 | 30 || us-west-2a| vol-2e410a47 | i-4b41a37c | 8 |+------------+----------------+--------------+-------+

$ aws ec2 describe-volumes --query 'Volumes[*].[VolumeId,Attachments[0].InstanceId,AvailabilityZone,Size]' --output table----------------------------------------------------| DescribeVolumes |+--------------+--------------+--------------+-----+| vol-e11a5288| i-a071c394 | us-west-2a | 30 || vol-2e410a47| i-4b41a37c | us-west-2a | 8 |+--------------+--------------+--------------+-----+

Utilisation de la syntaxe raccourcie avec l'AWSCommand Line Interface

Bien que l'AWS Command Line Interface accepte des paramètres d'option non scalaires au format JSON,il peut être fastidieux de saisir de longues listes ou structures JSON en ligne de commande. Pour résoudrece problème, l'AWS CLI accepte une syntaxe raccourcie qui permet une représentation de vos paramètresd'option plus simple que l'utilisation du format JSON complet.

Paramètres de structureLa syntaxe raccourcie de l'AWS CLI simplifie pour les utilisateurs la saisie des paramètres plats (structuresnon imbriquées). Le format est une liste séparée par des virgules des paires clé-valeur :

Linux, macOS, or Unix

55

Page 60: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurParamètres de liste

--option key1=value1,key2=value2,key3=value3

Windows PowerShell

--option "key1=value1,key2=value2,key3=value3"

Cela équivaut à l'exemple suivant au format JSON :

--option '{"key1":"value1","key2":"value2","key3":"value3"}'

Il ne doit y avoir aucun espace entre chaque paires clé-valeur séparée par des virgules. Voici un exemplede la commande DynamoDB update-table avec l'option --provisioned-throughput indiquée ensyntaxe raccourcie.

$ aws dynamodb update-table --provisioned-throughput ReadCapacityUnits=15,WriteCapacityUnits=10 --table-name MyDDBTable

Cela équivaut à l'exemple suivant au format JSON :

$ aws dynamodb update-table --provisioned-throughput '{"ReadCapacityUnits":15,"WriteCapacityUnits":10}' --table-name MyDDBTable

Paramètres de listeLes paramètres d'entrée d'une liste peuvent être spécifiés de deux manières : JSON et syntaxe raccourcie.La syntaxe raccourcie de l'AWS CLI est conçue pour faciliter la transmission de listes comportant desnombres, des chaînes ou des structures non imbriquées. Le format de base est illustré ici, avec les valeursde la liste séparées par un espace simple.

--option value1 value2 value3

Cela équivaut à l'exemple suivant au format JSON.

--option '[value1,value2,value3]'

Comme indiqué plus haut, vous pouvez utiliser une syntaxe raccourcie pour indiquer une liste de nombres,une liste de chaînes ou une liste de structures non imbriquées. Voici un exemple de commande stop-instances pour Amazon EC2, dans laquelle le paramètre d'entrée (liste de chaînes) pour l'option --instance-ids est indiqué en syntaxe raccourcie.

$ aws ec2 stop-instances --instance-ids i-1486157a i-1286157c i-ec3a7e87

Cela équivaut à l'exemple suivant au format JSON.

$ aws ec2 stop-instances --instance-ids '["i-1486157a","i-1286157c","i-ec3a7e87"]'

L'exemple suivant est une commande Amazon EC2 create-tags, qui utilise une liste de structures nonimbriquées pour l'option --tags. L'option --resources spécifie l'ID de l'instance à identifier.

$ aws ec2 create-tags --resources i-1286157c --tags Key=My1stTag,Value=Value1 Key=My2ndTag,Value=Value2 Key=My3rdTag,Value=Value3

56

Page 61: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurPagination

Cela équivaut à l'exemple suivant au format JSON. Le paramètre JSON est écrit sur plusieurs lignes pourune meilleure lisibilité.

$ aws ec2 create-tags --resources i-1286157c --tags '[ {"Key": "My1stTag", "Value": "Value1"}, {"Key": "My2ndTag", "Value": "Value2"}, {"Key": "My3rdTag", "Value": "Value3"}]'

Utilisation des options de pagination de l'AWSCommand Line Interface

Pour les commandes qui peuvent renvoyer une longue liste d’éléments, l'AWS CLI ajoute trois options quevous pouvez utiliser pour modifier le comportement de pagination de l'interface CLI lorsqu'elle appelle l'APId'un service pour remplir la liste.

Par défaut, l'interface CLI utilise la taille de page 1 000 et extrait tous les éléments disponibles. Parexemple, si vous exécutez aws s3api list-objects sur un compartiment Amazon S3 contenant 3 500objets, l'interface CLI effectue quatre appels à Amazon S3, en gérant la logique de pagination spécifique àun service en arrière-plan.

Si vous constatez des problèmes lors de l'exécution de commandes de liste sur un grand nombre deressources, la taille de page par défaut peut être trop élevée, ce qui entraîne des délais d'appels auxservices AWS. Vous pouvez utiliser l'option --page-size pour spécifier une taille de page plus petite pourrésoudre ce problème. L'interface CLI extrait toujours la liste complète, mais elle effectuera un plus grandnombre d'appels en arrière-plan, avec l'extraction d'un plus petit nombre d’éléments à chaque appel :

$ aws s3api list-objects --bucket my-bucket --page-size 100{ "Contents": [...

Pour extraire moins d’éléments, utilisez l'option --max-items. L'interface CLI gèrera la pagination de lamême manière, mais elle imprimera uniquement le nombre d’éléments que vous spécifiez :

$ aws s3api list-objects --bucket my-bucket --max-items 100{ "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==", "Contents": [...

Si le nombre d’éléments en sortie (--max-items) est inférieur au nombre total d’éléments, la sortie inclutun NextToken que vous pouvez transmettre dans une commande suivante pour extraire l'ensembled’éléments suivant :

$ aws s3api list-objects --bucket my-bucket --max-items 100 --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ=={ "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==", "Contents": [...

Un service peut renvoyer des éléments dans un ordre différent à chaque fois que vous appelez. Sivous spécifiez un jeton suivant au milieu d'une page, vous pouvez voir les différents résultats que vous

57

Page 62: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurPagination

souhaitez. Pour empêcher que cela ne se produise, utilisez le même nombre pour --page-size et --max-items, afin de synchroniser la pagination de l'interface de ligne de commande et celle du service.Vous pouvez également extraire la liste complète et exécuter les opérations d'analyse nécessaireslocalement.

58

Page 63: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurDynamoDB

Utilisation d'Amazon Web ServicesCette section fournit des exemples d'utilisation de l'AWS Command Line Interface pour accéderaux services AWS. Ces exemples expliquent comment utiliser l'AWS CLI pour exécuter des tâchesadministratives.

Pour une référence complète à l'ensemble des commandes disponibles pour chaque service, consultez leAWS CLI Command Reference ou utilisez l'aide en ligne de commande intégrée. Pour plus d'informations,consultez Obtenir de l'aide avec l'AWS Command Line Interface (p. 36).

Rubriques• Utilisation Amazon DynamoDB avec l'AWS Command Line Interface (p. 59)• Utilisation de Amazon EC2 via l'AWS Command Line Interface (p. 61)• Utilisation de Amazon Glacier avec l'AWS Command Line Interface (p. 72)• AWS Identity and Access Management depuis l'AWS Command Line Interface (p. 76)• Utilisation de Amazon S3 avec l'AWS Command Line Interface (p. 79)• Utilisation de l'AWS Command Line Interface avec Amazon SNS (p. 85)• Utilisation de Amazon Simple Workflow Service avec l'AWS Command Line Interface (p. 87)

Utilisation Amazon DynamoDB avec l'AWSCommand Line Interface

L'AWS Command Line Interface (AWS CLI) permet la prise en charge de Amazon DynamoDB. Vouspouvez utiliser l'AWS CLI pour les opérations ad hoc, telles que la création d'un tableau. Vous pouvezégalement l'utiliser pour intégrer les opérations DynamoDB au sein des scripts utilitaires.

Le format de ligne de commande se compose d'un nom d'API Amazon DynamoDB, suivi des paramètresde cette API. L'AWS CLI prend en charge une syntaxe raccourcie pour les valeurs des paramètres, ainsique JSON.

Par exemple, la commande permet de créer un tableau nommé MusicCollection.

Note

Pour une lecture plus facile, les commandes longues dans cette section sont divisées en plusieurslignes. Le caractère barre oblique inverse vous permet de copier et de coller (ou saisir) plusieurslignes sur un terminal Linux. Si vous utilisez un shell qui n'utilise pas de barre oblique inversepour les caractères d’échappement, remplacez la barre oblique inverse par un autre caractèred’échappement, ou supprimez les barres obliques inverses et placez la commande sur une seuleligne.

$ aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions \ AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

Les commandes suivantes permettent d'ajouter de nouveaux éléments au tableau. Ces exemples utilisentune combinaison de la syntaxe raccourcie et de JSON.

59

Page 64: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurDynamoDB

$ aws dynamodb put-item \ --table-name MusicCollection \ --item '{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} , "AlbumTitle": {"S": "Somewhat Famous"} }' \ --return-consumed-capacity TOTAL{ "ConsumedCapacity": { "CapacityUnits": 1.0, "TableName": "MusicCollection" }}$ aws dynamodb put-item \ --table-name MusicCollection \ --item '{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} , "AlbumTitle": {"S": "Songs About Life"} }' \ --return-consumed-capacity TOTAL{ "ConsumedCapacity": { "CapacityUnits": 1.0, "TableName": "MusicCollection" }}

Sur la ligne de commande, il peut être difficile de composer un JSON valide ; toutefois, l'AWS CLI peut liredes fichiers JSON. Par exemple, imaginons l'extrait JSON suivant qui est stocké dans un fichier nomméexpression-attributes.json :

Example expression-attributes.json

{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Call Me Today"}}

Vous pouvez désormais émettre une demande Query à l'aide de l'AWS CLI. Dans cet exemple, le contenudu fichier expression-attributes.json est utilisé pour le paramètre --expression-attribute-values :

$ aws dynamodb query --table-name MusicCollection \ --key-condition-expression "Artist = :v1 AND SongTitle = :v2" \ --expression-attribute-values file://expression-attributes.json{ "Count": 1, "Items": [ { "AlbumTitle": { "S": "Somewhat Famous" }, "SongTitle": { "S": "Call Me Today" }, "Artist": { "S": "No One You Know" } } ], "ScannedCount": 1, "ConsumedCapacity": null

60

Page 65: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAmazon EC2

}

Pour plus de documentation sur l'utilisation de l'AWS CLI avec DynamoDB, accédez à http://docs.aws.amazon.com/cli/latest/reference/dynamodb/index.html.

En plus de DynamoDB, vous pouvez utiliser l'AWS CLI avec DynamoDB Local. DynamoDB Local est unepetite base de données côté client et un serveur qui imite le service DynamoDB. DynamoDB Local vouspermet d’écrire des applications qui utilisent l'API DynamoDB, sans réellement manipuler des tableaux oudes données dans DynamoDB. Au lieu de cela, toutes les actions d'API sont redirigées vers DynamoDBLocal. Lorsque votre application crée un tableau ou modifie des données, ces modifications sont écritesdans une base de données locale. Cela vous permet d'économiser sur le débit alloué, le stockage dedonnées et les frais de transfert de données.

Pour plus d'informations sur DynamoDB Local et son utilisation avec l'AWS CLI, consultez les sectionssuivantes de Amazon DynamoDB Guide du développeur :

• DynamoDB Local• Utilisation d'AWS CLI avec DynamoDB Local

Utilisation de Amazon EC2 via l'AWS CommandLine Interface

Vous pouvez accéder aux fonctions de Amazon EC2 à l'aide de l'AWS CLI. Pour afficher les commandesd'AWS CLI pour Amazon EC2, utilisez la commande suivante.

aws ec2 help

Avant d'exécuter des commandes, définissez vos informations d'identification par défaut. Pour plusd'informations, consultez Configuration de l'AWS CLI (p. 19).

Pour obtenir des exemples de tâches courantes pour Amazon EC2, consultez les rubriques suivantes.

Rubriques• Utilisation des paires de clés (p. 61)• Utilisation des groupes de sécurité (p. 63)• Utilisation des instances Amazon EC2 (p. 66)

Utilisation des paires de clésVous pouvez utiliser l'AWS CLI pour créer, afficher et supprimer vos paires de clés. Vous devez spécifierune paire de clés lorsque vous lancez une instance Amazon EC2 et vous connectez à celle-ci.

Note

Avant d'essayer les commandes en exemple, définissez vos informations d'identification pardéfaut.

Rubriques• Création d'une paire de clés (p. 62)• Affichage de votre paire de clés (p. 62)• Suppression de votre paire de clés (p. 63)

61

Page 66: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des paires de clés

Création d'une paire de clésPour créer une paire de clés nommée MyKeyPair, utilisez la commande create-key-pair, puis utilisezl'option --query et l'option --output text pour rediriger votre clé privée directement dans un fichier.

aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem

Notez que pour Windows PowerShell, le réacheminement de > file est par défaut l'encodage UTF-8,lequel ne peut pas être utilisé avec certains clients SSH. Ainsi, cous devez indiquer de manière explicite lecodage ASCII dans la commande out-file.

aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text | out-file -encoding ascii -filepath MyKeyPair.pem

Le fichier MyKeyPair.pem qui en résulte ressemble à ceci :

-----BEGIN RSA PRIVATE KEY-----EXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/vBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QWZ/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1FG50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPWoPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1mb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2bahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD981oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozRoQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1YkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/xp9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuwsayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnUWA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUCgYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bHoMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGsArq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshyWBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1jjjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDaNWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qSVRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=-----END RSA PRIVATE KEY-----

Votre clé privée n'est pas stockée dans AWS et elle ne peut être extraite qu'une fois créée.

Si vous utilisez un client SSH sur un ordinateur Mac ou Linux pour vous connecter à votre instance Linux,utilisez la commande suivante pour définir les autorisations de votre fichier de clé privée afin d'être la seulepersonne autorisée à le lire.

chmod 400 MyKeyPair.pem

Affichage de votre paire de clésUne empreinte est générée à partir de votre paire de clés et vous pouvez utiliser cette empreinte pourvérifier que la clé privée présente sur votre ordinateur local correspond à la clé publique stockée dansAWS. L'empreinte est un hachage SHA1 créé à partir d'une copie codée DER de la clé privée. Cette valeurest stockée dans AWS et peut être affichée dans EC2 Management Console ou en appelant aws ec2describe-key-pairs. Par exemple, vous pouvez afficher l'empreinte pour MyKeyPair en utilisant lacommande suivante :

62

Page 67: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des groupes de sécurité

aws ec2 describe-key-pairs --key-name MyKeyPair{ "KeyPairs": [ { "KeyName": "MyKeyPair", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f" } ]}

Pour plus d'informations sur les clés et les empreintes, consultez la page Paires de clés Amazon EC2 dansle Guide de l'utilisateur Amazon EC2.

Suppression de votre paire de clésPour supprimer MyKeyPair, utilisez la commande delete-key-pair comme suit :

aws ec2 delete-key-pair --key-name MyKeyPair

Utilisation des groupes de sécuritéVous créez un groupe de sécurité à utiliser dans EC2-Classic ou EC2-VPC. Pour plus d'informations surEC2-Classic et EC2-VPC, consultez la section Plateformes prises en charge dans le manuel Amazon EC2Guide de l'utilisateur pour les instances Linux.

Vous pouvez utiliser l'AWS CLI pour créer, ajouter des règles et supprimer vos groupes de sécurité.Note

Avant d'essayer les commandes en exemple, définissez vos informations d'identification pardéfaut.

Rubriques• Création d'un groupe de sécurité (p. 63)• Ajout de règles au groupe de sécurité (p. 64)• Suppression de votre groupe de sécurité (p. 66)

Création d'un groupe de sécuritéPour créer un groupe de sécurité nommé my-sg, utilisez la commande create-security-group.

EC2-VPCLa commande suivante permet de créer un groupe de sécurité nommé my-sg pour le VPC spécifié :

aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d{ "GroupId": "sg-903004f8"}

Pour afficher les informations initiales de my-sg, utilisez la commande describe-security-groups commesuit. Notez que vous ne pouvez pas référencer un groupe de sécurité pour EC2-VPC par nom.

aws ec2 describe-security-groups --group-ids sg-903004f8{

63

Page 68: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des groupes de sécurité

"SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "VpcId": "vpc-1a2b3c4d", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

EC2-ClassicLa commande suivante permet de créer un groupe de sécurité pour EC2-Classic :

aws ec2 create-security-group --group-name my-sg --description "My security group"{ "GroupId": "sg-903004f8"}

Pour afficher les informations initiales de my-sg, utilisez la commande describe-security-groups commesuit :

aws ec2 describe-security-groups --group-names my-sg{ "SecurityGroups": [ { "IpPermissionsEgress": [], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

Ajout de règles au groupe de sécuritéSi vous lancez une instance Windows, vous devez ajouter une règle pour autoriser le trafic entrant sur leport TCP 3389 (RDP). Si vous lancez une instance Linux, vous devez ajouter une règle pour autoriser letrafic entrant sur le port TCP 22 (SSH). Utilisez la commande authorize-security-group-ingress pour ajouterune règle à votre groupe de sécurité. L'un des paramètres requis de cette commande est l'adresse IPpublique de votre ordinateur, en notation CIDR.

Note

Vous pouvez obtenir l'adresse IP publique de votre ordinateur local à l'aide d'un service. Parexemple, nous fournissons le service suivant : https://checkip.amazonaws.com/. Pour trouver

64

Page 69: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des groupes de sécurité

un autre service qui fournit votre adresse IP, utilisez l'expression de recherche « what is my IPaddress » (quelle est mon adresse IP). Si votre connexion s'effectue via un ISP ou derrière unpare-feu sans adresse IP statique, vous devez déterminer la plage d'adresses IP utilisée par lesordinateurs clients.

EC2-VPCLa commande suivante permet d'ajouter une règle pour RDP pour le groupe de sécurité portant l'IDsg-903004f8 :

aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr 203.0.113.0/24

La commande suivante permet d'ajouter une règle pour SSH pour le groupe de sécurité portant l'IDsg-903004f8 :

aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr 203.0.113.0/24

Pour afficher les modifications apportées à my-sg, utilisez la commande describe-security-groups commesuit :

aws ec2 describe-security-groups --group-ids sg-903004f8{ "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "203.0.113.0/24" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

EC2-ClassicLa commande suivante permet d'ajouter une règle pour RDP pour le groupe de sécurité my-sg :

65

Page 70: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des instances

aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 3389 --cidr 203.0.113.0/24

La commande suivante permet d'ajouter une règle pour SSH pour le groupe de sécurité my-sg :

aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 22 --cidr 203.0.113.0/24

Pour afficher les modifications apportées à my-sg, utilisez la commande describe-security-groups commesuit :

aws ec2 describe-security-groups --group-names my-sg{ "SecurityGroups": [ { "IpPermissionsEgress": [], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "203.0.113.0/24" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

Suppression de votre groupe de sécuritéPour supprimer un groupe de sécurité, utilisez la commande delete-security-group. Notez que vous nepouvez pas supprimer un groupe de sécurité qui est connecté à un environnement.

EC2-VPCLa commande suivante permet de supprimer le groupe de sécurité portant l'ID sg-903004f8 :

aws ec2 delete-security-group --group-id sg-903004f8

EC2-ClassicLa commande suivante permet de supprimer le groupe de sécurité nommé my-sg :

aws ec2 delete-security-group --group-name my-sg

Utilisation des instances Amazon EC2Vous pouvez utiliser l'AWS CLI pour lancer, répertorier et résilier des instances. Vous aurez besoin d'unepaire de clés et d'un groupe de sécurité. Pour plus d'informations sur la création de ces éléments via

66

Page 71: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des instances

l'AWS CLI, consultez les sections Utilisation des paires de clés (p. 61) et Utilisation des groupes desécurité (p. 63). Vous aurez aussi besoin de sélectionner une image Amazon Machine Image (AMI) etde noter son ID d'AMI. Pour plus d'informations, consultez la page Recherche d'une image AMI appropriéedans le manuel Amazon EC2 Guide de l'utilisateur pour les instances Linux.

Si vous lancez une instance non comprise dans l'offre gratuite AWS, vous êtes facturé dès le lancement del'instance et pendant toute la durée d'exécution de l'instance, même si elle demeure inactive.

Note

Avant d'essayer la commande en exemple, définissez vos informations d'identification par défaut.

Rubriques• Lancement d'une instance (p. 67)• Ajout d'un mappage de périphérique de stockage en mode bloc à votre instance (p. 70)• Ajout d'une balise de nom à votre instance (p. 71)• Connexion à votre instance (p. 71)• Affichage de liste de vos instances (p. 71)• Mise hors service de votre instance (p. 72)

Lancement d'une instancePour lancer une instance Amazon EC2 unique à l'aide de l'image AMI que vous avez sélectionnée, utilisezla commande run-instances. En fonction des plateformes prises en charge par votre compte, vous pouvezlancer l'instance dans EC2-Classic ou EC2-VPC.

Au départ, votre instance est à l'état pending, mais elle passera à l'état running dans quelques minutes.

EC2-VPC

La commande suivante permet de lancer une instance t2.micro dans le sous-réseau spécifié :

aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-xxxxxxxx --subnet-id subnet-xxxxxxxx{ "OwnerId": "123456789012", "ReservationId": "r-5875ca20", "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "Platform": "windows", "State": { "Code": 0, "Name": "pending" }, "EbsOptimized": false, "LaunchTime": "2013-07-19T02:42:39.000Z", "PrivateIpAddress": "10.0.1.114", "ProductCodes": [], "VpcId": "vpc-1a2b3c4d",

67

Page 72: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des instances

"InstanceId": "i-5203422c", "ImageId": "ami-173d747e", "PrivateDnsName": ip-10-0-1-114.ec2.internal, "KeyName": "MyKeyPair", "SecurityGroups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "ClientToken": null, "SubnetId": "subnet-6e7f829e", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "Status": "in-use", "SourceDestCheck": true, "VpcId": "vpc-1a2b3c4d", "Description": "Primary network interface", "NetworkInterfaceId": "eni-a7edb1c9", "PrivateIpAddresses": [ { "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "Primary": true, "PrivateIpAddress": "10.0.1.114" } ], "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "Attachment": { "Status": "attached", "DeviceIndex": 0, "DeleteOnTermination": true, "AttachmentId": "eni-attach-52193138", "AttachTime": "2013-07-19T02:42:39.000Z" }, "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "SubnetId": "subnet-6e7f829e", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.1.114" } ], "SourceDestCheck": true, "Placement": { "Tenancy": "default", "GroupName": null, "AvailabilityZone": "us-west-2b" }, "Hypervisor": "xen", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": true, "VolumeId": "vol-877166c8", "AttachTime": "2013-07-19T02:42:39.000Z" } } ], "Architecture": "x86_64", "StateReason": {

68

Page 73: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des instances

"Message": "pending", "Code": "pending" }, "RootDeviceName": "/dev/sda1", "VirtualizationType": "hvm", "RootDeviceType": "ebs", "Tags": [ { "Value": "MyInstance", "Key": "Name" } ], "AmiLaunchIndex": 0 } ]}

EC2-Classic

La commande suivante permet de lancer une instance t1.micro dans EC2-Classic :

aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t1.micro --key-name MyKeyPair --security-groups my-sg{ "OwnerId": "123456789012", "ReservationId": "r-5875ca20", "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "Platform": "windows", "State": { "Code": 0, "Name": "pending" }, "EbsOptimized": false, "LaunchTime": "2013-07-19T02:42:39.000Z", "ProductCodes": [], "InstanceId": "i-5203422c", "ImageId": "ami-173d747e", "PrivateDnsName": null, "KeyName": "MyKeyPair", "SecurityGroups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "ClientToken": null, "InstanceType": "t1.micro", "NetworkInterfaces": [], "Placement": { "Tenancy": "default", "GroupName": null, "AvailabilityZone": "us-west-2b" },

69

Page 74: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des instances

"Hypervisor": "xen", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": true, "VolumeId": "vol-877166c8", "AttachTime": "2013-07-19T02:42:39.000Z" } } ], "Architecture": "x86_64", "StateReason": { "Message": "pending", "Code": "pending" }, "RootDeviceName": "/dev/sda1", "VirtualizationType": "hvm", "RootDeviceType": "ebs", "Tags": [ { "Value": "MyInstance", "Key": "Name" } ], "AmiLaunchIndex": 0 } ]}

Ajout d'un mappage de périphérique de stockage en mode bloc àvotre instanceUn volume de périphérique racine est associé à chaque instance que vous lancez. Vous pouvez utiliser unmappage de périphérique de stockage en mode bloc pour spécifier des volumes EBS supplémentaires oudes volumes de stockage d'instance à attacher à une instance lorsqu'elle est lancée.

Pour ajouter un mappage de périphérique de stockage en mode bloc, indiquez l'option --block-device-mappings lorsque vous utilisez run-instances.

L'exemple suivant permet d'ajouter un volume Amazon EBS standard, mappé à /dev/sdf, dont la tailleest de 20 Go.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false}}]"

L'exemple suivant permet d'ajouter un volume Amazon EBS, mappé à /dev/sdf, sur la base d'uninstantané. Lorsque vous spécifiez un instantané, il n'est pas nécessaire d'indiquer une taille de volume,mais si vous le faites, elle doit être supérieure ou égale à la taille de l'instantané.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-xxxxxxxx\"}}]"

L'exemple suivant permet d'ajouter deux volumes de stockage d'instance. Notez que le nombre de volumesde stockage d'instance disponibles pour votre instance varie en fonction de son type d'instance.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"

70

Page 75: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des instances

L'exemple suivant omet un mappage pour un périphérique spécifié par l'AMI utilisé pour lancer l'instance (/dev/sdj) :

--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"

Pour plus d'informations, consultez Mappage de périphérique de stockage en mode bloc dans le manuelAmazon EC2 Guide de l'utilisateur pour les instances Linux.

Ajout d'une balise de nom à votre instancePour ajouter la balise Name=MyInstance à votre instance, utilisez la commande create-tags comme suit :

aws ec2 create-tags --resources i-xxxxxxxx --tags Key=Name,Value=MyInstance

Pour plus d'informations, consultez la page Balisage de vos ressources dans le manuel Amazon EC2Guide de l'utilisateur pour les instances Linux.

Connexion à votre instanceLorsque votre instance est en cours d'exécution, vous pouvez vous y connecter et l'utiliser comme vous leferiez d'un ordinateur devant lequel vous êtes assis. Pour plus d'informations, consultez la page Connexionà l'instance Amazon EC2 dans le manuel Amazon EC2 Guide de l'utilisateur pour les instances Linux.

Affichage de liste de vos instancesVous pouvez utiliser l'AWS CLI pour afficher la liste de vos instances et des informations sur ces dernières.Vous pouvez afficher l'ensemble de vos instances, ou filtrer les résultats en fonction des instances qui vousintéressent.

Note

Avant d'essayer les commandes en exemple, définissez vos informations d'identification pardéfaut.

Les exemples suivants illustrent l'utilisation de la commande describe-instances.

Example 1 : Liste des instances avec indication du type d'instance

La commande suivante permet d'afficher la liste de vos instances t2.micro.

aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query Reservations[].Instances[].InstanceId

Example 2 : Liste des instances avec la balise spécifiée

La commande suivante répertorie les instances avec une balise Name=MyInstance.

aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"

Example 3 : Liste des instances lancées à l'aide des images spécifiées

La commande suivante permet d'afficher la liste de vos instances qui ont été lancées à partir des imageAMI suivantes : ami-x0123456, ami-y0123456 et ami-z0123456.

aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"

71

Page 76: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAmazon Glacier

Mise hors service de votre instanceMettre fin à une instance la supprime ; vous ne pouvez pas vous reconnecter à une instance une fois quevous y avez mis fin. Dès que l'état de l'instance passe à shutting-down ou terminated, l'instance nevous est plus facturée.

Lorsque vous avez fini avec l'instance, utilisez la commande terminate-instances comme suit :

aws ec2 terminate-instances --instance-ids i-5203422c{ "TerminatingInstances": [ { "InstanceId": "i-5203422c", "CurrentState": { "Code": 32, "Name": "shutting-down" }, "PreviousState": { "Code": 16, "Name": "running" } } ]}

Pour plus d'informations, consultez Terminate Your Instance dans le manuel Amazon EC2 Guide del'utilisateur pour les instances Linux.

Utilisation de Amazon Glacier avec l'AWSCommand Line Interface

Vous pouvez charger un fichier volumineux vers Amazon Glacier en le scindant en parties plus petites quevous chargez depuis la ligne de commande. Cette rubrique décrit le processus de création d'un coffre, lefractionnement d'un fichier, ainsi que la configuration et l'exécution d'un chargement en plusieurs partiesdans Amazon Glacier avec l'AWS CLI.

Note

Ce didacticiel utilise plusieurs outils de ligne de commande qui sont généralement préinstalléesur les systèmes d'exploitation de type Unix, notamment Linux et OS X. Les utilisateurs Windowspeuvent utiliser les mêmes outils en installant Cygwin et en exécutant les commandes depuisle terminal Cygwin. Les commandes et utilitaires natifs de Windows qui exécutent les mêmesfonctions sont signalés lorsqu'ils sont disponibles.

Rubriques• Création d'un coffre Amazon Glacier (p. 72)• Préparation d'un fichier pour le chargement (p. 73)• Lancement d'un chargement en plusieurs parties et chargement de fichiers (p. 73)• Fin du téléchargement (p. 74)

Création d'un coffre Amazon GlacierCréez un coffre à l'aide de la commande aws glacier create-vault. Les commandes suivantespermettent de créer un coffre nommé myvault.

72

Page 77: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurPréparation d'un fichier pour le chargement

$ aws glacier create-vault --account-id - --vault-name myvault{ "location": "/123456789012/vaults/myvault"}

Note

Toutes les commandes Glacier nécessitent un paramètre ID de compte. Utilisez un trait d'unionpour spécifier le compte actuel.

Préparation d'un fichier pour le chargementCréez un fichier pour le chargement test. Les commandes suivantes permettent de créer un fichiercontenant exactement 3 Mio/s (3 x 1 024 x 1 024 octets) de données aléatoires.

Linux, macOS, or Unix

$ dd if=/dev/urandom of=largefile bs=3145728 count=11+0 records in1+0 records out3145728 bytes (3.1 MB) copied, 0.205813 s, 15.3 MB/s

dd est un utilitaire qui copie un nombre d'octets d'un fichier d'entrée vers un fichier de sortie. L'exemple ci-dessus utilise le fichier de périphérique /dev/urandom comme source de données aléatoires. fsutilexécute une fonction similaire sous Windows :

Windows

C:\temp>fsutil file createnew largefile 3145728File C:\temp\largefile is created

Ensuite, fractionnez le fichier en fragments de 1 Mio (1 048 576 octets).

$ split --bytes=1048576 --verbose largefile chunkcreating file `chunkaa'creating file `chunkab'creating file `chunkac'

Note

HJ-Split est un utilitaire de fractionnement de fichier gratuit pour Windows et de nombreusesautres plateformes.

Lancement d'un chargement en plusieurs parties etchargement de fichiersCréez un chargement en plusieurs parties dans Amazon Glacier à l'aide de la commande aws glacierinitiate-multipart-upload.

$ aws glacier initiate-multipart-upload --account-id - --archive-description "multipart upload test" --part-size 1048576 --vault-name myvault{ "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ",

73

Page 78: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurFin du téléchargement

"location": "/123456789012/vaults/myvault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"}

Amazon Glacier a besoin de connaître la taille de chaque partie en octets (1 Mio dans cet exemple), le nomde votre coffre et un ID de compte pour configurer l'outil de chargement en plusieurs parties. L'AWS CLIproduit un ID de chargement lorsque l'opération est terminée. Enregistrez l'ID de chargement dans unevariable shell en vue d'une utilisation ultérieure.

Linux, macOS, or Unix

$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"

Windows

C:\temp> set UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"

Ensuite, utilisez la commande aws glacier upload-multipart-part pour charger chaque partie.

$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkaa --range 'bytes 0-1048575/*' --account-id - --vault-name myvault{ "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"}$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkab --range 'bytes 1048576-2097151/*' --account-id - --vault-name myvault{ "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"}$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkac --range 'bytes 2097152-3145727/*' --account-id - --vault-name myvault{ "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"}

Note

L'exemple ci-dessus utilise le signe dollar (« $ ») pour déréférencer le shell de variable UPLOADID.Depuis la ligne de commande Windows, utilisez deux signes % (%UPLOADID%, par exemple).

Vous devez spécifier la série d'octets de chaque partie lorsque vous les téléchargez afin qu'elle puisse êtreréassemblée dans l'ordre correct par Amazon Glacier. Chaque partie étant de 1 048 576 octets, la premièreoccupe les octets 0 à 1 048 575, la deuxième les octets 1 048 576 à 2 097 151 et la troisième les octets2 097 152 à 3 145 727.

Fin du téléchargementAmazon Glacier nécessite un hachage d'arborescence du fichier d'origine afin de confirmer que toutesles parties chargées sont arrivées intactes dans AWS. Pour calculer un hachage d'arborescence, vousfractionnez le fichier en parties de 1 Mio et calculez un hachage SHA-256 binaire de chaque partie. Vousfractionnez ensuite la liste des hachages en paires, combinez les deux hachages binaires dans chaquepaire et prenez les hachages des résultats. Répétez ce processus jusqu'à ce qu’il ne reste qu'un seulhachage. Si le un nombre de hachages est impair à un niveau, vous devez le promouvoir au niveau suivantsans le modifier.

74

Page 79: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurFin du téléchargement

L'élément clé pour calculer un hachage d'arborescence correctement lors de l'utilisation des utilitaires deligne de commande consiste à stocker chaque hachage au format binaire et à convertir uniquement enhexadécimal à la dernière étape. La combinaison ou le hachage de la version hexadécimale d'un hachagedans l'arborescence entraîne un résultat incorrect.

Note

Les utilisateurs de Windows peuvent utiliser la commande type à la place de cat. OpenSSL estdisponible pour Windows à l'adresse OpenSSL.org.

Pour calculer un hachage d'arborescence

1. Fractionnez le fichier d'origine en parties de 1 Mio, si ce n'est déjà fait.

$ split --bytes=1048576 --verbose largefile chunkcreating file `chunkaa'creating file `chunkab'creating file `chunkac'

2. Calculez et stockez le hachage SHA-256 binaire de chaque segment.

$ openssl dgst -sha256 -binary chunkaa > hash1$ openssl dgst -sha256 -binary chunkab > hash2$ openssl dgst -sha256 -binary chunkac > hash3

3. Combinez les deux premiers hachages et prenez le hachage binaire du résultat.

$ cat hash1 hash2 > hash12$ openssl dgst -sha256 -binary hash12 > hash12hash

4. Combinez le hachage parent des segments aa et ab au hachage de segment ac et hachez le résultat,cette fois en sortie hexadécimale. Stockez le résultat dans une variable shell.

$ cat hash12hash hash3 > hash123$ openssl dgst -sha256 hash123SHA256(hash123)= 9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67$ TREEHASH=9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67

Enfin, terminez le chargement avec la commande aws glacier complete-multipart-upload. Cettecommande prend la taille du fichier d'origine en octets, la valeur de hachage d'arborescence finale auformat hexadécimal, ainsi que votre ID de compte et le nom de coffre.

$ aws glacier complete-multipart-upload --checksum $TREEHASH --archive-size 3145728 --upload-id $UPLOADID --account-id - --vault-name myvault{ "archiveId": "d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg", "checksum": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67", "location": "/123456789012/vaults/myvault/archives/d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"}

Vous pouvez également vérifier l'état du coffre avec aws glacier describe-vault :

$ aws glacier describe-vault --account-id - --vault-name myvault{ "SizeInBytes": 3178496,

75

Page 80: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAWS Identity and Access Management

"VaultARN": "arn:aws:glacier:us-west-2:123456789012:vaults/myvault", "LastInventoryDate": "2015-04-07T00:26:19.028Z", "NumberOfArchives": 1, "CreationDate": "2015-04-06T21:23:45.708Z", "VaultName": "myvault"}

Note

L'état du coffre est mis à jour une fois par jour. Pour plus d'informations, consultez Utilisation descoffres.

Il est maintenant possible de supprimer sans risque la partie et les fichiers de hachage que vous avezcréés :

$ rm chunk* hash*

Pour plus d'informations sur les chargements en plusieurs parties, consultez les sections Chargementd'archives volumineuses en plusieurs parties et Calcul des totaux de contrôle dans le Manuel dudéveloppeur Amazon Glacier.

AWS Identity and Access Management depuisl'AWS Command Line Interface

Cette section décrit certaines tâches courantes liées à AWS Identity and Access Management (IAM) etcomment les effectuer à l'aide de l'AWS Command Line Interface.

Les commandes présentées ici supposent que vous avez défini des informations d'identification par défautet une région par défaut.

Rubriques• Création de nouveaux utilisateurs et groupes IAM (p. 76)• Définition d'une stratégie IAM pour un utilisateur IAM (p. 77)• Définition d'un mot de passe initial pour un utilisateur IAM (p. 78)• Création des informations d'identification de sécurité pour un utilisateur IAM (p. 78)

Création de nouveaux utilisateurs et groupes IAMCette section décrit comment créer un nouveau groupe IAM et un nouvel utilisateur IAM, puis commentajouter l'utilisateur au groupe.

Pour créer un groupe IAM et lui ajouter un nouvel utilisateur IAM

1. Tout d'abord, utilisez la commande create-group pour créer le groupe.

$ aws iam create-group --group-name MyIamGroup{ "Group": { "GroupName": "MyIamGroup", "CreateDate": "2012-12-20T03:03:52.834Z", "GroupId": "AKIAI44QH8DHBEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/"

76

Page 81: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurDéfinition d'une stratégie IAM pour un utilisateur IAM

}}

2. Ensuite, utilisez la commande create-user pour créer l'utilisateur.

$ aws iam create-user --user-name MyUser{ "User": { "UserName": "MyUser", "Path": "/", "CreateDate": "2012-12-20T03:13:02.581Z", "UserId": "AKIAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" }}

3. Enfin, utilisez la commande add-user-to-group pour ajouter l'utilisateur au groupe.

$ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup

4. Pour vérifier que le groupe MyIamGroup contient l'utilisateur MyUser, utilisez la commande get-group.

$ aws iam get-group --group-name MyIamGroup{ "Group": { "GroupName": "MyIamGroup", "CreateDate": "2012-12-20T03:03:52Z", "GroupId": "AKIAI44QH8DHBEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" }, "Users": [ { "UserName": "MyUser", "Path": "/", "CreateDate": "2012-12-20T03:13:02Z", "UserId": "AKIAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" } ], "IsTruncated": "false"}

Vous pouvez aussi afficher les utilisateurs et les groupes IAM avec la AWS Management Console.

Définition d'une stratégie IAM pour un utilisateur IAMLes commandes suivantes indiquent comment affecter une stratégie IAM à un utilisateur IAM. La stratégiespécifiée ici fournit à l'utilisateur un « Accès utilisateur avancé ». Cette stratégie est identique au modèle destratégie Accès utilisateur avancé fourni sur la console IAM. Dans cet exemple, la stratégie est enregistréedans un fichier, MyPolicyFile.json :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "NotAction": "iam:*", "Resource": "*"

77

Page 82: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurDéfinition d'un mot de passe initial pour un utilisateur IAM

} ]}

Pour spécifier la stratégie, utilisez la commande put-user-policy.

$ aws iam put-user-policy --user-name MyUser --policy-name MyPowerUserRole --policy-document file://C:\Temp\MyPolicyFile.json

Vérifiez que la stratégie a été affectée à l'utilisateur à l'aide de la commande list-user-policies.

$ aws iam list-user-policies --user-name MyUser{ "PolicyNames": [ "MyPowerUserRole" ], "IsTruncated": "false"}

Ressources supplémentairesPour plus d'informations, consultez la page Ressources pour en savoir plus sur les autorisations et lesstratégies. Cette rubrique fournit des liens vers une vue d'ensemble des autorisations et des stratégiesainsi que des liens vers des exemples de stratégies pour l'accès à Amazon S3, à Amazon EC2 et àd'autres services.

Définition d'un mot de passe initial pour un utilisateurIAML'exemple suivant illustre l'utilisation de la commande create-login-profile pour définir un mot depasse initial pour un utilisateur IAM.

$ aws iam create-login-profile --user-name MyUser --password My!User1Login8P@ssword{ "LoginProfile": { "UserName": "MyUser", "CreateDate": "2013-01-02T21:10:54.339Z", "MustChangePassword": "false" }}

Utilisez la commande update-login-profile pour mettre à jour le mot de passe d'un utilisateur IAM.

Création des informations d'identification de sécuritépour un utilisateur IAML'exemple suivant utilise la commande create-access-key pour créer des informations d'identificationde sécurité pour un utilisateur IAM. Un ensemble d'informations d'identification de sécurité comprend unID de clé d'accès et une clé secrète. Notez qu’un utilisateur IAM ne peut avoir plus de deux ensemblesd'informations d'identification à un moment donné. Si vous essayez de créer un troisième ensemble, lacommande create-access-key renvoie une erreur « Limite dépassée ».

$ aws iam create-access-key --user-name MyUser

78

Page 83: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAmazon S3

{ "AccessKey": { "SecretAccessKey": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "Status": "Active", "CreateDate": "2013-01-02T22:44:12.897Z", "UserName": "MyUser", "AccessKeyId": "AKIAI44QH8DHBEXAMPLE" }}

Utilisez la commande delete-access-key pour supprimer un ensemble d'informations d'identificationpour un utilisateur IAM. Spécifiez les informations d'identification à supprimer à l'aide de l'ID de clé d'accès.

$ aws iam delete-access-key --user-name MyUser --access-key-id AKIAI44QH8DHBEXAMPLE

Utilisation de Amazon S3 avec l'AWS CommandLine Interface

L'AWS CLI fournit deux niveaux de commandes pour accéder à Amazon S3.

• Le premier niveau, nommé s3, se compose de commandes de haut niveau pour les opérationsfréquemment utilisées, telles que la création, la manipulation et la suppression d'objets et decompartiments.

• Le deuxième niveau, nommé s3api, expose toutes les opérations Amazon S3, y compris la modificationd'une liste de contrôle d'accès (ACL) de compartiment, l'utilisation du partage des ressources cross-origine ou les stratégies de journalisation. Il vous permet d'effectuer des opérations avancées qui ne sontpas possibles avec les commandes de haut niveau seules.

Pour obtenir une liste de toutes les commandes disponibles dans chaque niveau, utilisez l'argument helpavec les commandes aws s3 ou aws s3api :

$ aws s3 help

ou

$ aws s3api help

Note

L'AWS CLI prend en charge la copie, le déplacement et la synchronisation de Amazon S3 àAmazon S3. Ces opérations utilisent l'opération COPY côté service fournie par Amazon S3 :vos fichiers sont conservés dans le cloud et ne sont pas téléchargés sur la machine client, puissauvegardés dans Amazon S3.Lorsque des opérations telles que celles-ci peuvent être effectuées totalement dans le cloud, seulela bande passante nécessaire pour la requête et la réponse HTTP est utilisée.

Pour obtenir des exemples d'utilisation de Amazon S3, consultez les rubriques suivantes dans cettesection.

Rubriques• Utilisation des commandes s3 de haut niveau avec l'AWS Command Line Interface (p. 80)• Utilisation de commandes de niveau API (s3api) avec l'AWS Command Line Interface (p. 84)

79

Page 84: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des commandes Amazon S3 de haut niveau

Utilisation des commandes s3 de haut niveau avecl'AWS Command Line InterfaceCette section explique comment vous pouvez gérer les compartiments et les objets Amazon S3 à l'aide decommandes aws s3 de haut niveau.

Gestion des compartimentsLes commandes aws s3 de haut niveau prennent en charge les opérations de compartiment courammentutilisées, comme la création, la suppression et l'affichage de compartiments.

Création de compartimentsUtilisez la commande aws s3 mb pour créer un nouveau compartiment. Les noms de compartimentdoivent être uniques et conformes à DNS. Les noms de compartiments peuvent contenir des lettresminuscules, des chiffres, des traits d'union et des points. Les noms de compartiment peuvent uniquementcommencer et se terminer par une lettre ou un chiffre, et ils ne peuvent pas contenir de point à la suite d'untiret ou d'un autre point.

$ aws s3 mb s3://bucket-name

Suppression de compartimentsPour supprimer un compartiment, utilisez la commande aws s3 rb.

$ aws s3 rb s3://bucket-name

Par défaut, le compartiment doit être vide pour que l'opération aboutisse. Pour supprimer un compartimentnon vide, vous devez inclure l'option --force.

$ aws s3 rb s3://bucket-name --force

Cela permettra de supprimer tout d'abord tous les objets et sous-dossiers du compartiment puis desupprimer le compartiment.

Note

Si vous utilisez un compartiment versionné contenant des objets précédemment supprimés, maisconservés, cette commande ne vous autorisera pas à supprimer le compartiment.

Affichage des compartimentsPour afficher tous les compartiments ou leur contenu, utilisez la commande aws s3 ls. Voici quelquesexemples d'utilisation courante.

La commande suivante permet d'afficher tous les compartiments.

$ aws s3 ls2013-07-11 17:08:50 my-bucket2013-07-24 14:55:44 my-bucket2

La commande suivante permet d'afficher la liste de tous les objets et dossiers (préfixes) d'un compartiment.

$ aws s3 ls s3://bucket-name

80

Page 85: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des commandes Amazon S3 de haut niveau

PRE path/2013-09-04 19:05:48 3 MyFile1.txt

La commande suivante permet d'afficher la liste de tous les objets dans le nom du compartiment/path(en d'autres termes, les objets de nom du compartiment filtrés par le préfixe path/).

$ aws s3 ls s3://bucket-name/path/2013-09-06 18:59:32 3 MyFile2.txt

Gestion des objetsLes commandes aws s3 de haut niveau simplifient également la gestion des objets Amazon S3. Lescommandes d'objet incluent aws s3 cp, aws s3 ls, aws s3 mv, aws s3 rm et sync. Les commandescp, ls, mv et rm fonctionnent de manière similaire à leurs homologues Unix et elles vous permettent detravailler en toute transparence dans vos répertoires locaux et compartiments Amazon S3. La commandesync synchronise les contenus d'un compartiment et d'un répertoire ou de deux compartiments.

Note

Toutes les commandes de haut niveau qui impliquent le chargement d'objets dans uncompartiment Amazon S3 (aws s3 cp, aws s3 mv et aws s3 sync) effectuentautomatiquement un chargement en plusieurs parties lorsque l'objet est volumineux.Les chargements qui échouent ne peuvent pas être repris à l'aide de ces commandes. Si lechargement en plusieurs parties échoue en raison d'une expiration de délai ou s'il est annulémanuellement en appuyant sur CTRL + C, l'AWS CLI nettoie les fichiers créés et interrompt letéléchargement. Ce processus peut prendre plusieurs minutes.Si le processus est interrompu par une commande d'interruption ou un panne système,le chargement en plusieurs parties en cours reste dans Amazon S3 et doit être nettoyémanuellement sur la AWS Management Console ou à l'aide de la commande s3api abort-multipart-upload.

Les commandes cp, mv et sync incluent une option --grants qui peut être utilisée pour accorder desautorisations sur l'objet aux utilisateurs ou groupes spécifiés. Vous définissez l'option --grants sur uneliste d'autorisations à l'aide de la syntaxe suivante :

--grants Permission=Grantee_Type=Grantee_ID [Permission=Grantee_Type=Grantee_ID ...]

Chaque valeur contient les éléments suivants :

• Autorisation – Indique les autorisations accordées et peut être définie sur read, readacl,writeacl ou full.

• Type_bénéficiaire – Indique comment le bénéficiaire doit être identifié et peut être définie sur uri,emailaddress ou id.

• ID_bénéficiaire – Indique le bénéficiaire à partir de Type_bénéficiaire.• uri – URI du groupe. Pour plus d'informations, consultez la page Qui est le bénéficiaire ?• emailaddress – adresse e-mail du compte.• id – ID canonique du compte.

Pour plus d'informations sur le contrôle d'accès Amazon S3, consultez la page Contrôle d'accès.

L'exemple suivant copie un objet dans un compartiment. Elle accorde des autorisations read surl'objet à tout le monde et des autorisations full (read, readacl et writeacl) au compte associé à[email protected].

81

Page 86: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des commandes Amazon S3 de haut niveau

$ aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers [email protected]

Pour spécifier une classe de stockage qui n'est pas celle par défaut (REDUCED_REDUNDANCY ouSTANDARD_IA) pour les objets que vous chargez dans Amazon S3, utilisez l'option --storage-class :

$ aws s3 cp file.txt s3://my-bucket/ --storage-class REDUCED_REDUNDANCY

La commande sync a le format suivant : Les combinaisons source-cible possibles sont les suivantes :

• Système de fichiers local vers Amazon S3• Amazon S3 vers Système de fichiers local• Amazon S3 vers Amazon S3

$ aws s3 sync <source> <target> [--options]

L'exemple suivant synchronise le contenu d'un dossier Amazon S3 nommé path dans my-bucket avecle répertoire de travail actuel. s3 sync met à jour les fichiers dont la taille est différente ou l'heuremodifiée par rapport aux fichiers de même nom au niveau de la destination. La sortie affiche les opérationsspécifiques effectuées lors de la synchronisation. Notez que cette opération synchronise de manièrerécursive le sous-répertoire MySubdirectory et son contenu avec s3://my-bucket/path/MySubdirectory.

$ aws s3 sync . s3://my-bucket/pathupload: MySubdirectory\MyFile3.txt to s3://my-bucket/path/MySubdirectory/MyFile3.txtupload: MyFile2.txt to s3://my-bucket/path/MyFile2.txtupload: MyFile1.txt to s3://my-bucket/path/MyFile1.txt

Normalement, sync copie seulement les fichiers ou objets manquants ou obsolètes entre la source et lacible. Cependant, vous pouvez indiquer l'option --delete pour supprimer des fichiers ou des objets de lacible qui ne sont pas présente dans la source.

L'exemple suivant, qui développe l'exemple précédent, montre comment cela fonctionne.

// Delete local file$ rm ./MyFile1.txt

// Attempt sync without --delete option - nothing happens$ aws s3 sync . s3://my-bucket/path

// Sync with deletion - object is deleted from bucket$ aws s3 sync . s3://my-bucket/path --deletedelete: s3://my-bucket/path/MyFile1.txt

// Delete object from bucket$ aws s3 rm s3://my-bucket/path/MySubdirectory/MyFile3.txtdelete: s3://my-bucket/path/MySubdirectory/MyFile3.txt

// Sync with deletion - local file is deleted$ aws s3 sync s3://my-bucket/path . --deletedelete: MySubdirectory\MyFile3.txt

// Sync with Infrequent Access storage class$ aws s3 sync . s3://my-bucket/path --storage-class STANDARD_IA

Les options --exclude et --include vous permettent d'indiquer des règles pour filtrer les fichiers oules objets à copier durant l'opération de synchronisation. Par défaut, tous les éléments d'un répertoirespécifié sont inclus dans la synchronisation. Par conséquent, --include n'est nécessaire que lorsque

82

Page 87: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des commandes Amazon S3 de haut niveau

vous indiquez des exceptions pour l'option --exclude (par exemple, --include signifie en fait « ne pasexclure »). Les options s'appliquent dans l'ordre spécifié, comme illustré dans l'exemple suivant.

Local directory contains 3 files:MyFile1.txtMyFile2.rtfMyFile88.txt'''$ aws s3 sync . s3://my-bucket/path --exclude '*.txt'upload: MyFile2.rtf to s3://my-bucket/path/MyFile2.rtf'''$ aws s3 sync . s3://my-bucket/path --exclude '*.txt' --include 'MyFile*.txt'upload: MyFile1.txt to s3://my-bucket/path/MyFile1.txtupload: MyFile88.txt to s3://my-bucket/path/MyFile88.txtupload: MyFile2.rtf to s3://my-bucket/path/MyFile2.rtf'''$ aws s3 sync . s3://my-bucket/path --exclude '*.txt' --include 'MyFile*.txt' --exclude 'MyFile?.txt'upload: MyFile2.rtf to s3://my-bucket/path/MyFile2.rtfupload: MyFile88.txt to s3://my-bucket/path/MyFile88.txt

Les options --exclude et --include permettent également de filtrer les fichiers ou les objets àsupprimer lors d'une opération de synchronisation avec l'option --delete. Dans ce cas, la chaîne deparamètre doit spécifier les fichiers à exclure, à inclure, la suppression en contexte du répertoire cible ou ducompartiment. Voici un exemple.

Assume local directory and s3://my-bucket/path currently in sync and each contains 3 files:MyFile1.txtMyFile2.rtfMyFile88.txt'''// Delete local .txt files$ rm *.txt

// Sync with delete, excluding files that match a pattern. MyFile88.txt is deleted, while remote MyFile1.txt is not.$ aws s3 sync . s3://my-bucket/path --delete --exclude 'my-bucket/path/MyFile?.txt'delete: s3://my-bucket/path/MyFile88.txt'''// Delete MyFile2.rtf$ aws s3 rm s3://my-bucket/path/MyFile2.rtf

// Sync with delete, excluding MyFile2.rtf - local file is NOT deleted$ aws s3 sync s3://my-bucket/path . --delete --exclude './MyFile2.rtf'download: s3://my-bucket/path/MyFile1.txt to MyFile1.txt'''// Sync with delete, local copy of MyFile2.rtf is deleted$ aws s3 sync s3://my-bucket/path . --deletedelete: MyFile2.rtf

La commande sync accepte également une option --acl, avec laquelle vous pouvez définir lesautorisations d'accès pour les fichiers copiés dans Amazon S3. L'option accepte les valeurs private,public-read et public-read-write.

$ aws s3 sync . s3://my-bucket/path --acl public-read

Comme mentionné précédemment, l'ensemble de commandes s3 inclut les options cp, mv, ls et rm, etelles fonctionnent de façon similaire à leurs homologues Unix. Voici quelques exemples.

// Copy MyFile.txt in current directory to s3://my-bucket/path$ aws s3 cp MyFile.txt s3://my-bucket/path/

83

Page 88: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation de commandes de niveau API (s3api)

// Move all .jpg files in s3://my-bucket/path to ./MyDirectory$ aws s3 mv s3://my-bucket/path ./MyDirectory --exclude '*' --include '*.jpg' --recursive

// List the contents of my-bucket$ aws s3 ls s3://my-bucket

// List the contents of path in my-bucket$ aws s3 ls s3://my-bucket/path/

// Delete s3://my-bucket/path/MyFile.txt$ aws s3 rm s3://my-bucket/path/MyFile.txt

// Delete s3://my-bucket/path and all of its contents$ aws s3 rm s3://my-bucket/path --recursive

Lorsque l'option --recursive est utilisée sur un répertoire/dossier avec cp, mv, ou rm, la commandeparcourt l'arborescence, y compris tous les sous-répertoires. Ces commandes acceptent également lesoptions --exclude, --include et --acl comme la commande sync.

Utilisation de commandes de niveau API (s3api) avecl'AWS Command Line InterfaceLes commandes de niveau API (s3api) (contenues dans l'ensemble de commandes s3api) offrent unaccès direct aux API Amazon S3 et activent certaines opérations non exposées dans les commandesde haut niveau. Cette section décrit les commandes de niveau API et fournit quelques exemples. Pourobtenir des exemples Amazon S3, consultez la référence de ligne de commande s3api et choisissez unecommande disponible dans la liste.

ACL personnaliséesAvec les commandes de haut niveau, vous pouvez utiliser l'option --acl pour appliquer les listes decontrôle d'accès prédéfinie sur les objets Amazon S3, mais vous ne pouvez pas définir des ACL de niveaucompartiment. Vous pouvez le faire avec la commande de niveau API, put-bucket-acl. L'exemplesuivant accorde un contrôle total à deux utilisateurs AWS ([email protected] et [email protected])et l'autorisation en lecture à tout le monde.

$ aws s3api put-bucket-acl --bucket MyBucket --grant-full-control 'emailaddress="[email protected]",emailaddress="[email protected]"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'

Pour plus d'informations sur les ACL personnalisées, consultez la page PUT Bucket acl. Les commandesACL s3api, telles que put-bucket-acl, utilisent la même notation d'argument raccourcie.

Stratégie de journalisationLa commande API put-bucket-logging configure la stratégie de journalisation des compartiments.L'exemple suivant définit la stratégie de journalisation pour MyBucket. L'utilisateur [email protected] aura un contrôle total sur les fichiers-journaux, et tous les utilisateurs aura accès à cesderniers. Notez que la commande put-bucket-acl est obligatoire pour accorder au système de diffusiondes journaux de Amazon S3 les autorisations nécessaires (écriture et lecture-acp).

$ aws s3api put-bucket-acl --bucket MyBucket --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'$ aws s3api put-bucket-logging --bucket MyBucket --bucket-logging-status file://logging.json

84

Page 89: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAmazon SNS

logging.json

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "[email protected]" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }}

Utilisation de l'AWS Command Line Interface avecAmazon SNS

Cette section décrit certaines tâches courantes liées à Amazon Simple Notification Service (Amazon SNS)et comment les effectuer à l'aide de l'AWS Command Line Interface.

Rubriques• Création d'une rubrique (p. 85)• Abonnement à une rubrique (p. 85)• Publication dans une rubrique (p. 86)• Annulation de l'abonnement à une rubrique (p. 86)• Suppression d'une rubrique (p. 86)

Création d'une rubriqueLa commande suivante permet de créer une rubrique nommée my-topic :

$ aws sns create-topic --name my-topic{ "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"}

Notez le paramètre TopicArn, que vous utiliserez plus tard pour publier un message.

Abonnement à une rubriqueLa commande suivante permet de s'abonner à une rubrique en utilisant le protocole de messagerie et uneadresse e-mail pour le point de terminaison de notification :

85

Page 90: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurPublication dans une rubrique

$ aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --protocol email --notification-endpoint [email protected]{ "SubscriptionArn": "pending confirmation"}

Un message électronique sera envoyé à l'adresse e-mail figurant dans la commande subscribe. Lemessage électronique comportera le texte suivant :

You have chosen to subscribe to the topic:arn:aws:sns:us-west-2:123456789012:my-topicTo confirm this subscription, click or visit the following link (If this was in error no action is necessary):Confirm subscription

Après avoir cliqué sur Confirmer l'abonnement, un message de notification « Abonnement confirmé ! »apparaîtra dans votre navigateur avec des informations similaires à ce qui suit :

Subscription confirmed!

You have subscribed [email protected] to the topic:my-topic.

Your subscription's id is:arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb2268db8c4

If it was not your intention to subscribe, click here to unsubscribe.

Publication dans une rubriqueLa commande suivante permet de publier un message dans une rubrique :

$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello World!"{ "MessageId": "4e41661d-5eec-5ddf-8dab-2c867a709bab"}

Un message électronique avec le texte « Hello World! » sera envoyé à l'[email protected]

Annulation de l'abonnement à une rubriqueLa commande suivante permet d'annuler l'abonnement à une rubrique :

$ aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb2268db8c4

Pour vérifier l'annulation de l'abonnement à la rubrique, tapez ce qui suit :

$ aws sns list-subscriptions

Suppression d'une rubriqueLa commande suivante permet de supprime une rubrique :

86

Page 91: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurAmazon SWF

$ aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic

Pour vérifier la suppression de la rubrique, tapez ce qui suit :

$ aws sns list-topics

Utilisation de Amazon Simple Workflow Serviceavec l'AWS Command Line Interface

Vous pouvez accéder aux fonctions de Amazon Simple Workflow Service (Amazon SWF) à l'aide de l'AWSCLI.

Pour obtenir la liste des commandes et des informations sur la gestion des domaines dans Amazon SWF,consultez les rubriques suivantes.

Rubriques• Liste des commandes Amazon SWF par catégorie (p. 87)• Utilisation des domaines Amazon SWF avec l'AWS Command Line Interface (p. 89)

Liste des commandes Amazon SWF par catégorieCette section répertorie les rubriques de référence pour les commandes Amazon SWF dans l'AWS CLI.Les commandes sont répertoriées par catégorie fonctionnelle.

Pour une liste alphabétique des commandes, consultez la section Amazon SWF du manuel AWS CLICommand Reference, ou utilisez la commande suivante.

$ aws swf help

Pour obtenir de l'aide sur une commande particulière, utilisez l'instruction help après le nom de lacommande. Voici un exemple.

$ aws swf register-domain help

Rubriques• Commandes liées aux activités (p. 87)• Commandes liées aux décideurs (p. 88)• Commandes liées aux exécutions de flux de travail (p. 88)• Commandes liées à l'administration (p. 88)• Commandes de visibilité (p. 89)

Commandes liées aux activitésLes travailleurs d'activité utilisent la commande poll-for-activity-task pour obtenir les nouvellestâches d'activité. Après qu’un travailleur reçoit une tâche d'activité de Amazon SWF, il exécute la tâche etrépond à l'aide de respond-activity-task-completed en cas de succès ou respond-activity-task-failed en cas d’échec.

Les commandes suivantes sont exécutées par les travailleurs d'activité.

87

Page 92: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurListe des commandes Amazon SWF

• poll-for-activity-task• respond-activity-task-completed• respond-activity-task-failed• respond-activity-task-canceled• record-activity-task-heartbeat

Commandes liées aux décideursLes décideurs utilisent la commande poll-for-decision-task pour obtenir les tâches de décision.Après qu'un décideur reçoit une tâche de décision de Amazon SWF, il examine l'historique d'exécutionde son flux de travail et décide comment procéder ensuite. Il appelle respond-decision-task-completed pour terminer la tâche de décision et fournit zéro ou plusieurs décisions suivantes.

Les commandes suivantes sont exécutées par les décideurs.

• poll-for-decision-task• respond-decision-task-completed

Commandes liées aux exécutions de flux de travailLes commandes suivantes font partie d'une exécution de flux de travail.

• request-cancel-workflow-execution• start-workflow-execution• signal-workflow-execution• terminate-workflow-execution

Commandes liées à l'administrationMême si vous pouvez exécuter des tâches administratives depuis la console Amazon SWF, vous pouvezutiliser les commandes de cette section pour automatiser des fonctions ou créer vos propres outilsd'administration.

Gestion des activités

• register-activity-type• deprecate-activity-type

Gestion du flux de travail

• register-workflow-type• deprecate-workflow-type

Gestion de domaine

• register-domain• deprecate-domain

Pour obtenir plus d'informations et des exemples de ces commandes de gestion de domaine, consultez lasection Utilisation des domaines Amazon SWF avec l'AWS Command Line Interface (p. 89).

88

Page 93: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des domaines Amazon SWF

Gestion de l'exécution du flux de travail

• request-cancel-workflow-execution• terminate-workflow-execution

Commandes de visibilitéMême si vous pouvez exécuter des actions de visibilité depuis la console Amazon SWF, vous pouvezutiliser les commandes de cette section pour créer votre propre console ou vos outils d'administration.

Visibilité de l'activité

• list-activity-types• describe-activity-type

Visibilité du flux de travail

• list-workflow-types• describe-workflow-type

Visibilité de l'exécution du flux de travail

• describe-workflow-execution• list-open-workflow-executions• list-closed-workflow-executions• count-open-workflow-executions• count-closed-workflow-executions• get-workflow-execution-history

Visibilité du domaine

• list-domains• describe-domain

Pour obtenir plus d'informations et des exemples de ces commandes de visibilité, consultez la sectionUtilisation des domaines Amazon SWF avec l'AWS Command Line Interface (p. 89).

Visibilité de la liste de tâches

• count-pending-activity-tasks• count-pending-decision-tasks

Utilisation des domaines Amazon SWF avec l'AWSCommand Line InterfaceCette section explique comment exécuter des tâches de domaine Amazon SWF avec l'AWS CLI.

Rubriques

89

Page 94: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des domaines Amazon SWF

• Affichage de liste des domaines (p. 90)• Obtention d'informations sur un domaine (p. 91)• Inscription d'un domaine (p. 91)• Obsolescence d'un domaine (p. 92)• Voir aussi (p. 93)

Affichage de liste des domainesPour afficher la liste des domaines Amazon SWF que vous avez enregistrés pour votre compte, vouspouvez utiliser swf list-domains. Il y a un seul paramètre obligatoire : --registration-status,que vous pouvez définir sur REGISTERED ou DEPRECATED.

Voici un exemple minimal :

$ aws swf list-domains --registration-status REGISTERED{ "domainInfos": [ { "status": "REGISTERED", "name": "ExampleDomain" }, { "status": "REGISTERED", "name": "mytest" } ]}

Note

Pour obtenir un exemple d'utilisation de DEPRECATED, consultez la section Obsolescence d'undomaine (p. 92). Comme vous pouvez le deviner, elle renvoie les domaines obsolètes dontvous disposez.

Définition d'une taille de page pour limiter les résultatsSi vous avez plusieurs domaines, vous pouvez définir le paramètre --maximum-page-size afin de limiterle nombre de résultats retournés. Si vous obtenez plus de résultats que le nombre maximal que vous avezspécifié, vous recevrez un nextPageToken que vous pouvez envoyer pour le prochain appel à list-domains pour récupérer les entrées supplémentaires.

Voici un exemple d'utilisation de --maximum-page-size :

$ aws swf list-domains --registration-status REGISTERED --maximum-page-size 1{ "domainInfos": [ { "status": "REGISTERED", "name": "ExampleDomain" } ], "nextPageToken": "ANeXAMPLEtOKENiSpRETTYlONG=="}

Note

Le nextPageToken qui vous est renvoyé sera beaucoup plus long. Cette valeur est simplementun exemple fourni à titre d'illustration.

90

Page 95: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des domaines Amazon SWF

Lorsque vous réitérez l'appel, en indiquant cette fois-ci la valeur de nextPageToken dans l'argument --next-page-token, vous obtenez une autre page de résultats :

$ aws swf list-domains --registration-status REGISTERED --maximum-page-size 1 --next-page-token "ANeXAMPLEtOKENiSpRETTYlONG=="{ "domainInfos": [ { "status": "REGISTERED", "name": "mytest" } ]}

Lorsqu'il n'y a pas d'autres pages de résultats à extraire, nextPageToken n'est pas renvoyé dans lesrésultats.

Obtention d'informations sur un domainePour obtenir des informations détaillées sur un domaine particulier, utilisez swf describe-domain. Il ya un paramètre obligatoire : --name, qui prend le nom du domaine sur lequel vous souhaitez obtenir desinformations. Exemples :

$ aws swf describe-domain --name ExampleDomain{ "domainInfo": { "status": "REGISTERED", "name": "ExampleDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "1" }}

Inscription d'un domainePour inscrire de nouveaux domaines, utilisez swf register-domain. Deux paramètres sont obligatoires,--name, qui prend le nom de domaine, et --workflow-execution-retention-period-in-days,qui prend un nombre entier pour spécifier le nombre de jours de conservation des données d'exécution duflux de travail sur ce domaine, avec une période maximale de 90 jours (pour plus d'informations, consultezla section Amazon SWF FAQ). Si vous spécifiez zéro (0) pour cette valeur, la période de conservation estautomatiquement définie sur la durée maximale. Sinon, les données d'exécution du flux de travail ne serontpas conservées une fois le nombre de jours spécifié écoulé.

Voici un exemple d'inscription d'un nouveau domaine :

$ aws swf register-domain --name MyNeatNewDomain --workflow-execution-retention-period-in-days 0

Lorsque vous inscrivez un domaine, aucune donnée n'est renvoyée (« »), mais vous pouvez utiliser swflist-domains ou swf describe-domain pour voir le nouveau domaine. Exemples :

$ aws swf list-domains --registration-status REGISTERED{ "domainInfos": [ { "status": "REGISTERED", "name": "ExampleDomain"

91

Page 96: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des domaines Amazon SWF

}, { "status": "REGISTERED", "name": "MyNeatNewDomain" }, { "status": "REGISTERED", "name": "mytest" } ]}

Voici un exemple d'utilisation de swf describe-domain :

$ aws swf describe-domain --name MyNeatNewDomain{ "domainInfo": { "status": "REGISTERED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" }}

Obsolescence d'un domainePour rendre un domaine obsolète (vous pouvez toujours le voir mais vous ne pouvez pas créer denouvelles exécutions de flux de travail ou y inscrire des types), utilisez swf deprecate-domain. Un seulparamètre est obligatoire, --name, qui prend le nom du domaine à rendre obsolète.

$ aws swf deprecate-domain --name MyNeatNewDomain

Tout comme avec register-domain, aucune sortie n'est renvoyée. Si vous utilisez list-domains pourvoir les domaines inscrits, cependant, vous verrez que le domaine n'y figure plus.

$ aws swf list-domains --registration-status REGISTERED{ "domainInfos": [ { "status": "REGISTERED", "name": "ExampleDomain" }, { "status": "REGISTERED", "name": "mytest" } ]}

Vous pouvez afficher les domaines obsolètes en utilisant --registration-status DEPRECATED aveclist-domains.

$ aws swf list-domains --registration-status DEPRECATED{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain"

92

Page 97: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateurUtilisation des domaines Amazon SWF

} ]}

Vous pouvez également utiliser describe-domain pour obtenir des informations sur un domaineobsolète.

$ aws swf describe-domain --name MyNeatNewDomain{ "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" }}

Voir aussi• deprecate-domain dans le manuel AWS CLI Command Reference• describe-domain dans le manuel AWS CLI Command Reference• list-domains dans le manuel AWS CLI Command Reference• register-domain dans le manuel AWS CLI Command Reference

93

Page 98: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

Dépannage des erreurs dans l'AWSCLI

Après avoir effectué l'installation à l'aide de pip, vous devrez peut-être ajouter l'exécutable aws à lavariable d'environnement PATH de votre système d'exploitation ou modifier son mode pour le rendreexécutable.

Erreur : aws: command not found

Vous devrez peut-être ajouter l'exécutable aws à la variable d'environnement PATH de votre systèmed'exploitation.

• Windows – Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 12)• macOS – Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 14)• Linux – Ajout de l'exécutable de l'AWS CLI à votre chemin de ligne de commande (p. 8)

Si aws fait partie de votre PATH et que cette erreur s'affiche quand même, le mode de fichier peut êtreincorrect. Essayez de l'exécuter directement.

$ ~/.local/bin/aws --version

Erreur : permission denied

Assurez-vous que le mode de fichier du script aws est exécutable. Par exemple, 755.

Exécutez chmod +x pour rendre le fichier exécutable.

$ chmod +x ~/.local/bin/aws

Erreur : AWS was not able to validate the provided credentials

Il est possible que l'AWS CLI lise les informations d'identification à partir d'un autre emplacement que celuique vous avez prévu. Exécutez aws configure list pour confirmer que les informations d'identificationcorrectes sont utilisées.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None Noneaccess_key ****************XYVA shared-credentials-filesecret_key ****************ZAGY shared-credentials-file region us-west-2 config-file ~/.aws/config

Si les informations d'identification correctes sont utilisées, l'erreur peut être due à un défaut desynchronisation de l'horloge. Sous Linux, macOS, or Unix, exécutez data pour vérifier l'heure.

date

Si l'horloge de votre système est désactivée, utilisez ntpd pour la synchroniser.

94

Page 99: AWS Command Line Interface · Résumé – liste des commandes et de leurs options. Si une option est affichée entre crochets, elle est ... Par exemple, sous Windows 7, un répertoire

AWS Command Line Interface Guide de l'utilisateur

sudo service ntpd stopsudo ntpdate time.nist.govsudo service ntpd startntpstat

Sous Windows, utilisez les options de date et d'heure du panneau de commande pour configurer votrehorloge système.

Erreur : An error occurred (UnauthorizedOperation) when calling the CreateKeyPair operation: You arenot authorized to perform this operation.

Votre utilisateur ou rôle IAM a besoin d'une autorisation pour appeler les actions d'API correspondantaux commandes que vous exécutez à l'aide de l'interface de ligne de commande AWS. La plupart descommandes appellent une seule action avec un nom qui correspond à celui de la commande ; cependant,les commandes personnalisées comme aws s3 sync peuvent appeler plusieurs API. Vous pouvez voirquelles API sont appelées par une commande à l'aide de l'option --debug.

95