Interface de ligne de commande AWS - AWS CLI

Présentation

L'AWS Command Line Interface (AWS CLI) est un outil à code source libre qui permet d'interagir avec les services AWS à l'aide des commandes du terminal de ligne de commande.

Toutes les fonctions AWS d'administration, de gestion et d'accès IaaS (infrastructure en tant que service) du AWS Management Console sont disponibles dans l'API AWS et AWS CLI.

L'AWS CLI fournit un accès direct aux API publiques des services AWS.

La AWS CLI version 2 est la version majeure la plus récente de AWS CLI et prend en charge toutes les dernières fonctionnalités.

Lien : https://docs.aws.amazon.com/fr_fr/cli/latest/userguide/cli-chap-welcome.html

Recommandations

Afin de renforcer la sécurité du compte AWS, il est recommandé de ne pas utiliser les informations d'identification du compte root AWS. Il est préférable de créer et d'utiliser un utilisateur disposant du moindre privilège pour fournir des informations d'accès aux tâches à exécuter.

Installation de AWS CLI 2

Lien vers la documentation d'installation : https://docs.aws.amazon.com/fr_fr/cli/latest/userguide/getting-started-install.html

Vérifier l'installation de Docker:

PS> aws --version aws-cli/2.13.1 Python/3.11.4 Windows/10 exe/AMD64 prompt/off

Utiliser les images officielles de AWS CLI 2 d'Amazon ECR Public/Docker Hub

Les images officielles offrent une isolation, une portabilité et une sécurité qui directement prises en charge et maintenues par AWS. Cela permet d'utiliser la AWS CLI version 2 dans un environnement basé sur des conteneurs sans avoir à gérer soi-même l'installation.

Prérequis

Vérifiez que Docker est installé.

PS> docker --version Docker version 24.0.2, build cb74dfc

Installation depuis Amazon ECR Public

L'image officielle d'Amazon ECR Public AWS CLI version 2 est hébergée sur Amazon ECR Public dans le référentiel aws-cli/aws-cli.

Lien : https://gallery.ecr.aws/aws-cli/aws-cli

Format des commandes AWS CLI en utilisant le conteneur aws-cli/aws-cli

PS> docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command

Explications :

–rm : précise qu'il faut nettoyer le conteneur après la fin de la commande.

-it : précise qu'il faut ouvrir un pseudo termina qui permet de fournir des informations à la AWS CLI version 2 lorsqu'elle s'exécute dans un conteneur.

Pour exécuter des scripts, le paramètre -it- n'est pas nécessaire.

Installation depuis Docker Hub

PS> docker run --rm -it amazon/aws-cli --version

Partager des fichiers avec le système hôte

le paramètre -v ~/.aws:/root/.aws permet de montez le répertoire ~/.aws du système hôte sur le conteneur à l'adresse /root/.aws. Cela est nécessaire car le conteneur AWS CLI ne peut pas accéder par défaut au système de fichiers hôte notamment pour accéder à la configuration et les informations d'identification du fichier hôte.

Linux et macOS

$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command

Invite de commande Windows

C:\> docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command

PowerShell Windows

PS> docker run --rm -it -v $env:userprofile\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command

Raccourcir la commande docker run

Définir un alias aws poru la commande Docker qui exécute le conteneur amazon/aws-cli

Linux et macOS

$ alias aws='docker run --rm -it amazon/aws-cli'

Invite de commande Windows

C:\> doskey aws=docker run --rm -it amazon/aws-cli $*

PowerShell Windows

C:\> Function AWSCLI {docker run --rm -it amazon/aws-cli $args} Set-Alias -Name aws -Value AWSCLI

Retour au menu Solution AWS

Solution AWS