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 plusieurs plates-formes telles que Windows, Linux et macOS et fournit un accès direct aux API publiques pour AWS. De plus, l'automatisation des tâches d'infrastructure fastidieuses est facilement possible dans un environnement CLI.

Versions de l'AWS CLI

L'AWS CLI a deux versions principales disponibles, c'est-à-dire la version 1.x, qui est disponible pour la compatibilité descendante tandis que la version 2.x est la version générale actuelle disponible et est destinée à une utilisation en production. Il n'est pas complètement rétrocompatible et, par conséquent, les scripts qui utilisent la version 1 de l'AWS CLI peuvent ne pas être compatibles avec la version 2.

Installer l'AWS CLI

Ici, nous couvrirons l'installation de l'AWS CLI sur différentes plates-formes. Étant donné que la version 2.x est la version générale disponible au moment de la rédaction de cet article, nous ne couvrirons que l'installation de celle-ci.

Linux

La méthode officielle d'installation de l'AWS CLI sur les systèmes Linux est disponible via un package ZIP. Il nécessite un système Linux 64 bits/ARM et suppose que le système a déjà unzip, glibc, groff et less packages installés et disponibles pour utilisation. Toutes les principales distributions Linux sont prises en charge comme CentOS, Fedora, Ubuntu et Amazon Linux.

Pour installer la dernière version de l'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 macOS de l'AWS CLI est officiellement proposée dans l'interface graphique ainsi que dans les méthodes CLI. Pour suivre la voie de l'interface graphique, 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 package 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 exigences d'installation normales.

Si vous souhaitez effectuer l'installation à l'aide de la CLI, sur un nouveau numéro de terminal, ci-dessous les commandes pour télécharger et installer la dernière version de l'AWS CLI :

$ 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 à l'échelle du système. Si vous souhaitez installer en tant qu'utilisateur local sans droits d'administrateur, il existe une solution de contournement officielle simple.

Vous devez créer un XML fichier qui fournira un chemin /Users/myusername où vous souhaitez installer l'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>

Ensuite, vous pouvez procéder au téléchargement du dernier package d'installation en utilisant curl comme:

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

Une fois que vous avez le paquet et le XML fichier de configuration prêt, l'AWS CLI peut être installée pour l'utilisateur local à l'aide de :

$ installer -pkg AWSCLIV2.pkg \
            -target CurrentUserHomeDirectory \
            -applyChoiceChangesXML choices.xml

Ici AWSCLIV2.pkg est le package que nous avons téléchargé lors d'une étape précédente en utilisant curl et -target spécifie que l'installation est pour l'utilisateur local et -applyChoiceChangesXML indique essentiellement au programme d'installation que nous utiliserons des choix personnalisés contenant notre chemin d'installation relatif /Users/myusername ou quel que soit le chemin du répertoire local spécifié dans le XML.

Comme dernière étape, exécutez les commandes suivantes pour créer les liens symboliques requis par l'AWS CLI pour fonctionner correctement.

$ 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 inclut un répertoire dans lequel vous pouvez écrire et que vous spécifiez ce répertoire comme chemin de la cible, vous pouvez exécuter la commande ci-dessus sans sudo. Mais si vous n'avez pas de répertoire accessible en écriture dans votre $PATH, Tu dois utiliser sudo pour les autorisations d'écriture 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

Windows

Pour une installation Windows, l'AWS CLI v2 nécessite une version Windows 64 bits ou ultérieure et des droits d'administrateur pour l'installation.

Le dernier package d'installation de Windows peut être téléchargé à partir de : https://awscli.amazonaws.com/AWSCLIV2.msi et lancé avec les droits d'administrateur pour que l'installation se termine.

Alternativement, vous pouvez utiliser misexec dans CLI pour 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 l'AWS CLI sur votre système d'exploitation local et que vous avez accès à Docker, il suffit d'une seule commande pour exécuter les commandes de l'AWS CLI en tant que :

$ docker run --rm -it amazon/aws-cli command

De command est la commande AWS CLI à exécuter. La commande ci-dessus lancera un conteneur avec la configuration requise de l'AWS CLI et procédera directement à l'exécution de la commande spécifiée et se terminera une fois l'opération terminée.

Il existe de nombreuses options pour utiliser vos informations d'identification, votre configuration et vos variables d'environnement AWS CLI existantes en tant qu'entrée pour le conteneur, ce qui le rend d'autant plus utilisable et portable. Il y a aussi un alias option pour raccourcir la longue commande docker à 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 cela fait, vous pouvez l'utiliser comme :

$ aws --version
aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10

Facile et semble mieux. En savoir plus sur l'offre et les possibilités basées sur l'AWS CLI 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 avec les tâches répétitives et ouvre finalement la porte à l'automatisation et à la gestion L'infrastructure comme code (IaC). Vous avez appris comment l'installer sur différentes plates-formes. Dans une prochaine étape, vous pouvez lire ici sur la façon de le configurer pour l'utiliser avec votre compte AWS.