# 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. [![Untitled-5-1_1309563853a.webp](https://wiki.neopipe.fr/uploads/images/gallery/2023-07/scaled-1680-/untitled-5-1-1309563853a.webp)](https://wiki.neopipe.fr/uploads/images/gallery/2023-07/untitled-5-1-1309563853a.webp) ## Console s3 - [https://s3.console.aws.amazon.com/](https://s3.console.aws.amazon.com/) ## Monter un compartiment s3 sur Linux - Installez le paquet **s3fs** : ```bash 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](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 : ```bash echo : > ``` - Ajustez les droits sur le fichier clé : ```bash chmod 600 ``` - Créez le dossier du point de montage du compartiment s3 : ```bash mkdir ``` - Montez le compartiment s3 : ```bash s3fs -o passwd_file= ``` - Ajoutez la ligne suivante au fichier **/etc/fstab** pour monter le compartiment au démarrage (*facultatif*) : ``` s3fs -o passwd_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. ## [![ec2-1.webp](https://wiki.neopipe.fr/uploads/images/gallery/2023-08/scaled-1680-/ec2-1.webp)](https://wiki.neopipe.fr/uploads/images/gallery/2023-08/ec2-1.webp) ## 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/](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:](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#LaunchInstances:)
**Images****ID**
AMI Amazon Linux 2023ami-0f34c5ae932e6f0e4
Ubuntu 22.04ami-053b0d53c279acc90
Debian 11ami-01e5ff16fd6e8c542
RHEL 9ami-02978b79564e08f2f
## Déploiement en CLI #### Création d'une clé d'accès SSH ```bash aws ec2 create-key-pair --key-name --query 'KeyMaterial' --output text > ``` #### 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) : - [https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) Puis, configurer les paramètres d'AWS grâce aux commandes suivantes : ```bash aws configure set aws_access_key_id ``` ```bash aws configure set aws_secret_access_key ``` La liste des régions est consultable à cette adresse : - [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html) Ex : **us-east-1** ```bash aws configure set default.region ``` ```bash aws configure set output json ``` #### Déploiement de l'instance ```bash aws ec2 run-instances --image-id --instance-type --security-group-ids --key-name > .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é](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#SecurityGroups:) 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 : ```bash aws ec2 describe-instances --instance-ids $( jq -r '.Instances[0].InstanceId' .json ) | jq -r '.Reservations[0].Instances[0].PublicIpAddress' ```