Maîtrisez l'utilisation de la CLI AWS
Un petit billet pour installer et configurer aux petits oignons la CLI d’AWS. En effet, il existe quelques astuces qui vont vous permettre de vous faciliter la vie avec son utilisation. Mais avant voyons comment l’installer et la configurer.
Installation de la CLI AWS
La CLI d’AWS est écrite en Python et donc il faut bien sûr l’installer
auparavant. Vous savez que j’adore l’utilisation d’asdf
qui permet d’installer
plusieurs versions d’un même outil sur ma machine et couplé avec direnv
que
du bonheur. Mais voyons ensemble comment l’installer classiquement sur les
différents OS.
Installation d’AWS CLI sur Linux
Installation de la CLI d’AWS sur MacOS
Télécharger le package ↗ depuis votre navigateur, puis installez-le.
Installation d’AWS CLI sur Windows
Télécharger le package ↗ depuis votre navigateur et installez-le.
Installation de la CLI AWS avec asdf
Configuration de la CLI d’AWS
La configuration de la CLI se trouve dans le dossier ~/.aws
. Pour configurer l’accès à votre compte AWS, il suffit soit :
- d’utiliser la commande
aws configure
et d’entrer les informations demandées : AWS Acces Key ID, … - d’éditer directement les fichiers
~/.aws/config
et~/.aws/credentials
.
Le contenu du fichier ~/.aws/config
.
Et le ~/.aws/credentials
.
Utilisation de plusieurs profils
Il suffit d’ajouter une section dans chacun des fichiers et d’ya ajouter les informations d’authentification.
Le contenu du fichier ~/.aws/config
.
Et le ~/.aws/credentials
.
Ensuite, il suffira soit :
- d’utiliser l’option
--profile
.
- d’exporter la variable d’environnement
AWS_PROFILE
.
La seconde solution à ma préférence et comme je travaille avec de multiples comptes client, l’utilisation d’asdf + direnv me facilite grandement la vie.
Quelques Tips
Filtrer les données
La CLI d’AWS possède de mode de filtrage : un coté server --filter
et un coté client --query
.
Filtrage coté server
Filtrage coté client
Les requêtes utilisent la syntaxe JMESpath ↗.
Combiner les deux
Il est possible de combiner les deux modes :
Utiliser l’autoprompt
Vous débutez avec l’utilisation de la CLI D’AWS et vous cherchez tout le temps les commandes et options de celle-ci ? Sachez qu’il existe un mode autoprompt
:
Ou alors d’utiliser la varaible d’environnement : AWS_CLI_AUTO_PROMPT=on
.
Il suffit ensuite d’utiliser les touches fléchées pour sélectionner les options. De même pour retrouver une option, tapez un mot clé pour filtrer celles-ci :
Dans l’image ci-dessus, vous remarquerez que qu’il est possible d’utiliser les touches de fonction [F3] pour obtenir de la documentation
Changer de pager
Par défaut la cli d’aws utilise less
pour paginer les sorties. Cela me pose des problèmes pour faire des copier/coller. Pour le désactiver, vous avez le choix d’utiliser :
- soit l’option
--no-cli-pager
. - soit via la variable
AWS_PAGER
="". - soit dans le fichier de configuration ~/.aws/config:
Créer des alias
Même si je suis réfractaire à l’utilisation d’alias, sachez que la CLI d’AWS permet de créer des alias. Ses alias ne se font pas au niveau du shell, mais bien dans la configuration de la CLI.
Pour cela, il suffit de créer un fichier dans le répertoire ~/.aws/cli
se nommant alias
, dont voici un exemple de contenu :
L’alias whoami
permet d’utiliser la commande aws whoami
au lieu de aws sts get-caller-identity
:
AWS fournit un exemple de fichier alias que vous pouvez utiliser directement comme base.
Utilisation de commande bash dans les alias aws-cli
Pour intégrer des commandes bash dans les alias, il faut utiliser ce format d’écriture :
Prenons un exemple du fichier fourni par AWS, étudions le :
Cette commande bash
permet simplement de rechercher votre adresse ip actuelle. Comment l’intégrer dans un autre alias ? Il suffit créer des variables. Un exemple :
L’alias allow-my-ip
permet d’ajouter une règle dans un groupe de sécurité du nom ${1} sur le port 22 du protocole tcp
.
Plus loin
Vous avez d’autres tips, alors partagez les moi je les ajouterai. Merci d’avance.