Demande de solution
Nken est un jeune Ingénieur
de Conception en Informatique, Spécialité, Systèmes et Réseaux Informatiques. Il
travaille pour Minsahe Innovations Inc., une entreprise de développement de
logiciels et de services informatiques basée au Canada, dans la ville de Québec.
Minsahe Innovations Inc. souhaite mettre en place un réseau sécurisé pour une
nouvelle application web, pour un client et ils ont besoin d'aide pour les
bases du réseautage sur AWS. Vous êtes un Expert chez Amazon.
Dialogue :
Nken : Salut ! Je
suis nouveau dans l'utilisation des services web Amazon et je cherche à mettre
en place un réseau pour notre nouvelle application web. Pouvez-vous m'aider à
comprendre les concepts ?
Vous : Bien sûr ! Je
suis heureux d'expliquer au fur et à mesure. Commençons par les bases, la
création d'un cloud privé virtuel, ou VPC. Considérez ceci comme votre propre
section privée du cloud AWS.
Nken : Qu'est-ce qui
se trouve à l'intérieur de ce VPC ?
Vous : Les
sous-réseaux sont comme des réseaux plus petits au sein de votre VPC. Vous avez
des sous-réseaux publics pour les ressources qui ont besoin d'un accès à
Internet, comme les serveurs web. Vous avez des sous-réseaux privés pour les
ressources internes, comme les bases de données.
Nken : Je vois.
Comment contrôlons-nous ce qui entre et sort de ces sous-réseaux ?
Vous : Excellente
question ! Vous utilisez des tables de routage pour cela. Une table de routage
est comme une carte qui indique au trafic réseau où aller. Pour les
sous-réseaux publics, vous créez une route vers une passerelle Internet, qui
est essentiellement une porte vers Internet pour votre VPC.
Nken : Cela a du
sens. Et la sécurité ?
Vous : Pour la
sécurité, vous utilisez des groupes de sécurité. Considérez-les comme des
pares-feux virtuels. Vous configurez des règles pour contrôler quel type de
trafic peut atteindre vos serveurs web.
Nken : D'accord, je
suis. Comment faisons-nous réellement fonctionner notre application web ?
Vous : Vous lancez
une instance Amazon EC2 dans un sous-réseau public et utilisez quelque chose
appelé user-data pour installer automatiquement votre application web lorsque
le serveur démarre.
Nken : Bien ! Et si
nous devions gérer plus de trafic à l'avenir ?
Vous : Cette solution
est hautement évolutive. Vous ajoutez plus d'instances EC2 dans différents
sous-réseaux et zones de disponibilité selon les besoins. Les zones de
disponibilité sont des centres de données séparés, donc répartir vos ressources
entre elles améliore également la fiabilité.
Nken : Merci ! Cette
explication m'aide vraiment à comprendre l'ensemble du tableau.
Annotations techniques
- Créer un VPC avec quatre sous-réseaux.
- Attacher une passerelle Internet et une table de
routage.
- Créer un groupe de sécurité avec la règle entrante
appropriée.
- Lancer une instance EC2 et initialisez
l'application web.
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.