0Pricing
DevOps Bootcamp · Leçon

Gestion des ressources infonuagiques

Automatisez le déploiement et la mise à jour des ressources infonuagiques (par exemple AWS, Azure et GCP) avec les principes de l’IaC et GitHub Actions.

Gestion des ressources infonuagiques est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Introduction à l'automatisation des ressources en nuage

Bienvenue ! Dans cette leçon, nous allons découvrir comment automatiser le déploiement et la mise à jour des ressources en nuage à l'aide des principes de l'infrastructure en tant que code (IaC) et de GitHub Actions.

Gérer manuellement des ressources en nuage peut être lent et provoquer des erreurs. L'automatisation garantit la cohérence et la rapidité.

Pourquoi GitHub Actions pour l'IaC en nuage ?

GitHub Actions fournit une plateforme puissante pour automatiser les tâches liées à votre infrastructure en nuage. Voici pourquoi elle convient parfaitement :

  • Contrôle de version : votre code d'infrastructure se trouve à côté du code de votre application.
  • Automatisation : déclenchez automatiquement les déploiements lors des modifications du code.
  • Visibilité : consultez directement l'état du déploiement dans GitHub.
  • Intégration : connectez facilement les principaux fournisseurs de services en nuage.

Se connecter à votre fournisseur de services en nuage

Pour gérer les ressources en nuage, GitHub Actions doit avoir l'autorisation d'interagir avec votre fournisseur de services en nuage, comme AWS, Azure ou GCP. Cela se fait généralement au moyen des éléments suivants :

  • Clés d'accès/principaux de service : des identifiants permettant un accès programmatique.
  • OpenID Connect (OIDC) : une méthode d'authentification sans clé et plus sécurisée.

Dans cette leçon, nous nous concentrerons sur l'utilisation sécurisée des identifiants.

Stocker vos identifiants cloud en toute sécurité

Ne codez jamais directement des identifiants sensibles en dur dans vos fichiers de flux de travail. GitHub Actions fournit des secrets à cette fin.

Les secrets sont des variables d'environnement chiffrées auxquelles vous pouvez accéder dans vos flux de travail. Ils n'apparaissent pas dans les journaux.

  • Accédez aux Settings de votre dépôt.
  • Accédez à Secrets and variables > Actions.
  • Cliquez sur New repository secret pour ajouter vos clés d'accès au cloud.

Structure de base d'un flux de travail de déploiement IaC

Un flux de travail GitHub Actions classique pour l'IaC comporte généralement les étapes suivantes :

  1. Récupérer le code : obtenir vos fichiers IaC.
  2. Configurer les identifiants : définir les variables d'environnement de votre fournisseur de services en nuage.
  3. Installer l'outil IaC : par exemple AWS CLI, Azure CLI, Terraform ou Pulumi.
  4. Exécuter les commandes IaC : planifier, appliquer ou détruire des ressources.

Examinons un exemple générique.

Flux de travail générique d'application cloud

Ce flux de travail présente la structure nécessaire pour appliquer des modifications IaC. Il s'agit d'un modèle que vous adapterez à votre nuage et à votre outil IaC spécifiques.

Remarquez comment secrets.AWS_ACCESS_KEY_ID est utilisé pour accéder à un secret enregistré.

name: Deploy Cloud Resources

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Run IaC Apply Command
        run: |
          # Replace with your actual IaC tool command (e.g., terraform apply, aws cloudformation deploy)
          echo "Running cloud resource deployment..."
          # aws s3 mb s3://my-unique-coddykit-bucket-123

Exemple : déployer un compartiment S3 AWS

Voici un exemple simple utilisant AWS CLI pour créer un compartiment S3. Il montre comment intégrer des commandes propres au nuage dans votre flux de travail.

N'oubliez pas de remplacer my-unique-coddykit-bucket-123 par un nom de compartiment unique à l'échelle mondiale si vous essayez cet exemple !

name: Deploy S3 Bucket

on: push

jobs:
  create-s3:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Create S3 Bucket
        run: |
          aws s3 mb s3://my-unique-coddykit-bucket-123
          echo "S3 bucket created successfully!"

Exemple : déployer un groupe de ressources Azure

De même, pour Azure, vous utiliseriez Azure CLI. Ce flux de travail se connecte à Azure et crée un groupe de ressources.

Vous devez configurer AZURE_CLIENT_ID, AZURE_TENANT_ID et AZURE_SUBSCRIPTION_ID en tant que secrets GitHub, souvent avec un principal de service.

name: Deploy Azure Resource Group

on: push

jobs:
  create-rg:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Azure Login
        uses: azure/login@v1
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: Create Azure Resource Group
        run: |
          az group create --name coddykit-rg --location eastus
          echo "Azure Resource Group created!"

Gestion des mises à jour et des retours en arrière

Une fois les ressources déployées, vous devrez gérer les mises à jour. Avec l'IaC et GitHub Actions, cela signifie :

  • Mise à jour des fichiers IaC : Modifiez votre configuration (par exemple, ajoutez une nouvelle instance EC2).
  • Envoi des modifications : Validez-les, puis envoyez-les vers votre dépôt.
  • Déploiement automatisé : Le flux de travail se déclenche et applique les mises à jour.

Pour effectuer un retour en arrière, vous rétablissez généralement une version précédente de vos fichiers IaC, puis relancez le déploiement.

Vérification de la sécurité de la gestion infonuagique

Lorsque vous automatisez la gestion des ressources infonuagiques avec GitHub Actions, quelle méthode est considérée comme la plus sécurisée pour gérer les identifiants sensibles permettant d’y accéder ?

Récapitulatif : gestion des ressources infonuagiques

Vous avez appris comment GitHub Actions peut automatiser le déploiement et la mise à jour de ressources infonuagiques en appliquant les principes de l'IaC.

  • GitHub Actions fournit une plateforme robuste pour automatiser l'IaC.
  • Les secrets GitHub sont essentiels pour gérer de manière sécurisée les identifiants d’accès aux ressources infonuagiques.
  • Les flux de travail intègrent des interfaces de ligne de commande propres aux environnements infonuagiques (AWS CLI, Azure CLI) pour interagir avec les fournisseurs.
  • Les mises à jour sont gérées en modifiant les fichiers IaC et en laissant le flux de travail les appliquer à nouveau.

Continuez à vous exercer pour construire vos chaînes d’automatisation infonuagiques !

Questions Fréquemment Posées

La leçon « Gestion des ressources infonuagiques » est-elle gratuite ?

Oui — le texte complet de « Gestion des ressources infonuagiques » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Gestion des ressources infonuagiques » ?

Automatisez le déploiement et la mise à jour des ressources infonuagiques (par exemple AWS, Azure et GCP) avec les principes de l’IaC et GitHub Actions. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Gestion des ressources infonuagiques » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. IaC avec Terraform et GitHub Actions
  2. Gestion des ressources infonuagiques
  3. Automatisation des mises à jour de l’infrastructure
  4. Gérer l’état Terraform et les services dorsaux distants
← Retour à DevOps Bootcamp