From 6e604cfac4e678e22f87eccc5f2286e0c97d908a Mon Sep 17 00:00:00 2001 From: Alexis Ben Miloud--Josselin Date: Tue, 9 Apr 2024 16:21:36 +0200 Subject: [PATCH] Fusionner page AWS --- HowtoAWS.md | 150 ++++++++++++++++++++++++++++++++++++++++- HowtoAWS/AWS-CLI.md | 42 ------------ HowtoAWS/Amazon-EC2.md | 88 ------------------------ HowtoAWS/Amazon-S3.md | 29 -------- 4 files changed, 149 insertions(+), 160 deletions(-) delete mode 100644 HowtoAWS/AWS-CLI.md delete mode 100644 HowtoAWS/Amazon-EC2.md delete mode 100644 HowtoAWS/Amazon-S3.md diff --git a/HowtoAWS.md b/HowtoAWS.md index 5a1027b2..87ea07c7 100644 --- a/HowtoAWS.md +++ b/HowtoAWS.md @@ -1,5 +1,5 @@ --- -categories: cloud amazon aws ec2 +categories: cloud amazon aws ec2 s3 awscli title: Howto AWS ... @@ -26,6 +26,10 @@ Un Security Group est équivalent à un pare-feu pour un ensemble d'instances (E * * +## Présentation + +Amazon Elastic Compute Cloud (Amazon EC2) est la partie système pure (*compute*). + ## Opération sur les instances EC2 ### Installation de l'API d'Amazon EC2 @@ -57,6 +61,10 @@ bin/ec2-describe-images -a ~~~ NOTE : pour exécuter les commandes EC2, il faut se trouver à la racine du répertoire d'installation. +## 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). + ### Stocker une AMI sur un EBS Voici la procédure à suivre : @@ -312,8 +320,148 @@ Sur les frontaux web il faudra penser à mettre en place le mod remoteip pour Ap Les instances EC2 sont limitées en envoi de mail par le port 25. Il est possible de demander la levée de ces limites : +## 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 +~~~ + ## FAQ ### Test accessibilité réseau Pour vérifier l'accès à Amazon : et vérifier l'affichage de l'icône "vert". + +# 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 + +~~~ +# apt install awscli +~~~ + +> On peut aussi installer `awscli` avec `pip`. + +## 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] +~~~ + +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 exécutée depuis une instance AWS, certaines de ces infos sont dynamiquement accessibles depuis [des API de méta-données](#meta-données). + +# Amazon S3 + +* Présentation : +* Documentation : + +## Présentation + +Amazon Simple Storage Service (Amazon S3) fournit un espace de +stockage via une interface REST (donc web). On peut y accéder via +l'espace client d'Amazon ou via des clients. + +C'est de l'object storage. Donc chaque fichier qu'on met dedans est un +objet. Cet objet contient les données et les meta-données. On ne peut +pas créer de dossier mais les noms de objet peuvent contenir des slash +("/") et ainsi on peut créer une arborescence virtuelle. En réalité +tous les objets sont stockés au même niveau. On stocke les objets dans +un *bucket*. + +Pour plus de détails voir la [page wikipedia en +anglais](https://en.wikipedia.org/wiki/Object_storage). + +## Clients + +* L'outil cli d'amazon +* S3cmd +* Minio Client (mc) +* Rclone diff --git a/HowtoAWS/AWS-CLI.md b/HowtoAWS/AWS-CLI.md deleted file mode 100644 index 612fafce..00000000 --- a/HowtoAWS/AWS-CLI.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -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] -~~~ - -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). diff --git a/HowtoAWS/Amazon-EC2.md b/HowtoAWS/Amazon-EC2.md deleted file mode 100644 index 4e1e9cc2..00000000 --- a/HowtoAWS/Amazon-EC2.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -categories: Amazon -title: Amazon-EC2 -... - -* Présentation : -* Documentation : - -## Présentation - -Amazon Elastic Compute Cloud (Amazon EC2) est la partie système pure -(*compute*). - -## 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). - -## 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 -~~~ diff --git a/HowtoAWS/Amazon-S3.md b/HowtoAWS/Amazon-S3.md deleted file mode 100644 index b82c164e..00000000 --- a/HowtoAWS/Amazon-S3.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -categories: Amazon -title: Amazon-S3 -... - -* Présentation : -* Documentation : - -# Présentation - -Amazon Simple Storage Service (Amazon S3) fournit un espace de -stockage via une interface REST (donc web). On peut y accéder via -l'espace client d'Amazon ou via des clients. - -C'est de l'object storage. Donc chaque fichier qu'on met dedans est un -objet. Cet objet contient les données et les meta-données. On ne peut -pas créer de dossier mais les noms de objet peuvent contenir des slash -("/") et ainsi on peut créer une arborescence virtuelle. En réalité -tous les objets sont stockés au même niveau. On stocke les objets dans -un *bucket*. - -Pour plus de détails voir la -[page wikipedia en anglais](https://en.wikipedia.org/wiki/Object_storage). - -# Clients - -* L'outil cli d'amazon -* S3cmd -* Minio Client (mc)