AWS : Free Tier, EC2 et IAM
Amazon Web Services (AWS) est l'une des premières plateformes cloud au monde. Ses services fondamentaux comme EC2 et IAM permettent de déployer et gérer une infrastructure complète sans matériel physique.
Créer un compte AWS Free Tier
AWS reste le leader incontesté du marché du cloud avec une part de marché significative. Pour un ingénieur ou un développeur souhaitant maîtriser les technologies cloud, l'accès à une plateforme de qualité production est essentiel. L'offre Free Tier permet d'explorer AWS à coût zéro pendant une période initiale, ce qui en fait un point de départ idéal.
Structure et avantages du Free Tier
AWS propose plusieurs niveaux d'offres gratuits adaptés à différents usages. Le forfait principal offre un crédit de 200 USD valable pendant 12 mois pour explorer les services. Ce crédit couvre une majorité des cas d'usage basiques :
- EC2 : 750 heures de t2.micro par mois (suffisant pour une instance 24/7)
- S3 : 5 GB de stockage
- RDS : 750 heures de db.t2.micro par mois
- CloudWatch : Monitoring gratuit
- Transferts de données : Jusqu'à 1 GB d'entrée/sortie gratuit par mois
Certains services restent gratuits indéfiniment, même après les 12 mois, à condition de rester dans les limites d'utilisation. Par exemple, AWS Lambda propose 1 million de requêtes gratuites par mois, DynamoDB offre 25 Go de stockage.
Les avantages principaux sont : aucun risque financier (aucune charge si les limites gratuites ne sont pas dépassées), accès complet à plus de 150 services AWS, durée suffisante pour apprendre (12 mois), et services identiques à ceux utilisés en production.
Inscription et accès
L'inscription se fait via https://aws.amazon.com/fr/free/. Les étapes clés incluent : entrée des informations personnelles (email, nom, mot de passe), vérification de l'identité (AWS demande une carte bancaire pour vérification uniquement, pas de charge), validation par SMS, et sélection du plan de support gratuit (Basic Support).
Une fois inscrit, l'accès à la console se fait sur https://console.aws.amazon.com.
Il est crucial de mettre en place des garde-fous pour éviter les dépassements. AWS Budgets permet de définir des alertes automatiques qui vous notifient avant toute charge inattendue. Le template "Zero spend budget" est recommandé pour débuter : il crée une alerte dès que l'utilisation risque de dépasser le Free Tier. Ces pratiques de surveillance des coûts forment de bonnes habitudes pour la gestion en production.
Comprendre le modèle IAM
Identity and Access Management (IAM) est le service AWS responsable de la gestion des accès et des permissions. C'est un composant critique de la sécurité infrastrukturelle qui doit être compris dès le départ, tant il influence toute l'architecture en production.
Accès à la console IAM : https://console.aws.amazon.com/iam/
Modèle de sécurité basé sur les permissions
AWS fonctionne selon un principe de permission explicite : par défaut, tout accès est refusé. Seules les actions explicitement autorisées sont possibles. Cette approche sécuritaire signifie que chaque utilisateur, chaque service, chaque ressource doit disposer des permissions minimales nécessaires à son fonctionnement.
Les quatre concepts clés d'IAM sont :
Users : Entités représentant des personnes ou des applications. Chaque utilisateur possède des identifiants uniques et des credentials de connexion. Un root user est créé automatiquement lors de la création du compte, mais il est recommandé de ne pas l'utiliser en production.
Groups : Ensemble logique d'utilisateurs partageant les mêmes permissions. Plutôt que d'assigner des permissions à chaque utilisateur individuellement, les groupes permettent une gestion centralisée et scalable.
Roles : Identités destinées à être assumées temporairement, généralement par des services ou des utilisateurs externes. Contrairement aux users, les roles n'ont pas de credentials permanentes mais génèrent des tokens temporaires.
Policies : Documents JSON définissant précisément les actions autorisées (Allow) ou refusées (Deny) sur les ressources AWS. Une policy peut être attachée à des users, groups, ou roles pour définir leurs permissions.
Bonnes pratiques dès le départ
Appliquer les bonnes pratiques dès le début forme de solides habitudes. Ne jamais utiliser le root user après la création initiale du compte, créer un utilisateur IAM administrateur avec authentification multifacteur (MFA), utiliser des groupes pour simplifier la gestion des permissions, et régulièrement auditer les accès sont les règles de base.
Pour un projet personnel, créer au minimum un utilisateur IAM avec permissions complètes et l'utiliser comme administrateur du compte libère le root user, qui ne devrait être utilisé que pour les changements critiques (récupération de compte, modifications de facturation).
Lancer une instance EC2
Le lancement d'une instance EC2 est un processus guidé composé de plusieurs étapes. L'objectif est de configurer tous les paramètres nécessaires pour que la machine virtuelle démarre correctement et soit accessible.
Nommage et identification
Chaque instance doit recevoir un nom permettant de l'identifier facilement dans la console. Ce nom est en réalité une étiquette (tag) avec la clé "Name". Pour un projet de test, un simple "Test Instance" suffit. Ce nommage devient critique en production où vous aurez potentiellement des dizaines ou centaines d'instances : une politique de nommage cohérente (par exemple projet-env-role-numero) facilite la gestion et l'automatisation.
Sélection de l'Amazon Machine Image (AMI)
Une AMI est un modèle prêt à l'emploi contenant un système d'exploitation complet et un ensemble de logiciels préconfigurés. AWS propose plusieurs AMI de démarrage rapide gratuites : Amazon Linux, Ubuntu, Debian, CentOS. Le choix dépend de votre préférence et de votre expérience. Amazon Linux est optimisé pour AWS, Ubuntu offre une large communauté de développeurs, Debian est minimaliste.
Pour débuter, choisissez simplement Amazon Linux 2 ou Ubuntu. Ces AMI sont disponibles dans le Free Tier.
Configuration du type d'instance
Le type d'instance détermine les ressources matérielles : processeur, mémoire, réseau. AWS propose plusieurs familles (t2, t3, m5, etc.). Le type t3.micro est inclus dans le Free Tier (750 heures par mois) et convient parfaitement pour apprendre, tester une application, ou servir une charge très légère.
Ne modifiez pas le type par défaut proposé pour une première instance. Vous pouvez toujours le changer plus tard.
Paire de clés SSH
Avant de lancer l'instance, vous devez créer ou sélectionner une paire de clés SSH. La paire de clés se compose d'une clé publique (stockée sur l'instance) et d'une clé privée (conservée sur votre ordinateur local). La clé privée est votre secret : ne la partagez jamais.
AWS vous permet de télécharger la clé privée une seule fois lors de la création. Si vous la perdez, vous ne pourrez plus accéder à l'instance. Stockez-la dans un endroit sûr, comme ~/.ssh/ sur Linux/Mac ou C:\Users\VotreNom\.ssh\ sur Windows.
Nommez votre paire de clés de manière explicite (ex: aws-key-2026) pour éviter confusion avec d'autres clés.
Configuration réseau (VPC et sous-réseau)
AWS crée automatiquement un VPC (Virtual Private Cloud) par défaut pour votre compte. Les instances doivent être lancées dans ce VPC, idéalement dans un sous-réseau public pour un accès Internet. Le sous-réseau par défaut est public et attribue une adresse IP publique à votre instance, ce qui la rend accessible depuis Internet.
Pour un test, gardez les paramètres par défaut. En production, une segmentation réseau appropriée devient critique pour la sécurité.