Au lieu de nous en plaindre, essayons de limiter notre attention à un petit ensemble de services qu'une organisation utilise généralement. Cela peut être ECS, AWS Lambda, S3 ou EC2. Une façon de le faire est d'utiliser l'AWS CLI. Il vous offre un moyen d'intégrer facilement l'interface AWS à votre flux de travail quotidien. Une fois que vous avez surmonté l'obstacle initial de la configuration de l'interface de ligne de commande et que vous vous êtes habitué à quelques commandes, cela vous fera gagner des heures et des heures. Du temps que vous pouvez consacrer à des activités beaucoup plus agréables.
Conditions préalables
Ce tutoriel suppose que vous avez déjà un compte AWS. Il peut s'agir d'un compte d'utilisateur IAM avec accès programmatique émis par votre organisation. Si vous avez votre propre compte personnel avec AWS, alors n'utilisez pas vos informations d'identification racine AWS pour l'interface de ligne de commande! Au lieu de cela, créez un utilisateur IAM avec un accès par programmation pour tous les éléments liés à la CLI. Au moment de décider de la politique que vous attacherez à ce nouvel utilisateur, pensez à ce que vous voulez faire avec ce compte.
La politique la plus permissive est celle de l'accès administratif, que j'utiliserai. Lorsque vous créez un utilisateur IAM, un nom d'utilisateur, un ID d'accès et une clé d'ID secrète lui sont attribués. Gardez ces deux derniers confidentiels.
Pour mon environnement local, j'utiliserai Ubuntu 18.04 LTS.
Installation de l'AWS CLI
Ubuntu 18.04 LTS est livré avec Python 3.6 préinstallé et vous pouvez installer le gestionnaire de packages pip en l'exécutant (si vous souhaitez un package apt pour la CLI, lisez ci-dessous pour une note à ce sujet):
$ sudo apt installer python3-pipSi vous utilisez Python 2.6 ou antérieur, puis remplacez python3-pip par python-pip. AWS CLI est expédié sous forme de paquet pip, nous en aurons donc besoin. Une fois installé, utilisez pip pour installer le cli.
$ pip3 installer awscliEncore une fois, si vous utilisez Python 2, remplacez pip3 par pip. Si vous le souhaitez, vous pouvez utiliser sudo apt install awscli pour installer également aws cli. Vous aurez quelques révisions en retard mais ça va. Une fois installé, relancez la session bash.
Configuration de l'environnement
En supposant que vous n'ayez pas vos clés d'accès IAM, vous pouvez soit demander à l'utilisateur racine AWS de votre organisation d'en créer une pour vous ou si vous utilisez votre propre compte personnel et êtes votre propre administrateur racine, puis ouvrez la console IAM dans votre navigateur.
Allez dans l'onglet "Utilisateurs" et sélectionnez le compte d'utilisateur que vous souhaitez utiliser pour accéder à la CLI. Allez dans « Identifiants de sécurité » et créez clef d'accès et clé d'accès secrète. Ne partagez jamais cette clé avec qui que ce soit et assurez-vous de ne pas les pousser avec vos commits git, etc.
Utilisez ces touches car la commande ci-dessous vous invite à saisir leurs valeurs respectives :
$ aws configurerProduction:
ID de clé d'accès AWS [Aucun] : ADSLKFJAASDFKLJLGAClé d'accès secrète AWS [Aucune] : lkdsfh490IODSFOIsGFSD98+fdsfs/fs
Nom de région par défaut [Aucun] : us-west-2
Format de sortie par défaut [Aucun] : json
La valeur de la clé d'accès et de la clé secrète sera évidemment différente dans votre cas. En ce qui concerne la région, choisissez celle qui est la plus proche de vous (ou de vos utilisateurs). Pour la sortie, le format JSON convient. Une fois que vous avez entré des informations valides pour toutes les valeurs, votre CLI est prête à s'interfacer à distance avec AWS.
L'ID et le secret ainsi que d'autres paramètres de configuration sont stockés dans un sous-répertoire à l'intérieur de votre répertoire personnel ~/.aws. Assurez-vous qu'il ne soit pas compromis. S'il est compromis, révoquez immédiatement l'ID et la clé associée à l'aide de la console IAM.
Pour vous connecter à différentes machines, vous pouvez toujours en créer d'autres.
Utilisation de l'interface de ligne de commande
C'est la partie où vous devez parcourir les pages de manuel. Heureusement, la CLI est bien documentée. Chaque service est sa propre commande, puis diverses actions que vous pouvez effectuer à l'aide de ce service particulier sont répertoriées dans sa propre section d'aide.
Pour mieux illustrer ce point, commençons par :
$ aws aideSi vous faites défiler la page de sortie vers le bas, vous verrez tous les services répertoriés :
Production:
SERVICES DISPONIBLESo acm
o acm-pca
o alexaforbusiness
o passerelle
.
.
.
ou dynamodb
o les flux dynamiques
o ec2
o ecr
o ecs
o efs
o eks
Maintenant, disons que vous souhaitez utiliser le service Amazon EC2 pour lancer vos instances EC2. Vous allez plus loin en allant sur :
$ aws ec2 aideCela vous donnera toutes sortes de sous-commandes que vous pourrez utiliser pour créer des instantanés, lancer des flottes de machines virtuelles, gérer des clés SSH, etc. Cependant, ce que votre demande exigerait est quelque chose dont vous devez décider. Bien entendu, la liste des commandes, sous-commandes et arguments valides pouvant être utilisés est en fait assez longue. Mais vous n'aurez probablement pas à utiliser toutes les options.
Conclusion
Si vous débutez, je vous recommande de commencer par la console pour lancer diverses instances et les gérer. Cela vous donnera une assez bonne idée de l'option à rechercher lors de l'utilisation de la CLI. Finalement, à mesure que vous utilisez de plus en plus la CLI, vous pouvez commencer à écrire des scripts pour automatiser l'ensemble du processus de création, de gestion et de suppression des ressources.
Ne vous forcez pas à l'apprendre. Ces choses prennent du temps à s'enfoncer.