Demande de solution
Déployer
une instance EC2 qui héberge une application web dans un nouveau VPC. Sécuriser
le VPC pour permettre aux ressources dans les sous-réseaux publics d’accéder à
internet mais limiter le trafic entrant au protocole HTTP.
Architecture
Objectifs
-
Créer
un VPC et quatre sous-réseaux
-
Créer
et attacher une passerelle Internet et une table de routage au VPC
-
Créer
un groupe de sécurité et une règle entrante pour autoriser le trafic http
-
Lancer
une instance Amazon EC2 dans un sous réseau public et initialiser l’application
web
Étape 0 : Connectez-vous à AWS
avec votre compte
Étape 1 : Créer le VPC et
quatre Subnets
Grâce
à Amazon Virtual Private Cloud (Amazon VPC), vous pouvez provisionner une
section logiquement isolée du cloud AWS dans laquelle vous pouvez lancer des
ressources AWS dans un réseau virtuel que vous définissez.
-
Dans
la zone de recherche de la barre de navigation supérieure, saisissez vpc. Dans
les résultats de la recherche, sous Services, cliquez sur VPC :
-
Sur
le tableau de bord VPC, cliquez sur Create VPC
Vous
pouvez utiliser Amazon VPC pour créer un réseau virtuel dans le cloud AWS, sans
VPN, matériel ni centre de données physique
-
Pour Resources to create, choisissez VPC only
-
Pour
Name tag, tapez : practice-vpc
-
Pour
IPv4 CIDR, tapez : 10.0.0.0/24
-
Cliquer
sur Create VPC
Les
adresses IP de votre Amazon Virtual Private Cloud (VPC) sont représentées à
l'aide de la notation CIDR (Classless Inter-Domain Routing). Un VPC doit avoir
un bloc CIDR IPv4 associé.
Lorsque
vous commencez à utiliser Amazon VPC, vous disposez d'un VPC par défaut dans
chaque région AWS. Un VPC par défaut est fourni avec un sous-réseau public dans
chaque zone de disponibilité, une passerelle Internet et des paramètres pour
activer la résolution DNS.
-
Copiez
le VPC ID puis Cliquez sur Edit VPC setting
-
Dans
la section DNS settings, cochez la case pour sélectionner Enable DNS
hostnames, puis cliquez sur Save.
![]()
-
Dans
le volet de navigation de gauche, cliquez sur Subnets, puis sur Create Subnet.
Le
Sous-réseau est une plage d'adresses IP dans votre VPC. Vous pouvez créer des
ressources AWS, telles que des instances EC2, dans des sous-réseaux
spécifiques. Chaque sous-réseau doit résider entièrement dans une zone de
disponibilité et ne peut pas s'étendre sur plusieurs zones.
-
Pour
VPC ID, choisissez practice-vpc.
-
Pour
Subnet name, tapez : public-a
-
Pour
Availability Zone, choisissez la zone de disponibilité dans la liste.
En
lançant des ressources AWS dans des zones de disponibilité distinctes, vous
pouvez protéger vos applications contre la défaillance d'une seule zone de
disponibilité. Par exemple us-east-1a.
-
Pour
IPv4 subnet CIDR block, saisissez : 10.0.0.0/28
Lorsque
vous créez un sous-réseau, vous spécifiez sa plage d'adresses IP
-
Cliquez
sur Add new subnet.
-
Pour
Subnet name, tapez : private-a.
-
Pour
Availability Zone, choisissez US East (N. Virginia) / us-east-1a.
-
Pour
IPv4 subnet CIDR block, tapez : 10.0.0.16/28
-
Cliquez
sur Add new subnet.
-
Pour
Subnet name, tapez : public-b.
-
Pour
Availability Zone, choisissez US East (N. Virginia) / us-east-1b.
-
Pour
IPv4 subnet CIDR block, tapez : 10.0.0.32/28.
-
Cliquez
sur Add new subnet
-
Pour
Subnet name, tapez : private-b.
-
Pour
Zone de disponibilité, choisissez US East (N. Virginia) / us-east-1b.
-
Pour
Bloc CIDR du sous-réseau IPv4, tapez : 10.0.0.48/28
-
Cliquez
sur Créer un sous-réseau.
Étape 2 : Créer la passerelle
et la table de routage
Une
passerelle Internet (Internet gateway) est un composant VPC à mise à l'échelle
horizontale, redondant et hautement disponible qui permet la communication
entre votre VPC et Internet.
-
Dans
le volet de navigation de gauche, cliquez sur Internet gateways.
-
Dans
la section Internet gateways, cliquez sur Create internet gateway.
-
Pour Name tag, tapez: practice-igw puis cliquez sur Create internet
gateway.
Internet
gateway fournit une cible dans vos tables de routage VPC pour le trafic
routable sur Internet. Pour la communication utilisant IPv4, l'internet gateway
effectue également une traduction d'adresses réseau (NAT).
-
Après
avoir créé la passerelle Internet, attachez-la à votre VPC et spécifiez-la
comme cible dans votre table de routage de sous-réseau pour le trafic IPv4 ou
IPv6 routable sur Internet. Cliquez sur le bouton Actions, puis dans la liste
déroulante Actions, choisissez Attach to VPC.
-
Pour
Available VPCs, dans la liste déroulante, choisissez le nom du VPC qui contient
practice-vpc.
-
Cliquez
sur Attach Internet gateway.
Votre
VPC a un routeur implicite et vous utilisez des tables de routage pour
contrôler l'endroit où le trafic réseau est dirigé.
-
Dans
la section Route tables, cliquez sur Create route table.
Chaque
sous-réseau de votre VPC doit être associé à une table de routage, qui contrôle
le routage pour le sous-réseau (table de routage de sous-réseau).
-
Pour
Name, tapez : practice-rtb
-
Pour
VPC, choisissez practice-vpc.
-
Cliquez
sur Create route table.
Vous
pouvez associer explicitement un sous-réseau à une table de routage spécifique.
Sinon, le sous-réseau est implicitement associé à la table de routage
principale.
-
Cliquez
sur l'onglet Subnet associations.
-
Cliquez
sur Edit subnet associations.
-
Cochez
les deux cases pour sélectionner les deux sous-réseaux publics.
-
Cliquez
sur Save associations.
Chaque
sous-réseau ne peut être associé qu'à une seule table de routage. Toutefois,
vous pouvez associer plusieurs sous-réseaux à la même table de routage.
- Dans
l'onglet Routes, cliquez sur Edit routes.
-
Cliquez
sur Add route.
-
Pour
Destination, choisissez la plage d'adresses 0.0.0.0/0.
-
Pour
Target, choisissez Internet Gateway.
-
Dans
la zone de recherche suivante, choisissez le passerelle Internet, practice-igw,
que vous avez créé dans une étape précédente.
-
Cliquez
sur Save changes.
Étape 3 : Créer le groupe de
sécurité
Un
groupe de sécurité agit comme un pare-feu virtuel qui contrôle le trafic pour
une ou plusieurs instances EC2
-
Dans
le volet de navigation de gauche, faites défiler vers le bas jusqu'à Security
Groups.
-
Cliquez
sur Security Groups.
-
Dans
la section Security Groups, cliquez sur Create security group.
-
Pour Security group name, tapez : practice-sg
-
Pour Description, tapez : WebServer security group
-
Pour
VPC, choisissez practice-vpc.
-
Dans
la section Inbound rules, cliquez sur Add rule.
-
Dans
la section Inbound rule, pour Type, choisissez HTTP.
-
Pour
Source type, choisissez Anywhere-IPv4.
-
Review
pour voir que la zone de texte Source est automatiquement remplie avec
0.0.0.0/0.
-
Pour
Description, tapez : Inbound HTTP access
-
Outbound
rule, examinez les détails. Notez qu'une règle sortante existe déjà qui
autorise le trafic sortant vers n'importe quelle adresse IPv4.
Étape 4 : Lancer une instance
Amazon EC2
Pour
stocker vos données dans Amazon Simple Storage Service (Amazon S3), vous
utilisez des ressources appelées buckets et objects. Un objet Bucket a déjà été
créé pour des besoins du lab.
Naviguez
jusqu'à la page lab-bucket dans la console Amazon S3. N'oubliez pas que dans la
barre de navigation supérieure, vous pouvez utiliser la zone de recherche
Services (ou cliquer sur Services) pour naviguer vers une console de service
différente. La page de votre bucket S3 commençant par lab-bucket- doit
ressembler à ce qui est affiché dans l'exemple de capture d'écran.
-
En
haut de la page, sélectionnez (surligné) et copiez le nom complet de ce bucket
S3, puis collez-le dans l'éditeur de texte de votre choix sur votre appareil.
-
Vous
utilisez ce nom de bucket dans une étape ultérieure.
-
Dans
l'onglet Objects, cochez la case pour sélectionner le fichier bootstrap.txt.
-
Cliquez
sur Open. Le fichier s'ouvre dans un nouvel onglet (ou fenêtre) du navigateur.
![]()
![]()
-
Remplacez
REPLACE ME par le nom du bucket
#!/bin/bash
LAB_BUCKET="lab-bucket-6a5eb390"
if [ ! -d "/home/ssm-user" ]; then
mkdir -p
"/home/ssm-user"
fi
cd /home/ssm-user/
aws s3 cp s3://$LAB_BUCKET/index.html
/home/ssm-user/index.html
aws s3 cp s3://$LAB_BUCKET/script.js
/home/ssm-user/script.js
aws s3 cp s3://$LAB_BUCKET/server.js
/home/ssm-user/server.js
curl -o-
https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \.
"$NVM_DIR/nvm.sh"
nvm install --lts
npm init -y
npm install pm2@latest -g
npm install express axios
pm2 start server.js
Amazon
Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive à
la demande dans le cloud AWS. Avec Amazon EC2, vous pouvez exécuter des
serveurs virtuels dans le cloud.
-
Dans
la zone de recherche de la barre de navigation supérieure, saisissez: ec2
-
Dans
les résultats de recherche, sous Services, cliquez sur EC2.
-
Dans
le volet de navigation de gauche, cliquez sur Instances.
-
Dans
la section Instances, cliquez sur Launch instance.
-
Pour
Name, tapez : WebServer
-
Sous
Quick Start, conservez le choix par défaut Amazon Linux.
-
Pour
Amazon Machine Image (AMI), choisissez Amazon Linux 2023 AMI.
-
Faites
défiler vers le bas jusqu'à Instance type.
-
Pour
Instance type, choisissez t3.micro.
-
Pour
Key pair name, choisissez la valeur par défaut de Proceed without a key pair.
-
Dans
la section Network settings, cliquez sur Edit.
-
Pour
VPC, choisissez practice-vpc.
-
Pour
Subnet, choisissez le subnet public-a.
-
Dans
la prochaine section DIY de cette solution, vous devez lancer une deuxième
instance EC2 dans le subnet public-b.
-
Pour
Auto-assign public IP, choisissez Enable.
-
Pour Firewall, choisissez Select existing security
group.
-
Pour
Common security groups, choisissez practice-sg.
-
Faites
défiler vers le bas jusqu'à Advanced details.
-
Cliquez
pour développer les détails avancés.
-
Pour
le profil d'instance IAM, choisissez EC2LabInstanceProfileLab.
Lorsque
vous lancez une instance Amazon EC2, vous pouvez transmettre des données
utilisateur à l'instance, utilisées pour effectuer des tâches de configuration
automatisées ou pour exécuter des scripts après le démarrage de l'instance.
-
Faites
défiler vers le bas jusqu'à User data, puis coller le contenu du script
précédent en indiquant le bon nom du bucket
-
Examinez
la section Summary puis cliquez sur Launch instance.
-
Dans
l'alerte de réussite, examinez le message.
Dans
la section Instances, sous Status check, vérifiez que 3/3 checks passed. La
vérification de statut peut prendre jusqu'à 5 minutes.
-
Dans
l'onglet Details, sous Public IPv4 DNS, cliquez sur l'icône de copie pour
copier le DNS fourni.
-
Dans
la barre d'adresse d'un nouvel onglet (ou fenêtre) de navigateur, collez le DNS
que vous venez de copier et appuyez sur Entrée (non montré).
-
Vérifiez
que le message WebServer App s'affiche.
Aucun commentaire:
Enregistrer un commentaire