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 DevOps Bootcamp 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 DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp 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
Settingsdo seu repositório. - Navegue até
Secrets and variables>Actions. - Clique em
New repository secretpara 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:
- Obter o código: obter seus arquivos de IaC.
- Configurar as credenciais: configurar variáveis de ambiente para seu provedor de nuvem.
- Instalar a ferramenta de IaC: por exemplo, AWS CLI, Azure CLI, Terraform ou Pulumi.
- 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 DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp 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 DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp 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
- IaC com Terraform e GitHub Actions
- Gerenciamento de recursos de nuvem
- Automação de atualizações da infraestrutura
- Gerenciando o estado do Terraform e back-ends remotos