Leçon 1 sur 12 · Fondations
Démarrer avec AWS — compte, console, régions, offre gratuite et AWS CLI
Objectif
Ouvrir un compte AWS proprement : le sécuriser dès la première heure, choisir une région adaptée à des utilisateurs au Maroc, comprendre ce que couvre l'offre gratuite, puis installer et configurer AWS CLI pour travailler en ligne de commande avec plusieurs profils.
L'essentiel
- Un compte AWS est un conteneur de ressources et de facturation, identifié par un numéro à 12 chiffres. L'adresse e-mail d'inscription devient l'utilisateur racine, tout-puissant.
- L'utilisateur racine reçoit une MFA immédiatement et ne sert plus jamais au quotidien : on travaille avec des identités IAM ou IAM Identity Center.
- AWS est découpé en régions (
eu-south-2Espagne,eu-west-3Paris…) et zones de disponibilité (eu-south-2a,b,c). La plupart des ressources appartiennent à une région. - L'offre gratuite a des limites précises et a changé en 2025 : un budget avec alerte est la première chose à créer.
- AWS CLI v2 lit sa configuration dans
~/.aws/configet~/.aws/credentials, organisée en profils.
1. Le compte AWS
Pour ouvrir un compte, il faut une adresse e-mail, un numéro de téléphone et une carte bancaire acceptant les paiements internationaux en dollars (une carte marocaine internationale convient en général ; vérifiez les plafonds de paiement à l'étranger avec votre banque).
Bonnes pratiques à l'inscription :
| Choix | Recommandation | Pourquoi |
|---|---|---|
| Adresse e-mail | une liste de diffusion de l'entreprise (aws-racine@startup.ma) |
ne pas dépendre de la boîte d'une seule personne qui peut partir |
| Nom du compte | explicite : startup-prod, startup-formation |
on aura vite plusieurs comptes |
| Type | « professionnel » pour une entreprise | coordonnées de facturation correctes |
L'utilisateur racine
L'utilisateur racine peut tout faire, y compris fermer le compte ou changer le moyen de paiement, et aucune politique ne peut le restreindre à l'intérieur du compte. Donc :
- activez une MFA (idéalement une clé de sécurité FIDO2) ;
- ne créez aucune clé d'accès pour lui ;
- créez une identité d'administration pour le travail courant (leçon 1.2) ;
- n'utilisez la racine que pour les rares tâches qui l'exigent (certains réglages de facturation, fermeture du compte, récupération).
Un compte ou plusieurs ?
Une startup commence souvent avec un seul compte. Dès qu'il y a de la production, on sépare avec AWS Organizations :
Organisation « startup »
├── compte gestion (facturation, rien d'autre)
├── compte production
├── compte préproduction
└── compte sécurité (journaux CloudTrail, audit)
La frontière entre comptes est le cloisonnement le plus solide d'AWS : une erreur en préproduction ne peut pas toucher la production.
2. La console de gestion
La console web (console.aws.amazon.com) permet de tout faire à la souris. Repères :
- en haut à droite, le sélecteur de région : la cause n° 1 de « mes instances ont disparu ! » (elles sont simplement dans une autre région) ;
- la barre de recherche des services ;
- le menu du compte : numéro de compte, facturation, identifiants de sécurité ;
- CloudShell : un terminal dans le navigateur avec AWS CLI déjà configurée avec vos droits. Pratique pour débuter, sans rien installer.
Certains services sont mondiaux (IAM, Route 53, CloudFront, Organizations) : le sélecteur de région n'a pas d'effet sur eux.
3. Régions et zones de disponibilité
Les régions proches du Maroc
| Région | Code | Remarque |
|---|---|---|
| Europe (Espagne) | eu-south-2 |
la plus proche géographiquement ; région « à activer » (opt-in) |
| Europe (Paris) | eu-west-3 |
activée par défaut, catalogue de services large |
| Europe (Irlande) | eu-west-1 |
une des plus anciennes, presque tous les services, souvent moins chère |
| Europe (Milan) | eu-south-1 |
à activer |
| Afrique (Le Cap) | af-south-1 |
seule région en Afrique à la date de rédaction, loin du Maroc |
À la date de rédaction, AWS n'a pas de région au Maroc. La liste des régions et des services par région évolue : consultez la page officielle « Global Infrastructure » avant un projet.
Les régions à activer
Les régions ouvertes après mars 2019 (dont eu-south-2, eu-south-1, af-south-1) sont désactivées par défaut. Il faut les activer dans les paramètres du compte (menu du compte → « Account » → « AWS Regions »), ce qui peut prendre quelques minutes.
# Voir l'état des régions du compte (activées ou non)
aws account list-regions --query 'Regions[].[RegionName,RegionOptStatus]' --output table
Les zones
Chaque région a au moins trois zones de disponibilité. Leur nom (eu-south-2a) est une étiquette propre à votre compte : la zone « a » d'un autre compte n'est pas forcément le même centre de données. Pour parler de la même zone entre deux comptes, on utilise l'identifiant de zone (de la forme <code-court>-az1), affiché par la commande ci-dessous.
aws ec2 describe-availability-zones --region eu-south-2 \
--query 'AvailabilityZones[].[ZoneName,ZoneId,State]' --output table
Choisir sa région : une startup de Casablanca
Une application de livraison pour des épiceries de Casablanca et Rabat :
| Critère | Espagne (eu-south-2) |
Paris (eu-west-3) |
Irlande (eu-west-1) |
|---|---|---|---|
| Latence vers le Maroc | la plus faible | faible | moyenne |
| Services disponibles | catalogue en croissance, à vérifier service par service | large | le plus large |
| Prix | à comparer au calculateur | à comparer | souvent le plus bas |
Choix courant : région principale proche (Espagne ou Paris) après vérification que tous les services nécessaires y sont, et seconde région pour les copies de sauvegarde. La question des données personnelles (loi 09-08, CNDP) est à traiter avant : voir la formation « Fondamentaux du cloud », leçon 3.1.
4. L'offre gratuite et la facture
L'offre gratuite
AWS propose depuis longtemps une offre gratuite pour découvrir ses services. Elle a été profondément modifiée en 2025 : les nouveaux comptes reçoivent des crédits de départ et choisissent entre un plan gratuit limité dans le temps et un plan payant ; les comptes plus anciens relevaient d'une offre « 12 mois gratuits » sur certains services, plus des services « toujours gratuits » dans des limites mensuelles.
Les règles exactes (montants, durée, services concernés) changent : lisez la page officielle de l'offre gratuite au moment où vous ouvrez le compte, et retenez ces principes :
- « gratuit » signifie dans une limite (heures, Go, requêtes) ;
- certains services ne sont jamais gratuits (passerelle NAT, adresses IPv4 publiques au-delà de ce qui est inclus, certaines tailles d'instance) ;
- ce que vous oubliez allumé continue de consommer.
Se protéger dès le premier jour
- Créez un budget avec alerte e-mail à quelques dollars (AWS Budgets, leçon 3.3).
- Activez la réception des alertes de facturation et consultez la page Billing and Cost Management chaque semaine au début.
- Supprimez ce que vous créez pour vos essais, dans la bonne région.
# Un budget mensuel de 10 dollars avec alerte à 80 % (fichiers JSON préparés à l'avance)
aws budgets create-budget --account-id 123456789012 \
--budget file://budget.json --notifications-with-subscribers file://alertes.json
5. AWS CLI
Installer la version 2
# Linux x86_64 (sur une machine avec accès Internet)
curl -sSLo awscliv2.zip "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"
unzip -q awscliv2.zip
sudo ./aws/install
aws --version # aws-cli/2.x.x Python/3.x Linux/...
Préférez cet installateur officiel ou CloudShell : le paquet awscli de certaines distributions est une ancienne version 1.
Se connecter : les méthodes
| Méthode | Commande | Quand |
|---|---|---|
| IAM Identity Center (SSO) | aws configure sso puis aws sso login |
recommandé pour les humains : jetons temporaires |
| Clés d'accès d'un utilisateur IAM | aws configure |
à éviter ; si nécessaire, clés à rotation régulière |
| Rôle d'une instance EC2, de Lambda, de CloudShell | rien à faire | la CLI trouve seule des identifiants temporaires |
Les fichiers de configuration
# ~/.aws/config : réglages par profil (pas de secret ici)
[default]
region = eu-south-2
output = json
[profile formation]
region = eu-west-3
output = table
[profile prod]
sso_session = startup
sso_account_id = 123456789012
sso_role_name = AdministrateurProd
region = eu-south-2
[sso-session startup]
sso_start_url = https://startup.awsapps.com/start
sso_region = eu-west-3
~/.aws/config: régions, format de sortie, profils SSO ;~/.aws/credentials: les clés d'accès si vous en utilisez (fichier à protéger enchmod 600, jamais dans Git) ;- dans
config, les sections s'écrivent[profile nom]; danscredentials, simplement[nom].
Choisir le profil et la région
aws s3 ls --profile formation # un profil pour une commande
export AWS_PROFILE=prod # un profil pour toute la session du terminal
aws ec2 describe-instances --region eu-west-3 # la région en option écrase celle du profil
aws configure list # d'où viennent les réglages actuels
aws sts get-caller-identity # « qui suis-je ? » : compte, utilisateur ou rôle
aws sts get-caller-identity est la commande à taper dès que quelque chose ne marche pas : elle dit sur quel compte et avec quelle identité vous travaillez réellement.
Mettre en forme les résultats
aws ec2 describe-regions --output table
# --query filtre la réponse JSON avec JMESPath
aws ec2 describe-instances \
--query 'Reservations[].Instances[].[InstanceId,InstanceType,State.Name]' --output text
Formats : json (par défaut, pour les scripts), table (lisible), text (pour grep, awk), yaml.
Pièges fréquents
- Utiliser l'utilisateur racine au quotidien, ou pire, lui créer des clés d'accès.
- Chercher ses ressources dans la mauvaise région : vérifiez le sélecteur de région et l'option
--region. - Croire que tout est gratuit pendant l'essai : passerelle NAT, IP publiques, gros volumes ou grandes instances sont facturés. Créez un budget.
- Copier des clés d'accès dans un script ou un dépôt Git : des robots les trouvent en quelques minutes et lancent des machines de minage à vos frais.
Lab
Le lab n'a pas d'accès réseau ni de CLI AWS : vous préparez les fichiers qu'un ingénieur met en place sur son poste. Vous écrivez ~/.aws/config avec un profil par défaut en Espagne puis un profil formation à Paris, un petit script d'inventaire valide, et la fiche des choix du compte.
cat /root/.aws/config
sh -n /root/aws/inventaire.sh && echo "syntaxe correcte"
Quiz
- Combien de chiffres compte un numéro de compte AWS ?
- Citez deux règles pour l'utilisateur racine.
- Pourquoi la région
eu-south-2n'apparaît-elle pas dans un compte tout neuf ? - Dans
~/.aws/config, comment s'écrit l'en-tête d'un profil nomméformation? - Quelle commande indique avec quel compte et quelle identité la CLI travaille ?
Réponses
- 12 chiffres.
- Au choix : MFA obligatoire ; aucune clé d'accès ; ne pas l'utiliser au quotidien ; adresse e-mail de groupe.
- C'est une région à activer (ouverte après mars 2019) : il faut l'activer dans les paramètres du compte.
[profile formation](danscredentials, ce serait[formation]).aws sts get-caller-identity.
Références générales : documentation officielle AWS (non reproduite). Texte entièrement original MasterLinux.