DevOps-bootcamp · Les

Cloudresources beheren

Automatiseer de implementatie en updates van cloudresources (bijvoorbeeld AWS, Azure en GCP) met IaC-principes en GitHub Actions.

Les 2 van 411 stappen

Cloudresources beheren is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Inleiding: cloudresources automatiseren

Welkom! In deze les onderzoeken we hoe je volgens de principes van Infrastructuur als code (IaC) en met GitHub Actions de implementatie en updates van cloudresources kunt automatiseren.

Cloudresources handmatig beheren kan langzaam en foutgevoelig zijn. Automatisering zorgt voor consistentie en snelheid.

Waarom GitHub Actions voor cloud-IaC?

GitHub Actions biedt een krachtig platform voor het automatiseren van je taken voor cloudinfrastructuur. Dit zijn de redenen waarom het er goed bij past:

  • Versiebeheer: Je infrastructuurcode staat naast je toepassingscode.
  • Automatisering: Activeer implementaties automatisch wanneer de code verandert.
  • Zichtbaarheid: Bekijk de status van implementaties rechtstreeks in GitHub.
  • Integratie: Maak eenvoudig verbinding met belangrijke cloudproviders.

Verbinding maken met je cloudprovider

Om cloudresources te beheren, heeft GitHub Actions toestemming nodig om met je cloudprovider te communiceren, zoals AWS, Azure of GCP. Dit gebeurt meestal via:

  • Toegangssleutels en serviceprincipals: Inloggegevens voor programmatische toegang.
  • OpenID Connect (OIDC): Een veiligere authenticatiemethode zonder sleutels.

In deze les richten we ons op het veilig gebruiken van inloggegevens.

Cloudinloggegevens veilig opslaan

Zet gevoelige inloggegevens nooit rechtstreeks in je workflowbestanden. GitHub Actions biedt hiervoor Secrets.

Secrets zijn versleutelde omgevingsvariabelen die je in je workflows kunt gebruiken. Ze worden niet in logboeken weergegeven.

  • Ga naar de Settings van je repository.
  • Ga naar Secrets and variables > Actions.
  • Klik op New repository secret om je cloudtoegangssleutels toe te voegen.

Basisstructuur van een IaC-implementatieworkflow

Een gebruikelijke GitHub Actions-workflow voor IaC bevat stappen om:

  1. Code op te halen: Je IaC-bestanden op te halen.
  2. Inloggegevens te configureren: Omgevingsvariabelen voor je cloudprovider in te stellen.
  3. Een IaC-hulpmiddel te installeren: Bijvoorbeeld AWS CLI, Azure CLI, Terraform of Pulumi.
  4. IaC-opdrachten uit te voeren: Resources te plannen, toe te passen of te vernietigen.

Laten we een algemeen voorbeeld bekijken.

Algemene cloudworkflow voor apply

Deze workflow beschrijft de structuur voor het toepassen van IaC-wijzigingen. Het is een sjabloon dat je aanpast aan je specifieke cloudomgeving en IaC-hulpmiddel.

Let op hoe secrets.AWS_ACCESS_KEY_ID wordt gebruikt om toegang te krijgen tot een opgeslagen geheim.

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

Voorbeeld: een AWS S3-bucket implementeren

Hier is een eenvoudig voorbeeld waarin de AWS CLI wordt gebruikt om een S3-bucket te maken. Dit laat zien hoe je cloudspecificieke opdrachten in je workflow integreert.

Vervang my-unique-coddykit-bucket-123 door een wereldwijd unieke bucketnaam als je dit probeert!

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!"

Voorbeeld: een Azure-resourcegroep implementeren

Voor Azure gebruik je op dezelfde manier de Azure CLI. Deze workflow meldt zich aan bij Azure en maakt een resourcegroep.

Je moet AZURE_CLIENT_ID, AZURE_TENANT_ID en AZURE_SUBSCRIPTION_ID instellen als GitHub Secrets, vaak met een Service Principal.

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!"

Updates en terugdraaien beheren

Nadat resources zijn uitgerold, moet je updates beheren. Met IaC en GitHub Actions betekent dit:

  • IaC-bestanden bijwerken: Pas je configuratie aan, bijvoorbeeld door een nieuwe EC2-instantie toe te voegen.
  • Wijzigingen pushen: Commit de wijzigingen en push ze naar je repository.
  • Geautomatiseerde implementatie: De workflow wordt gestart en past de updates toe.

Voor het terugdraaien zet je je IaC-bestanden meestal terug naar een vorige versie en voer je de implementatie opnieuw uit.

Controle van veilig cloudbeheer

Wanneer je het beheer van cloudresources automatiseert met GitHub Actions, welke methode wordt dan als het veiligst beschouwd voor het omgaan met gevoelige cloudreferenties?

Samenvatting: cloudresources beheren

Je hebt geleerd hoe GitHub Actions de implementatie en updates van cloudresources kan automatiseren volgens IaC-principes.

  • GitHub Actions biedt een robuust platform voor IaC-automatisering.
  • GitHub Secrets zijn essentieel voor het veilig beheren van cloudreferenties.
  • Workflows integreren cloudspecifieke CLI's (AWS CLI, Azure CLI) om met providers te communiceren.
  • Updates worden beheerd door IaC-bestanden te wijzigen en de workflow deze opnieuw te laten toepassen.

Blijf oefenen om je geautomatiseerde cloudpijplijnen op te bouwen!

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Cloudresources beheren” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Cloudresources beheren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Cloudresources beheren”?

Automatiseer de implementatie en updates van cloudresources (bijvoorbeeld AWS, Azure en GCP) met IaC-principes en GitHub Actions. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Cloudresources beheren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. IaC met Terraform en GitHub Actions
  2. Cloudresources beheren
  3. Infrastructuurupdates automatiseren
  4. Terraform-state en remote backends beheren
← Terug naar DevOps-bootcamp