Lab práctico · Semana 1: Fundamentos de Google Cloud: jerarquía, facturación, IAM y herramientas
Cuenta de prueba, proyecto y presupuesto con alertas
Qué vas a construir
Tu entorno de prácticas para todo el curso: una cuenta de Google Cloud con la prueba gratuita, un proyecto de lab vinculado a su cuenta de facturación, un presupuesto con alertas al 50, 90 y 100 % y el hábito de cerrar proyectos al terminar.
flowchart LR
U["Tu cuenta de Google"] --> BA["Cuenta de facturación de prueba: 300 USD, 90 días"]
BA --> P["Proyecto pca-lab-01-XXXX"]
BA --> B["Presupuesto 20 USD: alertas 50, 90 y 100 %"]
P --> CS["Cloud Shell"]
Antes de empezar
- Una cuenta de Google (Gmail u otra). Recomendación: usa una cuenta dedicada al estudio, no la del trabajo, para no mezclar organizaciones ni permisos.
- Una tarjeta de crédito o débito. Google la pide para verificar la identidad; no te cobra durante la prueba salvo que tú actives la cuenta de pago.
- Comprueba que nunca has usado la prueba gratuita con esa cuenta: solo se concede una vez.
Paso 1: Activa la prueba gratuita
Qué y por qué: crear la cuenta de facturación de prueba que pagará todos los labs con el crédito.
- Entra en cloud.google.com/free y pulsa Get started for free (o «Empezar gratis»).
- Inicia sesión con tu cuenta de Google, elige país (España) y acepta las condiciones.
- Tipo de cuenta: Individual. Introduce los datos de pago y confirma.
- Al terminar llegas a la consola. Google crea un primer proyecto llamado «My First Project»; no lo uses para los labs.
Comprueba el crédito en Menú → Facturación → Descripción general: verás el crédito restante y los días que quedan.
Paso 2: Crea el proyecto del lab
Qué y por qué: un proyecto por lab aísla recursos, permisos y costes, y te permite limpiar borrando el proyecto entero.
El Project ID es único a nivel mundial e inmutable, así que añade un sufijo aleatorio.
Por consola: selector de proyectos (arriba) → Proyecto nuevo → nombre pca-lab-01 → fíjate en el ID que propone (puedes editarlo) → Crear.
Por gcloud: abre Cloud Shell con el icono >_ de la barra superior. La primera vez tarda unos segundos en aprovisionar la VM.
export PROJECT_ID="pca-lab-01-$RANDOM"
gcloud projects create "$PROJECT_ID" --name="pca-lab-01"
gcloud projects describe "$PROJECT_ID"
En la salida de describe identifica los tres identificadores: projectId, name y projectNumber. Si Cloud Shell te pide autorizar, pulsa Authorize.
Paso 3: Vincula el proyecto a la cuenta de facturación
Qué y por qué: un proyecto sin facturación solo puede usar servicios gratuitos. Lo vinculas a la cuenta de prueba para que el crédito cubra su uso.
gcloud billing accounts list
export BILLING_ID="XXXXXX-XXXXXX-XXXXXX" # copia el ACCOUNT_ID de la salida anterior
gcloud billing projects link "$PROJECT_ID" --billing-account="$BILLING_ID"
gcloud billing projects describe "$PROJECT_ID"
Debes ver billingEnabled: true. Por consola: Facturación → Gestión de cuentas → Mis proyectos.
Paso 4: Crea un presupuesto con alertas
Qué y por qué: el presupuesto te avisa por correo si el gasto (o el previsto) supera umbrales. No corta el gasto, pero es tu red de seguridad. Lo pondrás sobre toda la cuenta de facturación para vigilar todos los labs a la vez.
Un importe razonable: 20 USD al mes. Con los labs del curso no deberías acercarte.
Por consola:
- Facturación → Presupuestos y alertas → Crear presupuesto.
- Nombre:
pca-curso. Ámbito: todos los proyectos y todos los servicios. - Deja marcada la opción de incluir créditos… y fíjate en el matiz: con créditos incluidos, mientras el crédito cubra el uso, el coste neto será 0. Para vigilar el consumo real de crédito, desmarca los créditos en el cálculo (así las alertas saltan según lo que gastas del crédito).
- Tipo de importe: importe especificado, 20 USD.
- Umbrales: 50 %, 90 % y 100 % sobre gasto real (son los valores por defecto). Añade uno más al 100 % sobre gasto previsto.
- Notificaciones: los correos llegan por defecto a los administradores y usuarios de la cuenta de facturación, que eres tú.
Por gcloud (equivalente; primero habilita la API de presupuestos en el proyecto desde el que llamas):
gcloud config set project "$PROJECT_ID"
gcloud services enable billingbudgets.googleapis.com
gcloud billing budgets create \
--billing-account="$BILLING_ID" \
--display-name="pca-curso-cli" \
--budget-amount=20USD \
--threshold-rule=percent=0.5 \
--threshold-rule=percent=0.9 \
--threshold-rule=percent=1.0 \
--threshold-rule=percent=1.0,basis=forecasted-spend
gcloud billing budgets list --billing-account="$BILLING_ID"
Si has creado los dos (consola y CLI), borra uno para no recibir correos duplicados:
gcloud billing budgets delete ID_DEL_PRESUPUESTO --billing-account="$BILLING_ID"
Paso 5: Explora la facturación
Qué y por qué: saber dónde mirar el gasto es parte del trabajo de un arquitecto.
- Facturación → Informes: gasto por proyecto, servicio y SKU; filtra por el proyecto del lab.
- Facturación → Desglose de costes y Créditos: cuánto crédito te queda.
- Facturación → Exportación de facturación: aquí se configura la exportación a BigQuery. No la actives ahora (necesita un proyecto y un dataset que mantener), pero fíjate en las opciones Standard usage cost, Detailed usage cost y Pricing. En una empresa, se activa el primer día.
Paso 6 (opcional): Organización con Cloud Identity Free
Varios labs posteriores (carpetas, políticas de organización, VPC Service Controls) necesitan una organización, y una cuenta de Gmail no la tiene. Si tienes un dominio propio (por ejemplo, midominio.es), puedes crear una gratis:
- Regístrate en Cloud Identity Free con tu dominio (desde la consola: IAM y administración → Identidad y organización, o en la web de Cloud Identity). La edición Free admite de entrada unos 50 usuarios.
- Verifica el dominio añadiendo un registro TXT en tu DNS.
- Crea tu usuario administrador (
admin@midominio.es). Al iniciar sesión con él en la consola de Google Cloud, se crea el recurso organización asociado al dominio. - Para usar la prueba gratuita con la organización, puedes mover tus proyectos a ella o crear proyectos nuevos dentro, vinculados a la misma cuenta de facturación (necesitas permisos sobre ambas).
Si no tienes dominio, no pasa nada: esas partes las harás como ejercicio de lectura.
Comprueba que funciona
gcloud billing projects describe "$PROJECT_ID"muestrabillingEnabled: true.- En Presupuestos y alertas aparece
pca-cursocon los umbrales 50/90/100 % reales y 100 % previsto. - En Descripción general de facturación ves el crédito de 300 USD (o lo que quede) y los días restantes.
Limpieza
Este lab no genera coste, pero practica ya el cierre de proyectos. Conserva el presupuesto (sirve para todo el curso).
gcloud projects delete "$PROJECT_ID"
gcloud projects list --filter="lifecycleState=DELETE_REQUESTED"
El proyecto queda 30 días en eliminación pendiente y deja de generar gastos. Si te equivocas, puedes recuperarlo en ese plazo:
gcloud projects undelete "$PROJECT_ID"
Por consola: IAM y administración → Configuración → Cerrar. Borra también «My First Project» si no lo usas.
Preguntas para pensar como arquitecto
1. Un equipo quiere «garantizar» que un proyecto de pruebas nunca gaste más de 500 USD al mes. ¿Basta con un presupuesto?
No. Un presupuesto solo notifica. Para un límite duro hace falta una notificación programática a Pub/Sub y una automatización (por ejemplo, una función que desvincule la facturación), asumiendo que eso detiene los recursos. Otras medidas complementarias: cuotas bajas en el proyecto y permisos restringidos para crear recursos caros.
2. ¿Por qué crear un proyecto por lab (o por aplicación y entorno) en lugar de uno para todo?
Aísla permisos, cuotas y costes, reduce el radio de explosión de un error y permite limpiar borrando el proyecto entero. En una empresa, además, permite aplicar políticas distintas por entorno mediante carpetas.
3. Finanzas quiere ver el gasto de todos los proyectos pero no tocar ningún recurso. ¿Qué rol le das y dónde?
Billing Account Viewer sobre la cuenta de facturación. No necesita ningún rol en los proyectos. Si además quiere análisis detallados, exportación de facturación a BigQuery y acceso de lectura a ese dataset.
4. Has borrado por error el proyecto de producción. ¿Qué haces?
Restaurarlo con gcloud projects undelete (o desde la consola) dentro de los 30 días de eliminación pendiente. Para prevenirlo: limitar quién tiene permiso de borrar proyectos y usar liens (bloqueos) sobre proyectos críticos, que impiden su eliminación mientras existan.