0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lección

Gestión de recursos en la nube

Automatice el despliegue y las actualizaciones de recursos en la nube (p. ej., AWS, Azure, GCP) mediante principios de IaC y GitHub Actions.

Gestión de recursos en la nube es una lección gratuita de CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CI/CD with GitHub Actions & DevOps Pipelines, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.

Introducción a la automatización de recursos de nube

¡Le damos la bienvenida! En esta lección, exploraremos cómo automatizar la implementación y las actualizaciones de los recursos de nube mediante los principios de la infraestructura como código (IaC) y GitHub Actions.

Gestionar los recursos de nube manualmente puede ser lento y propenso a errores. La automatización garantiza coherencia y rapidez.

¿Por qué GitHub Actions para IaC en la nube?

GitHub Actions proporciona una plataforma potente para automatizar sus tareas de infraestructura en la nube. Estas son algunas razones por las que resulta una excelente opción:

  • Control de versiones: El código de su infraestructura se almacena junto con el código de su aplicación.
  • Automatización: Activa las implementaciones automáticamente cuando se producen cambios en el código.
  • Visibilidad: Permite consultar el estado de la implementación directamente en GitHub.
  • Integración: Se conecta fácilmente con los principales proveedores de nube.

Conexión con su proveedor de nube

Para gestionar los recursos de nube, GitHub Actions necesita permisos para interactuar con su proveedor de nube, como AWS, Azure o GCP. Esto suele hacerse mediante:

  • Claves de acceso/entidades de servicio: Credenciales para acceder mediante programación.
  • OpenID Connect (OIDC): Un método de autenticación sin claves y más seguro.

En esta lección, nos centraremos en utilizar las credenciales de forma segura.

Almacenamiento seguro de credenciales de nube

Nunca incluya credenciales confidenciales directamente en los archivos de flujo de trabajo. GitHub Actions proporciona Secrets para este fin.

Los secretos son variables de entorno cifradas a las que puede acceder desde sus flujos de trabajo. No se muestran en los registros.

  • Vaya a Settings en su repositorio.
  • Vaya a Secrets and variables > Actions.
  • Haga clic en New repository secret para añadir sus claves de acceso a la nube.

Estructura básica de un flujo de trabajo de implementación de IaC

Un flujo de trabajo habitual de GitHub Actions para IaC incluye pasos para:

  1. Obtener el código: Obtener sus archivos de IaC.
  2. Configurar las credenciales: Configurar las variables de entorno de su proveedor de nube.
  3. Instalar la herramienta de IaC: Por ejemplo, AWS CLI, Azure CLI, Terraform o Pulumi.
  4. Ejecutar comandos de IaC: Planificar, aplicar o destruir recursos.

Veamos un ejemplo genérico.

Flujo de trabajo genérico para aplicar cambios en la nube

Este flujo de trabajo describe la estructura para aplicar cambios de IaC. Es una plantilla que deberá adaptar a su nube y herramienta de IaC específicas.

Observe cómo se utiliza secrets.AWS_ACCESS_KEY_ID para acceder a un secreto almacenado.

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

Ejemplo: implementación de un bucket de AWS S3

A continuación se muestra un ejemplo sencillo que utiliza AWS CLI para crear un bucket de S3. Esto demuestra cómo integrar comandos específicos de la nube en su flujo de trabajo.

Recuerde sustituir my-unique-coddykit-bucket-123 por un nombre de bucket único a nivel global si lo prueba.

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

Ejemplo: implementación de un grupo de recursos de Azure

Del mismo modo, para Azure utilizaría Azure CLI. Este flujo de trabajo inicia sesión en Azure y crea un grupo de recursos.

Deberá configurar AZURE_CLIENT_ID, AZURE_TENANT_ID y AZURE_SUBSCRIPTION_ID como secretos de GitHub, normalmente mediante una entidad de servicio.

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

Gestión de actualizaciones y reversiones

Una vez implementados los recursos, deberá gestionar las actualizaciones. Con IaC y GitHub Actions, esto implica:

  • Actualizar los archivos de IaC: Modificar la configuración (por ejemplo, añadir una nueva instancia de EC2).
  • Enviar los cambios: Crear un commit y hacer push al repositorio.
  • Despliegue automatizado: El flujo de trabajo se activa y aplica las actualizaciones.

Para revertir los cambios, normalmente deberá devolver los archivos de IaC a una versión anterior y volver a ejecutar el despliegue.

Comprobación de la gestión segura de la nube

Al automatizar la gestión de recursos en la nube con GitHub Actions, ¿qué método se considera el más seguro para gestionar las credenciales confidenciales de la nube?

Repaso: gestión de recursos en la nube

Ha aprendido cómo GitHub Actions puede automatizar el despliegue y las actualizaciones de recursos en la nube mediante los principios de IaC.

  • GitHub Actions proporciona una plataforma sólida para automatizar IaC.
  • GitHub Secrets es fundamental para gestionar de forma segura las credenciales de la nube.
  • Los flujos de trabajo integran CLI específicas de la nube (AWS CLI, Azure CLI) para interactuar con los proveedores.
  • Las actualizaciones se gestionan modificando los archivos de IaC y dejando que el flujo de trabajo vuelva a aplicarlas.

¡Siga practicando para crear sus propios pipelines automatizados en la nube!

Preguntas frecuentes

¿La lección «Gestión de recursos en la nube» es gratis?

Sí — el texto completo de «Gestión de recursos en la nube» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CI/CD with GitHub Actions & DevOps Pipelines, actualiza a CoddyKit PRO. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.

¿Qué aprenderé en «Gestión de recursos en la nube»?

Automatice el despliegue y las actualizaciones de recursos en la nube (p. ej., AWS, Azure, GCP) mediante principios de IaC y GitHub Actions. Practicas CI/CD with GitHub Actions & DevOps Pipelines con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CI/CD with GitHub Actions & DevOps Pipelines?

No se requiere experiencia previa. CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Gestión de recursos en la nube»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CI/CD with GitHub Actions & DevOps Pipelines?

Sí. Cada lección de CI/CD with GitHub Actions & DevOps Pipelines incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. IaC con Terraform y GitHub Actions
  2. Gestión de recursos en la nube
  3. Automatización de actualizaciones de infraestructura
  4. Gestión del estado de Terraform y backends remotos
← Volver a CI/CD with GitHub Actions & DevOps Pipelines