18
0
Fork 0

Ajout d'infos pour AWS EC2 et CLI

This commit is contained in:
Jérémy Lecour 2019-03-06 18:24:49 +01:00 committed by Jérémy Lecour
parent dae8f45bc5
commit 14b844915d
2 changed files with 116 additions and 3 deletions

42
HowtoAmazon/AWS-CLI.md Normal file
View File

@ -0,0 +1,42 @@
---
categories: Amazon
title: AWS CLI
...
Amazon propose un outil en ligne de commande pour interagir avec ses outils AWS.
* Documentation : https://docs.aws.amazon.com/cli/latest/index.html
## Installation
Il s'agit d'un ensemble de scripts Python qui sont installable avec PIP mais surtout via un paquet Debian :
~~~
# apt install awscli
~~~
## Configuration
La commande `configure` de stocker dans un fichier les valeurs par défaut pour 4 options courantes.
~~~
$ aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
~~~
Si vous renseignez vos identifiants, ils seront stockés dans `~/.aws/credentials`. Vérifiez bien les permissions d'accès à ce fichier car ces identifiants donnent accès à l'ensemble des actions possibles sur AWS.
Il est possible de créer un ou plusieurs profils pour pré-enregistrer des options par compte. Il faudra ensuitre indiquer le nom du profil à utiliser au lancement des commandes.
~~~
$ aws --profile XXX configure
[…]
$ aws --profile XXX [options] <command> <subcommand>
~~~
L'option `--output` permet d'indiquer si on souhaite une sortie en `text`, `xml` ou `json`.
Lors des appels à des commandes, il peut être nécessaire de fournir l'identifiant de l'instance, le nom de la région… Si la commande est exacutée depuis une instance AWS, certaines de ces infos sont dynamiquement accessible depuis des [API de méta-données](Amazon-EC2).

View File

@ -6,11 +6,82 @@ title: Amazon-EC2
* Présentation : <https://aws.amazon.com/ec2/>
* Documentation : <https://aws.amazon.com/documentation/ec2/>
# Présentation
## Présentation
Amazon Elastic Compute Cloud (Amazon EC2) est la partie système pure
(*compute*).
# AMI Debian
## AMI Debian
Nous préférons utiliser les AMI préparées par l'équipe Debian. Leurs identifiants sont disponibles sur le [Wiki Debian](https://wiki.debian.org/Cloud/AmazonEC2Image), en particulier celles pour [Stretch](https://wiki.debian.org/Cloud/AmazonEC2Image/Stretch).
Nous préférons utiliser les AMI préparées par l'équipe Debian. Leurs identifiants sont disponibles sur le [Wiki Debian](https://wiki.debian.org/Cloud/AmazonEC2Image), en particulier celles pour [Stretch](https://wiki.debian.org/Cloud/AmazonEC2Image/Stretch).
## Meta-données
Une instance EC2 peut accéder à un ensemble de méta-données sur elle-même.
Elles sont accessible en HTTP par nom d'hôte (`instance-data`) ou adresse IP (`169.254.169.254`).
~~~
$ wget -q -O - http://instance-data/latest/meta-data/instance-id
i-0a534900aa4c582d7
~~~
La liste des informations accessibles :
* ami-id
* ami-launch-index
* ami-manifest-path
* block-device-mapping/
* events/
* hostname
* identity-credentials/
* instance-action
* instance-id
* instance-type
* local-hostname
* local-ipv4
* mac
* metrics/
* network/
* placement/
* profile
* public-hostname
* public-ipv4
* public-keys/
* reservation-id
* security-groups
Il est également possible d'y accéder via un outil plus haut niveau, généralement préinstallés sur les images d'Amzon, ou disponibles via le paquet `cloud-guest-utils`.
~~~
$ ec2metadata
ami-id: ami-0539351fee4a5a3b1
ami-launch-index: 0
ami-manifest-path: (unknown)
ancestor-ami-ids: unavailable
availability-zone: ap-southeast-1a
block-device-mapping: ami
ebs1
root
instance-action: none
instance-id: i-0a534900aa4c582d7
instance-type: t2.medium
local-hostname: ip-172-27-22-121.ap-southeast-1.compute.internal
local-ipv4: 172.27.22.121
kernel-id: unavailable
mac: unavailable
profile: default-hvm
product-codes: unavailable
public-hostname: ec2-18-164-130-102.ap-southeast-1.compute.amazonaws.com
public-ipv4: 18.164.130.102
public-keys: ['ssh-rsa […]']
ramdisk-id: unavailable
reserveration-id: unavailable
security-groups: foo-bar
user-data: unavailable
~~~
Il est possible de restreindre la commande :
~~~
$ ec2metadata --instance-id
i-0a534900aa4c582d7
~~~