0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Aula

Gerenciamento de recursos de nuvem

Automatize a implantação e as atualizações de recursos de nuvem, como AWS, Azure e GCP, usando princípios de IaC e GitHub Actions.

Gerenciamento de recursos de nuvem é uma aula grátis de CI/CD with GitHub Actions & DevOps Pipelines no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de CI/CD with GitHub Actions & DevOps Pipelines, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CI/CD with GitHub Actions & DevOps Pipelines inclui 4 aulas no total.

Introdução à automação de recursos de nuvem

Boas-vindas! Nesta lição, exploraremos como automatizar a implantação e as atualizações de recursos de nuvem usando os princípios de Infraestrutura como código (IaC) e o GitHub Actions.

Gerenciar recursos de nuvem manualmente pode ser lento e sujeito a erros. A automação garante consistência e rapidez.

Por que usar GitHub Actions para IaC na nuvem?

O GitHub Actions oferece uma plataforma poderosa para automatizar suas tarefas de infraestrutura de nuvem. Veja por que ele é uma ótima opção:

  • Controle de versão: seu código de infraestrutura fica junto do código da sua aplicação.
  • Automação: acione implantações automaticamente quando houver alterações no código.
  • Visibilidade: veja o status da implantação diretamente no GitHub.
  • Integração: conecte-se facilmente aos principais provedores de nuvem.

Conectando-se ao seu provedor de nuvem

Para gerenciar recursos de nuvem, o GitHub Actions precisa de permissão para interagir com seu provedor de nuvem, como AWS, Azure ou GCP. Normalmente, isso é feito por meio de:

  • Chaves de acesso/entidades de serviço: credenciais para acesso programático.
  • OpenID Connect (OIDC): um método de autenticação mais seguro e sem chaves.

Nesta lição, vamos nos concentrar no uso seguro de credenciais.

Armazenando credenciais de nuvem com segurança

Nunca insira credenciais confidenciais diretamente nos arquivos do seu fluxo de trabalho. O GitHub Actions fornece Segredos para essa finalidade.

Os segredos são variáveis de ambiente criptografadas que você pode acessar nos seus fluxos de trabalho. Eles não são expostos nos registros.

  • Acesse as Settings do seu repositório.
  • Navegue até Secrets and variables > Actions.
  • Clique em New repository secret para adicionar suas chaves de acesso à nuvem.

Estrutura básica de um fluxo de trabalho de implantação de IaC

Um fluxo de trabalho típico do GitHub Actions para IaC envolve etapas para:

  1. Obter o código: obter seus arquivos de IaC.
  2. Configurar as credenciais: configurar variáveis de ambiente para seu provedor de nuvem.
  3. Instalar a ferramenta de IaC: por exemplo, AWS CLI, Azure CLI, Terraform ou Pulumi.
  4. Executar comandos de IaC: planejar, aplicar ou destruir recursos.

Vamos analisar um exemplo genérico.

Fluxo de trabalho genérico para aplicar recursos de nuvem

Este fluxo de trabalho apresenta a estrutura para aplicar alterações de IaC. É um modelo que você adaptaria à sua nuvem e à sua ferramenta de IaC específicas.

Observe como secrets.AWS_ACCESS_KEY_ID é usado para acessar um segredo armazenado.

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

Exemplo: implantando um bucket S3

Aqui está um exemplo simples que usa a AWS CLI para criar um bucket S3. Isso mostra como você integraria comandos específicos da nuvem ao seu fluxo de trabalho.

Lembre-se de substituir my-unique-coddykit-bucket-123 por um nome de bucket globalmente exclusivo se você tentar fazer isso!

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

Exemplo: implantando um grupo de recursos do Azure

Da mesma forma, para o Azure, você usaria a Azure CLI. Este fluxo de trabalho entra no Azure e cria um grupo de recursos.

Você precisaria configurar AZURE_CLIENT_ID, AZURE_TENANT_ID e AZURE_SUBSCRIPTION_ID como Segredos do GitHub, geralmente usando uma entidade de serviço.

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

Gerenciamento de atualizações e reversões

Depois que os recursos forem implantados, será necessário gerenciar as atualizações. Com IaC e Ações do GitHub, isso significa:

  • Atualizar arquivos de IaC: modificar sua configuração (por exemplo, adicionar uma nova instância do EC2).
  • Enviar alterações: fazer commit e enviar para seu repositório.
  • Implantação automatizada: o fluxo de trabalho é acionado e aplica as atualizações.

Para fazer reversões, normalmente você deve reverter seus arquivos de IaC para uma versão anterior e executar a implantação novamente.

Verificação do gerenciamento seguro da nuvem

Ao automatizar o gerenciamento de recursos de nuvem com Ações do GitHub, qual método é considerado o mais seguro para lidar com credenciais confidenciais da nuvem?

Recapitulação: gerenciamento de recursos de nuvem

Você aprendeu como as Ações do GitHub podem automatizar a implantação e as atualizações de recursos de nuvem usando princípios de IaC.

  • As Ações do GitHub fornecem uma plataforma robusta para a automação de IaC.
  • Segredos do GitHub são essenciais para gerenciar credenciais de nuvem com segurança.
  • Os fluxos de trabalho integram CLIs específicas de provedores de nuvem (AWS CLI, CLI do Azure) para interagir com os provedores.
  • As atualizações são gerenciadas alterando os arquivos de IaC e permitindo que o fluxo de trabalho os aplique novamente.

Continue praticando para criar seus pipelines de nuvem automatizados!

Perguntas Frequentes

A aula “Gerenciamento de recursos de nuvem” é grátis?

Sim — o texto completo de “Gerenciamento de recursos de nuvem” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de CI/CD with GitHub Actions & DevOps Pipelines, atualize para CoddyKit PRO. O curso de CI/CD with GitHub Actions & DevOps Pipelines inclui 4 aulas no total.

O que vou aprender em “Gerenciamento de recursos de nuvem”?

Automatize a implantação e as atualizações de recursos de nuvem, como AWS, Azure e GCP, usando princípios de IaC e GitHub Actions. Você pratica CI/CD with GitHub Actions & DevOps Pipelines com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar CI/CD with GitHub Actions & DevOps Pipelines?

Nenhuma experiência prévia é necessária. CI/CD with GitHub Actions & DevOps Pipelines no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Gerenciamento de recursos de nuvem”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de CI/CD with GitHub Actions & DevOps Pipelines?

Sim. Cada aula de CI/CD with GitHub Actions & DevOps Pipelines inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. IaC com Terraform e GitHub Actions
  2. Gerenciamento de recursos de nuvem
  3. Automação de atualizações da infraestrutura
  4. Gerenciando o estado do Terraform e back-ends remotos
← Voltar para CI/CD with GitHub Actions & DevOps Pipelines