Aller au contenu

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
aws cloudformation deploy \
    --template-file template.yaml \
    --stack-name ma-stack

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 :

  • Packer — Création d'AMI reproductibles avec le builder amazon-ebs
  • Ansible — Provisioning et configuration automatisee des instances EC2
  • OpenTofu — Infrastructure as Code declarative (provider aws)
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