0Pricing
DevOps Bootcamp · Lezione

Gestire le risorse cloud

Automatizzi il deploy e gli aggiornamenti delle risorse cloud (ad esempio AWS, Azure e GCP) usando i principi IaC e GitHub Actions.

Gestire le risorse cloud è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Introduzione all'automazione delle risorse cloud

Benvenuto! In questa lezione esplorerà come automatizzare la distribuzione e gli aggiornamenti delle risorse cloud utilizzando i principi dell'Infrastructure as Code (IaC) e GitHub Actions.

Gestire manualmente le risorse cloud può essere lento e soggetto a errori. L'automazione garantisce coerenza e rapidità.

Perché usare GitHub Actions per l'IaC nel cloud?

GitHub Actions offre una piattaforma potente per automatizzare le attività relative all'infrastruttura cloud. Ecco perché è particolarmente adatta:

  • Controllo della versione: il codice dell'infrastruttura risiede insieme al codice dell'applicazione.
  • Automazione: attivi automaticamente le distribuzioni in seguito alle modifiche del codice.
  • Visibilità: visualizzi direttamente in GitHub lo stato della distribuzione.
  • Integrazione: si connette facilmente ai principali provider cloud.

Connessione al provider cloud

Per gestire le risorse cloud, GitHub Actions necessita dell'autorizzazione a interagire con il provider cloud, ad esempio AWS, Azure o GCP. In genere, ciò avviene tramite:

  • Chiavi di accesso/Service Principal: credenziali per l'accesso programmatico.
  • OpenID Connect (OIDC): un metodo di autenticazione senza chiavi e più sicuro.

In questa lezione ci concentreremo sull'utilizzo sicuro delle credenziali.

Memorizzazione sicura delle credenziali cloud

Non inserisca mai direttamente credenziali sensibili nei file del workflow. GitHub Actions mette a disposizione i Secrets a questo scopo.

I Secrets sono variabili d'ambiente crittografate a cui è possibile accedere nei workflow. Non vengono esposti nei log.

  • Acceda alle Settings del repository.
  • Vada a Secrets and variables > Actions.
  • Selezioni New repository secret per aggiungere le chiavi di accesso al cloud.

Struttura di base di un workflow di distribuzione IaC

Un workflow GitHub Actions tipico per l'IaC include in genere passaggi per:

  1. Recuperare il codice: ottenere i file IaC.
  2. Configurare le credenziali: impostare le variabili d'ambiente per il provider cloud.
  3. Installare lo strumento IaC: ad esempio AWS CLI, Azure CLI, Terraform o Pulumi.
  4. Eseguire i comandi IaC: pianificare, applicare o eliminare le risorse.

Vediamo un esempio generico.

Workflow generico per applicare modifiche al cloud

Questo workflow illustra la struttura necessaria per applicare modifiche IaC. È un modello da adattare al cloud e allo strumento IaC specifici.

Noti come secrets.AWS_ACCESS_KEY_ID venga utilizzato per accedere a un segreto memorizzato.

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

Esempio: distribuzione di un bucket AWS S3

Ecco un semplice esempio che utilizza AWS CLI per creare un bucket S3. Mostra come integrare i comandi specifici del cloud nel workflow.

Se prova a utilizzarlo, ricordi di sostituire my-unique-coddykit-bucket-123 con un nome del bucket univoco a livello globale!

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

Esempio: distribuzione di un gruppo di risorse Azure

Analogamente, per Azure utilizzerebbe Azure CLI. Questo workflow accede ad Azure e crea un gruppo di risorse.

Dovrà configurare AZURE_CLIENT_ID, AZURE_TENANT_ID e AZURE_SUBSCRIPTION_ID come GitHub Secrets, spesso utilizzando un 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!"

Gestione degli aggiornamenti e dei rollback

Una volta distribuite le risorse, sarà necessario gestire gli aggiornamenti. Con IaC e GitHub Actions, questo significa:

  • Aggiornare i file IaC: modificare la configurazione, ad esempio aggiungendo una nuova istanza EC2.
  • Inviare le modifiche: eseguire il commit e il push nel repository.
  • Distribuzione automatizzata: il workflow si attiva e applica gli aggiornamenti.

Per eseguire un rollback, in genere si ripristinano i file IaC a una versione precedente e si esegue nuovamente la distribuzione.

Verifica della gestione sicura del cloud

Quando si automatizza la gestione delle risorse cloud con GitHub Actions, quale metodo è considerato il più sicuro per gestire le credenziali cloud sensibili?

Riepilogo: gestione delle risorse cloud

Ha imparato come GitHub Actions possa automatizzare la distribuzione e gli aggiornamenti delle risorse cloud usando i principi IaC.

  • GitHub Actions offre una piattaforma solida per l'automazione IaC.
  • GitHub Secrets è fondamentale per gestire in modo sicuro le credenziali cloud.
  • I workflow integrano CLI specifiche per il cloud (AWS CLI, Azure CLI) per interagire con i provider.
  • Gli aggiornamenti vengono gestiti modificando i file IaC e lasciando che il workflow li applichi nuovamente.

Continui a fare pratica per creare pipeline cloud automatizzate!

Domande Frequenti

La lezione «Gestire le risorse cloud» è gratuita?

Sì — il testo completo di «Gestire le risorse cloud» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Gestire le risorse cloud»?

Automatizzi il deploy e gli aggiornamenti delle risorse cloud (ad esempio AWS, Azure e GCP) usando i principi IaC e GitHub Actions. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Gestire le risorse cloud»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. IaC con Terraform e GitHub Actions
  2. Gestire le risorse cloud
  3. Automatizzare gli aggiornamenti dell’infrastruttura
  4. Gestire lo state di Terraform e i backend remoti
← Torna a DevOps Bootcamp