Cloudresources beheren
Automatiseer de implementatie en updates van cloudresources (bijvoorbeeld AWS, Azure en GCP) met IaC-principes en GitHub Actions.
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
Settingsvan je repository. - Ga naar
Secrets and variables>Actions. - Klik op
New repository secretom je cloudtoegangssleutels toe te voegen.
Basisstructuur van een IaC-implementatieworkflow
Een gebruikelijke GitHub Actions-workflow voor IaC bevat stappen om:
- Code op te halen: Je IaC-bestanden op te halen.
- Inloggegevens te configureren: Omgevingsvariabelen voor je cloudprovider in te stellen.
- Een IaC-hulpmiddel te installeren: Bijvoorbeeld AWS CLI, Azure CLI, Terraform of Pulumi.
- 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!
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
- IaC met Terraform en GitHub Actions
- Cloudresources beheren
- Infrastructuurupdates automatiseren
- Terraform-state en remote backends beheren