AWS
Jeff Bezos peut te fournir à souhait (tant que ton porte-monnaie est suit).
[AWS] S3
Introduction
Le service S3 pour Simple Service Storage, initialement proposé par Amazon, est un service de stockage en objets.
Les fichiers sont répartis dans des compartiments sous forme d'objets.
Le stockage est donc généralement à bas coût et le tarif est calculé au Go ainsi qu'à la bande passante utilisée.
Console s3
Monter un compartiment s3 sur Linux
- Installez le paquet s3fs :
sudo apt install -y s3fs
- Générez les clés d'accès depuis la console :
https://console.aws.amazon.com/iam/home?#/security_credentials
- Ensuite, téléchargez et récupérez le fichier .csv contenant vos identifiants. Puis lancez la commande suivante :
echo <ACCESS_KEY>:<SECRET_ACCESS_KEY> > <KEYS_FILE>
- Ajustez les droits sur le fichier clé :
chmod 600 <KEYS_FILE>
- Créez le dossier du point de montage du compartiment s3 :
mkdir <MOUNT_POINT>
- Montez le compartiment s3 :
s3fs <BUCKET_NAME> <MOUNT_POINT> -o passwd_file=<KEYS_FILE>
- Ajoutez la ligne suivante au fichier /etc/fstab pour monter le compartiment au démarrage (facultatif) :
s3fs <BUCKET_NAME> <MOUNT_POINT> -o passwd_file=<KEYS_FILE>
[AWS] EC2
Introduction
EC2 pour Elastic Compute Cloud est un service web d'Amazon permettant de déployer des instances dîtes as a service.
Installation des prérequis
Deux paquets sont nécessaire à la manipulation des instances et des fichiers JSON pour AWS : aws-cli et jq.
Ils sont tous deux à installer selon votre OS.
Types d'instances
La liste complète des types d'instances est disponible ici : https://aws.amazon.com/fr/ec2/instance-types/
Liste AMI
Pour explorer la liste des AMI : https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#LaunchInstances:
Images | ID |
AMI Amazon Linux 2023 | ami-0f34c5ae932e6f0e4 |
Ubuntu 22.04 | ami-053b0d53c279acc90 |
Debian 11 | ami-01e5ff16fd6e8c542 |
RHEL 9 | ami-02978b79564e08f2f |
Déploiement en CLI
Création d'une clé d'accès SSH
aws ec2 create-key-pair --key-name <ACCESS_KEY_LABEL> --query 'KeyMaterial' --output text > <KEY.pem>
Configuration des accès IAM
Depuis la console IAM, créer un utilisateur CLI ayant les droits puis récupérer l'ACCESS KEY ID ainsi que l'ACCESS SECRET KEY (affichable uniquement à la création) :
Puis, configurer les paramètres d'AWS grâce aux commandes suivantes :
aws configure set aws_access_key_id <ACCESS_KEY_ID>
aws configure set aws_secret_access_key <ACCESS_SECRET_KEY>
La liste des régions est consultable à cette adresse :
Ex : us-east-1
aws configure set default.region <REGION>
aws configure set output json
Déploiement de l'instance
aws ec2 run-instances --image-id <AMI_ID> --instance-type <INSTANCE_TYPE> --security-group-ids <SG_ID> --key-name <ACCESS_KEY_LABEL> > <OUTPUT>.json
- <AMI_ID> : Image à utiliser (Amazon Linux, Ubuntu, Debian, Windows Server).
- <INSTANCE_TYPE> : Configuration de l'instance (ex : t2.micro).
- <ACCESS_KEY_LABEL> : Label de la clé d'accès SSH créé précédemment.
- <SG_ID> : ID du groupe de sécurité configurable depuis la console EC2.
- <OUTPUT> : Nom du fichier de sortie (important pour récupérer les informations de l'instance).
Informations sur l'instance
Avec l'ID de l'instance stockée dans le fichier json, il est possible d'obtenir l'adresse IP public de l'instance grâce à la commande suivante :
aws ec2 describe-instances --instance-ids $( jq -r '.Instances[0].InstanceId' <OUTPUT>.json ) | jq -r '.Reservations[0].Instances[0].PublicIpAddress'