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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CI/CD with GitHub Actions & DevOps Pipelines 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
Settingsdel repository. - Vada a
Secrets and variables>Actions. - Selezioni
New repository secretper 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:
- Recuperare il codice: ottenere i file IaC.
- Configurare le credenziali: impostare le variabili d'ambiente per il provider cloud.
- Installare lo strumento IaC: ad esempio AWS CLI, Azure CLI, Terraform o Pulumi.
- 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 CI/CD with GitHub Actions & DevOps Pipelines, passa a CoddyKit PRO. Il corso CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?
Non è richiesta alcuna esperienza precedente. CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?
Sì. Ogni lezione CI/CD with GitHub Actions & DevOps Pipelines 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
- IaC con Terraform e GitHub Actions
- Gestire le risorse cloud
- Automatizzare gli aggiornamenti dell’infrastruttura
- Gestire lo state di Terraform e i backend remoti