Skip to main content

Google Cloud

En esta sección aprenderemos a crear nuestra primera cuenta google cloud para el desarrollo de nuestro Project-1.

Para crear tu primera cuenta google cloud y como es lógico necesitaras de una tarjeta debito o crédito. Lo importante aquí es poder obtener el beneficio de 300 dólares en créditos que te permitirá poder hacer las pruebas que quieras en google cloud. En todo caso el costo para este proyecto es mínimo por lo que realmente esta al alcance de todos.

Antes debes también contar con una cuenta Gmail de google que es la cuenta con la que te registrarás. Ahora solo nos dirigiremos a Google Cloud busca en la opción Comenzar Gratis y das clic en esa opción. Llena el formulario solicitado con la información requerida. Una vez lo hayas hecho puedes continuar con la configuración de tu primer proyecto.

Proyectos Google

En Google Cloud, un "proyecto" es una unidad organizativa fundamental que te ayuda a gestionar y organizar tus recursos en la plataforma de Google Cloud. Aquí te explico sus principales características y propósitos:

  1. Aislamiento de Recursos: Cada proyecto actúa como un contenedor que agrupa recursos como máquinas virtuales, bases de datos, y almacenamiento. Esto permite gestionar y aislar recursos de diferentes aplicaciones o entornos (por ejemplo, desarrollo, pruebas y producción).

  2. Control de Acceso: Los proyectos facilitan la gestión de permisos y accesos. Puedes asignar roles y permisos a diferentes usuarios y grupos dentro del proyecto, lo que permite un control detallado sobre quién puede ver y modificar qué recursos.

  3. Facturación y Presupuestos: Cada proyecto tiene su propia configuración de facturación. Puedes rastrear y gestionar los costos asociados a los recursos en un proyecto específico, y establecer presupuestos y alertas para controlar el gasto.

  4. Monitoreo y Gestión: Ofrecen herramientas para monitorear el uso de recursos y el rendimiento. Puedes configurar alertas y ver métricas detalladas sobre la actividad dentro del proyecto.

  5. Organización y Estructura: Los proyectos ayudan a organizar los recursos de manera lógica. Puedes tener múltiples proyectos para diferentes entornos, aplicaciones o equipos, lo que mejora la estructura y la organización de tu infraestructura en la nube.

  6. Configuración y Seguridad: Permiten aplicar configuraciones específicas y políticas de seguridad para cada proyecto. Por ejemplo, puedes habilitar APIs, gestionar claves de API y configurar políticas de seguridad adaptadas a las necesidades del proyecto.

El punto clave aquí es que los proyectos en Google Cloud son esenciales para la administración efectiva y segura de recursos, la organización de costos y el control de accesos en la plataforma.

Tu primer Proyecto

Ahora procederemos a crear nuestro primer proyecto al que llamaremos Terraform-Project en Google Cloud, sigue estos pasos:

1. Accede a Google Cloud Console

  1. Abre tu navegador web y ve a la Google Cloud Console.
  2. Si no has iniciado sesión, ingresa con tu cuenta de Google.

2. Selecciona o Crea un Proyecto

  1. Abre el selector de proyectos:

    • Haz clic en el icono del proyecto actual en la parte superior de la consola (generalmente cerca del logo de Google Cloud).
    • Se abrirá un cuadro de diálogo que muestra una lista de tus proyectos existentes.
  2. Crea un nuevo proyecto:

    • Haz clic en el botón "Nuevo Proyecto" (o "New Project" si tu consola está en inglés).
  3. Configura el nuevo proyecto:

    • Nombre del Proyecto: Ingresa Terraform-Project.
    • Ubicación de la Organización (opcional): Si tu organización está configurada, puedes seleccionar una ubicación para el proyecto. Si no, puedes dejarlo en el nivel de "Sin Organización".
    • ID del Proyecto: Google Cloud generará un ID único para el proyecto basado en el nombre proporcionado. Puedes modificar el ID si es necesario, pero el nombre del proyecto es lo que verás en la consola.
  4. Haz clic en "Crear" para crear el proyecto.

3. Configura el Proyecto

  1. Habilita la facturación:

    • Después de crear el proyecto, es posible que necesites asociar una cuenta de facturación. Ve a la sección de Facturación en la consola para configurar esto.
  2. Habilita APIs necesarias:

    • Dependiendo de los servicios que planeas utilizar con Terraform, es posible que necesites habilitar algunas APIs. Puedes hacerlo en la sección de "APIs y Servicios" > "Biblioteca".
  3. Configura el acceso:

    • Puedes gestionar los permisos y roles en la sección de "IAM y Administración" para agregar miembros y definir sus roles dentro del proyecto.

Service Account

Las cuentas de servicio en Google Cloud son un tipo especial de cuenta de usuario que se utiliza para autenticar aplicaciones y servicios en lugar de usuarios finales. Aquí te explico en detalle qué son y cómo funcionan:

¿Qué es una Cuenta de Servicio?

  1. Definición:

    • Una cuenta de servicio es una identidad que se utiliza para autenticar servicios y aplicaciones dentro de Google Cloud. No está asociada a un usuario humano, sino que está destinada a ser utilizada por procesos automatizados, aplicaciones o herramientas de infraestructura.
  2. Propósito:

    • Facilitan la interacción de aplicaciones y servicios con los recursos de Google Cloud de manera segura y controlada. Por ejemplo, una aplicación que necesita acceder a Google Cloud Storage para guardar archivos puede usar una cuenta de servicio para autenticar y autorizar esa operación.

Características Clave

  1. Autenticación y Autorización:

    • Las cuentas de servicio utilizan claves privadas en formato JSON o P12 para autenticarse con Google Cloud. Estas claves permiten a las aplicaciones y servicios interactuar con recursos sin necesidad de credenciales de usuario.
  2. Permisos y Roles:

    • A cada cuenta de servicio se le pueden asignar permisos específicos mediante roles. Los roles definen qué operaciones puede realizar la cuenta de servicio en diferentes recursos de Google Cloud. Por ejemplo, puedes otorgar a una cuenta de servicio permisos para leer y escribir datos en BigQuery, administrar instancias de Compute Engine, o gestionar objetos en Google Cloud Storage.
  3. Seguridad:

    • Las claves de las cuentas de servicio deben ser protegidas con cuidado, ya que permiten acceso a recursos de Google Cloud. La pérdida o exposición de una clave podría comprometer la seguridad de tu infraestructura. Por eso, es recomendable rotar las claves regularmente y usar el mínimo número de permisos necesarios (principio de menor privilegio).
  4. Uso en Automatización:

    • Las cuentas de servicio son fundamentales para la automatización de la infraestructura en la nube. Herramientas como Terraform, Kubernetes, y Google Cloud SDK utilizan cuentas de servicio para gestionar recursos en la nube de manera automatizada.

Cómo Funcionan

  1. Creación:

    • Puedes crear cuentas de servicio a través de la Google Cloud Console, la línea de comandos (gcloud), o las APIs de Google Cloud. Durante la creación, defines un nombre, una descripción y los permisos (roles) que necesita la cuenta de servicio.
  2. Asignación de Roles:

    • Una vez creada, puedes asignar roles a la cuenta de servicio que determinan qué acciones puede realizar en tu proyecto de Google Cloud. Los roles se pueden asignar en diferentes niveles, como el proyecto, la carpeta, o la organización.
  3. Generación de Claves:

    • Para autenticar la cuenta de servicio, debes generar una clave privada en formato JSON o P12. Esta clave se usa para que la aplicación o servicio pueda presentarse a Google Cloud como una identidad válida.
  4. Uso:

    • Las aplicaciones utilizan la clave para autenticarse con Google Cloud, solicitando tokens de acceso que les permiten interactuar con los recursos según los permisos asignados.

Ejemplo de Uso

Supongamos que tienes una aplicación que necesita subir archivos a Google Cloud Storage y leer datos de BigQuery. En lugar de usar credenciales de usuario, que serían menos seguras y más difíciles de manejar, creas una cuenta de servicio con permisos para Google Cloud Storage y BigQuery. Luego, tu aplicación utiliza la clave privada de esa cuenta de servicio para autenticar y autorizar sus solicitudes a Google Cloud.

Las cuentas de servicio en Google Cloud permiten una gestión más segura y flexible del acceso a los recursos en la nube, facilitando la automatización y la integración de servicios y aplicaciones.

terraform-runner

Ahora procederemos para crear una cuenta de servicio llamada terraform-runner, asignarle los permisos necesarios y generar una clave privada a través del portal de Google Cloud:

1. Crear una Cuenta de Servicio

  1. Accede a Google Cloud Console:

  2. Selecciona tu Proyecto:

    • Asegúrate de que el proyecto Terraform-Project esté seleccionado en el selector de proyectos en la parte superior de la consola.
  3. Accede a la Gestión de Cuentas de Servicio:

    • En el menú de navegación (ícono de las tres líneas horizontales en la esquina superior izquierda), selecciona "IAM y Administración" > "Cuentas de servicio".
  4. Crear una Nueva Cuenta de Servicio:

    • Haz clic en "Crear cuenta de servicio".
    • Nombre de la Cuenta: Ingresa terraform-runner.
    • ID de la Cuenta de Servicio: Se generará automáticamente, pero puedes modificarlo si lo deseas.
    • Descripción: Opcionalmente, ingresa una descripción para identificar el propósito de esta cuenta de servicio.
    • Haz clic en "Crear".

2. Asignar Permisos a la Cuenta de Servicio

  1. Configura los Permisos:
    • En la sección de "Permisos de la cuenta de servicio", deberás asignar roles a la cuenta de servicio.
    • Rol 1: Busca y selecciona "BigQuery Admin".
    • Rol 2: Busca y selecciona "Compute Admin".
    • Rol 3: Busca y selecciona "Storage Admin".
    • Después de seleccionar los roles, haz clic en "Listo" para guardar los permisos.

3. Crear una Clave Privada para la Cuenta de Servicio

  1. Generar Clave:

    • En la lista de cuentas de servicio, busca y selecciona la cuenta de servicio terraform-runner.
    • Haz clic en el icono de "Más" (generalmente tres puntos verticales) al lado de la cuenta de servicio y selecciona "Crear clave".
  2. Seleccionar el Formato de la Clave:

    • En el cuadro de diálogo que aparece, asegúrate de seleccionar el formato "JSON". Este es el formato requerido para Terraform.
    • Haz clic en "Crear".
  3. Descargar la Clave:

    • La clave privada se descargará automáticamente como un archivo JSON en tu máquina local. Guarda este archivo en un lugar seguro, ya que lo necesitarás para configurar Terraform.