DevOps & Outils¶
Services DevOps natifs et outils d'Infrastructure as Code pour Amazon Web Services.
CodePipeline / CodeBuild¶
Pipeline de CI/CD manage par AWS. CodePipeline orchestre les étapes du workflow (source, build, test, deploy) et CodeBuild exécuté les builds dans des environnements conteneurises.
Cas d'usage : build d'images Docker, pipelines CI/CD, déploiement automatise sur ECS/EKS/Lambda.
Étapes d'un pipeline type¶
graph LR
S["Source (CodeCommit/GitHub)"] --> B["Build (CodeBuild)"]
B --> T["Test"]
T --> D["Deploy (ECS/EKS/Lambda)"] ECR (Elastic Container Registry)¶
Registre Docker manage par AWS. ECR stocke, géré et deploie les images de conteneurs avec intégration native aux services AWS (ECS, EKS, Lambda).
Cas d'usage : stockage d'images Docker, scan de vulnérabilités, gestion de versions d'images.
Pousser une image¶
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
REGION=eu-west-3
aws ecr get-login-password --region $REGION | \
docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com
docker tag mon-app:latest $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/mon-app:latest
docker push $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/mon-app:latest
CloudFormation¶
Service d'Infrastructure as Code natif AWS. CloudFormation permet de définir et provisionner des ressources AWS via des templates YAML ou JSON.
Cas d'usage : provisioning reproductible, gestion de stacks complètes, drift détection, rollback automatique.
Exemple de template¶
AWSTemplateFormatVersion: '2010-09-09'
Resources:
MonInstance:
Type: AWS::EC2::Instance
Properties:
InstanceType: t3.medium
ImageId: ami-0a93a08544874b3b7
Tags:
- Key: Name
Value: mon-serveur
Outils d'Infrastructure as Code¶
AWS s'intégré avec les principaux outils IaC pour automatiser la création et la gestion des ressources :
Tutoriels outils IaC
Pour apprendre a utiliser ces outils, consultez les tutoriels dédiés :
| Outil | Usage AWS | Provider/Plugin |
|---|---|---|
| Packer | Créer des AMI (Amazon Machine Images) | Builder amazon-ebs |
| Ansible | Configurer des instances, déployer des applications | Collection amazon.aws |
| OpenTofu | Provisionner toute l'infrastructure AWS | Provider aws |