L'interface de ligne de commande AWS (Command Line Interface ou CLI) est un ensemble d'outils open-source qui vous permet de gérer et d'automatiser les services AWS à l'aide de commandes.
CLI AWS prend en charge de multiples plateformes telles que Windows, Linux et macOS et offre un accès direct aux API publiques d'AWS. En outre, l'automatisation des tâches d'infrastructure fastidieuses est facilement réalisable dans un environnement CLI.
Versions de l'interface de programmation AWS
AWS CLI dispose de deux versions principales, à savoir la version 1.x, qui est disponible pour la rétrocompatibilité, et la version 2.x, qui est la version générale actuellement disponible et qui est destinée à une utilisation en production. Elle n'est pas totalement rétrocompatible et les scripts qui utilisent la version 1 de l'AWS CLI peuvent donc ne pas être compatibles avec la version 2.
Installer le CLI AWS
Nous allons ici couvrir l'installation d'AWS CLI sur différentes plateformes. La version 2.x étant la version générale disponible au moment de la rédaction de ce document, nous ne couvrirons que l'installation de cette version.
Linux
La méthode officielle d'installation d'AWS CLI sur les systèmes basés sur Linux est disponible via un paquet ZIP. Elle nécessite un système Linux 64 bits/ARM et suppose que le système dispose déjà des éléments suivants unzip
, glibc
, groff
et less
installés et disponibles. Toutes les grandes distributions Linux sont prises en charge, comme CentOS, Fedora, Ubuntu et Amazon Linux.
Pour installer la dernière version d'AWS CLI sur Linux x86 (64 bits), utilisez les commandes suivantes :
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Pour confirmer la réussite de l'installation, exécutez :
$ aws --version
aws-cli/2.2.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0
macOS
L'installation d'AWS CLI sur macOS est officiellement proposée dans les méthodes GUI et CLI. Pour choisir la méthode GUI, téléchargez la dernière version du package AWS CLI à partir du lien suivant : https://awscli.amazonaws.com/AWSCLIV2.pkg et double-cliquez sur le paquet téléchargé pour lancer le programme d'installation.
Suivez les instructions à l'écran pour terminer l'installation. La plupart des options peuvent être laissées par défaut pour les besoins d'une installation normale.
Si vous souhaitez effectuer l'installation à l'aide du CLI, dans un nouveau terminal, exécutez les commandes ci-dessous pour télécharger et installer la dernière version du CLI AWS :
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
sudo
dans la commande ci-dessus est nécessaire si vous envisagez de l'installer sur l'ensemble du système. Si vous souhaitez l'installer en tant qu'utilisateur local sans droits d'administrateur, il existe une solution de contournement officielle simple.
Vous devez créer un XML
qui fournira un chemin d'accès /Users/myusername
où vous souhaitez installer AWS CLI. Ce chemin doit être un répertoire existant ou créé avant de lancer le programme d'installation, sinon il échouera.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>choiceAttribute</key>
<string>customLocation</string>
<key>attributeSetting</key>
<string>/Users/myusername</string>
<key>choiceIdentifier</key>
<string>default</string>
</dict>
</array>
</plist>
Vous pouvez ensuite télécharger le dernier paquet d'installation en utilisant la fonction curl
comme :
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
Une fois que vous avez le paquet et le XML
prêt, AWS CLI peut être installé pour l'utilisateur local en utilisant le fichier de configuration :
$ installer -pkg AWSCLIV2.pkg \
-target CurrentUserHomeDirectory \
-applyChoiceChangesXML choices.xml
Ici AWSCLIV2.pkg
est le paquet que nous avons téléchargé dans une étape précédente à l'aide de curl
et -target
spécifie que l'installation est destinée à l'utilisateur local et -applyChoiceChangesXML
indique en fait à l'installateur que nous utiliserons des choix personnalisés contenant notre chemin d'installation relatif /Users/myusername
ou quel que soit le chemin d'accès au répertoire local spécifié dans le fichier XML
.
La dernière étape consiste à exécuter les commandes suivantes pour créer les liens symboliques nécessaires au bon fonctionnement d'AWS CLI.
$ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
$ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
Si votre $PATH
comprend un répertoire dans lequel vous pouvez écrire et que vous spécifiez ce répertoire comme chemin d'accès à la cible, vous pouvez exécuter la commande ci-dessus sans l'option sudo
. Mais si vous n'avez pas de répertoire accessible en écriture dans votre fichier $PATH
vous devez utiliser sudo
pour obtenir les autorisations d'écrire dans le dossier cible spécifié. L'emplacement par défaut d'un lien symbolique est /usr/local/bin/
.
Pour vérifier l'installation, utilisez :
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.1.29 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0
Fenêtres
Pour une installation sous Windows, AWS CLI v2 nécessite une version Windows 64 bits ou ultérieure et des droits d'administrateur pour l'installation.
Le dernier paquet d'installation de Windows peut être téléchargé à partir du site : https://awscli.amazonaws.com/AWSCLIV2.msi et lancé avec des droits d'administrateur pour que l'installation se termine.
Vous pouvez également utiliser misexec
dans CLI pour l'installer sur la ligne de commande en tant que :
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
Vous pouvez utiliser aws --version
dans une invite de commande pour vérifier l'installation.
C:\>aws --version
aws-cli/2.2.7 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
Docker
Enfin, si vous ne souhaitez pas installer AWS CLI sur votre système d'exploitation local et que vous avez accès à l'application DockerIl suffit d'une seule commande pour exécuter les commandes CLI d'AWS :
$ docker run --rm -it amazon/aws-cli command
où command
est la commande AWS CLI à exécuter. La commande ci-dessus lancera un conteneur avec la configuration CLI AWS requise et procédera directement à l'exécution de la commande spécifiée et sortira une fois qu'elle sera terminée.
Il existe un grand nombre d'options permettant d'utiliser vos identifiants AWS CLI, votre configuration et vos variables d'environnement en tant qu'entrées pour le conteneur, ce qui le rend d'autant plus utilisable et portable. Il y a aussi un alias
pour raccourcir la longue commande docker en quelque chose de simple et compréhensible, comme pour l'utilisation d'un hôte Linux :
$ alias aws='docker run --rm -it amazon/aws-cli'
Assurez-vous d'ajouter la commande ci-dessus dans le fichier de profil de votre shell pour la persistance. Une fois que c'est fait, vous pouvez l'utiliser comme suit :
$ aws --version
aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10
Facile et plus esthétique. En savoir plus sur l'offre et les possibilités de l'AWS CLI basé sur Docker ici.
Résumé
AWS CLI offre une expérience basée sur les commandes pour gérer votre infrastructure AWS avec une facilité de contrôle, en particulier pour les tâches répétitives, et ouvre finalement la porte à l'automatisation et à la gestion. L'infrastructure en tant que code (IaC). Vous avez appris comment l'installer sur différentes plateformes. Pour l'étape suivante, vous pouvez lire ici pour savoir comment le configurer pour l'utiliser avec votre compte AWS.