Configuración básica con el kit de herramientas de Fabric FAST

En esta página, se describe cómo usar el framework de Terraform de Fabric FAST para configurar una nueva "organización de inicio". Si bien siempre puedes crear proyectos, carpetas y más de forma manual, usar la configuración básica de Fabric FAST te permite comenzar a trabajar rápidamente con valores predeterminados seguros y bien probados, y sin la sobrecarga administrativa de una configuración empresarial grande.

Esta página está destinada a los administradores que necesitan configurar una organización nueva en Cloud de Confiance. Recomendamos esta opción si se aplican los siguientes casos a tu organización:

  • Tienes poca experiencia con la configuración de la nube y Terraform.
  • Esperas que un solo equipo (o incluso un solo ingeniero) administre toda la pila de extremo a extremo. Esto puede suceder si eres una organización o startup más pequeña, o si estás desarrollando una prueba de concepto.

Después de completar esta configuración, puedes seguir usando Terraform para administrar tu organización nueva o cambiar a Google Cloud CLI o la Cloud de Confiance consola.

Si tienes necesidades organizativas o técnicas más complejas, o si ya usaste Fabric FAST con Google Cloud, te recomendamos que vayas directamente a Configuración empresarial con Fabric FAST para obtener información sobre las etapas de FAST y comenzar a usar nuestra configuración clásica. Si aún no estás seguro de qué opción es para ti, consulta ¿Qué configuración de Fabric FAST es para mí?.

¿Qué debo saber primero?

Antes de leer esta guía, debes hacer lo siguiente:

Es útil estar familiarizado con Terraform, pero no es necesario ser un usuario experimentado de Terraform para usar esta guía.

¿Qué obtengo con esta configuración?

La configuración "de inicio" de Fabric FAST es relativamente plana y proporciona un punto de partida básico y utilizable para tu organización. Esto contrasta con la configuración "clásica", que tiene una jerarquía de recursos profunda y de nivel empresarial, y que implica compilar la configuración de forma incremental en etapas.

Después de ejecutar la configuración, el recurso de tu organización contiene lo siguiente:

  • Dos carpetas de entorno, una para el desarrollo y otra para la producción. Se etiquetan automáticamente para ayudarte a hacer un seguimiento de los costos y aplicar políticas por entorno.
  • Dos proyectos en cada carpeta:
    • Un proyecto de red dedicado para contener la única red de la carpeta.
    • Un primer proyecto de aplicación, creado en la carpeta y configurado como un proyecto de servicio de la VPC de la carpeta.
  • Una sola red de nube privada virtual (VPC) en cada carpeta, con una subred y reglas de firewall básicas y seguras preconfiguradas (por ejemplo, que permiten el acceso seguro a Identity-Aware Proxy [IAP]).
  • Un solo proyecto de administración de nivel superior (prod-iac-core-0). Este proyecto actúa como el cerebro de tu configuración, ya que almacena de forma segura el estado de Terraform, las cuentas de servicio de automatización y los registros de auditoría centrales.

Luego, puedes agregar tus propias carpetas, proyectos, redes y otros recursos según sea necesario.

En el siguiente diagrama, se muestran las relaciones entre los recursos "de inicio":

Diagrama que muestra la arquitectura del iniciador de FAST.

Antes de comenzar

Asegúrate de que se cumpla lo siguiente:

  • Tienes un proveedor de identidad (IdP) configurado para tu organización y accediste a Cloud de Confiance con tu ID de administrador.
  • Configuraste Google Cloud CLI para usarlo con Cloud de Confiance.
  • Tienes instaladas las herramientas git y terraform en tu máquina local:
  • Tienes lista la siguiente información:

    • El principal elegido al que se le deben otorgar permisos de administrador para tu organización. Puede ser tu propio ID o (recomendado) un grupo de usuarios administradores del que eres miembro.
    • La dirección de correo electrónico de contacto esencial elegida para los proyectos principales
    • El ID de recurso de tu organización. Puedes encontrarlo en la Cloud de Confiance consola o ejecutando el siguiente comando de Google Cloud CLI:

      gcloud organizations list
      

      En esta lista, se muestran todas las organizaciones a las que perteneces (solo debe haber una) y sus IDs correspondientes.

Otorga los permisos necesarios

Ejecuta los siguientes comandos para otorgar a la entidad que ejecuta la implementación los permisos de IAM necesarios:

export FAST_PRINCIPAL="PRINCIPAL_ID"

export FAST_ORG_ID="ORG_ID"

# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
  roles/billing.admin \
  roles/logging.admin \
  roles/iam.organizationRoleAdmin \
  roles/orgpolicy.policyAdmin \
  roles/resourcemanager.folderAdmin \
  roles/resourcemanager.organizationAdmin \
  roles/resourcemanager.projectCreator \
  roles/resourcemanager.tagAdmin \
  roles/owner"

for role in $FAST_ROLES; do
  gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
    --member $FAST_PRINCIPAL --role $role --condition None
done

Reemplaza lo siguiente:

  • PRINCIPAL_ID: Un identificador para el principal pertinente. Puedes obtener más información para especificar identidades y grupos de la federación de identidades de personal en Identificadores principales.
  • ORG_ID: El ID de recurso de tu organización.

Crea un proyecto temporal

El Terraform de Fabric FAST requiere que se ejecute al menos un proyecto existente, ya que los servicios de política de la organización no están disponibles automáticamente en la raíz de la organización durante la configuración inicial. Si es la primera vez que aplicas Terraform en una organización vacía, crea un proyecto temporal en la raíz de tu organización nueva con los siguientes pasos:

  1. Crea un proyecto en tu organización y toma nota de su ID del proyecto.
  2. Configura el proyecto como tu proyecto actual para Google Cloud CLI:

    gcloud config set project PROJECT_ID
    
  3. Ejecuta el siguiente comando para habilitar los servicios necesarios en tu proyecto:

    gcloud services enable \
     bigquery.googleapis.com \
     cloudbilling.googleapis.com \
     cloudresourcemanager.googleapis.com \
     essentialcontacts.googleapis.com \
     iam.googleapis.com \
     logging.googleapis.com \
     orgpolicy.googleapis.com \
     serviceusage.googleapis.com
    

Puedes borrar este proyecto si lo deseas una vez que hayas terminado la configuración.

Obtén Terraform

Ejecuta el siguiente comando para clonar el repositorio de Fabric FAST en tu máquina local:

git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git

Después de copiar los archivos en tu máquina, cambia al directorio raíz de la etapa de configuración de la organización de Fabric FAST como tu directorio de trabajo para comenzar.

cd cloud-foundation-fabric/fast/stages/0-org-setup

Actualiza los archivos de configuración

Antes de aplicar Terraform, debes actualizar algunos archivos de configuración que usa Fabric FAST para especificar detalles como la configuración elegida, tu universo de destino y tu cuenta de administrador. Usa el editor de texto que prefieras.

Crea un archivo de proveedores

Un archivo de proveedores garantiza que Terraform se oriente a los extremos de API correctos para tu universo.

  1. En el directorio raíz de la etapa de configuración de la organización (0-org-setup), crea un archivo llamado providers.tf.
  2. Agrega lo siguiente a tu archivo:

    provider "google" {
      universe_domain = "s3nsapis.fr"
    }
    
    provider "google-beta" {
      universe_domain = "s3nsapis.fr"
    }
    
  3. Guarda el archivo nuevo.

Especifica tu conjunto de datos

La configuración de inicio se especifica en el conjunto de datos starter-gcd. En Fabric FAST, un conjunto de datos es una configuración basada en YAML que especifica el tipo y la cantidad de recursos de la nube que deseas crear, lo que permite a los usuarios seleccionar entre las prácticas recomendadas para diferentes tipos de organización y diferentes necesidades técnicas.

Para especificar que deseas usar el conjunto de datos starter-gcd, completa los siguientes pasos:

  1. Aún en el directorio raíz de la etapa de configuración de la organización, crea un archivo nuevo llamado terraform.tfvars.
  2. En este archivo, especifica que deseas usar el conjunto de datos starter-gcd de la siguiente manera:

    factories_config = {
       dataset="datasets/starter-gcd"
    }
    
  3. Guarda el archivo nuevo.

Especifica los valores predeterminados de configuración

Fabric FAST usa un archivo defaults.yaml para cada conjunto de datos para especificar los valores que se usan en toda la configuración, como los valores específicos del universo y los detalles del administrador.

  1. Abre el archivo defaults.yaml existente en el directorio 0-org-setup/datasets/starter-gcd del conjunto de datos.
  2. Actualiza el archivo de valores predeterminados de la siguiente manera:

    # ... existing configuration ...
    projects:
      defaults:
        prefix: PREFIX
        locations:
          logging: global
          storage: u-france-east1
      overrides:
        universe:
          domain: s3nsapis.fr
          prefix: s3ns
          forced_jit_service_identities:
            - compute.googleapis.com
          unavailable_service_identities:
            - dns.googleapis.com
            - monitoring.googleapis.com
            - networksecurity.googleapis.com
    context:
      email_addresses:
        gcp-organization-admins: CONTACT_EMAIL
      iam_principals:
        gcp-organization-admins: ADMIN_ID
      locations:
        primary: u-france-east1
    # ... existing configuration ...
    

    Reemplaza lo siguiente:

    • PREFIX: Un prefijo específico de la organización que se agrega al ID de cada proyecto creado, además del prefijo automático específico del universo. Esto ayuda a garantizar que los IDs de tus proyectos sean únicos en tu universo.
    • CONTACT_EMAIL: La dirección de correo electrónico que deseas establecer como contacto esencial para los proyectos principales.
    • ADMIN_ID: Un identificador para el grupo o ID que debe tener permisos de administrador para tu organización.
  3. Guarda defaults.yaml.

Aplica Terraform

  1. Asegúrate de haber regresado al directorio raíz de la etapa de configuración de la organización.
  2. Ejecuta el siguiente comando para inicializar Terraform (solo debes hacerlo una vez por directorio):

    terraform init
    
  3. Ejecuta el siguiente comando para aplicar Terraform:

    terraform apply
    

Verifica la configuración

Para verificar la configuración, te recomendamos que primero uses Google Cloud CLI o la Cloud de Confiance consola para comprobar que la estructura de carpetas y proyectos se haya configurado correctamente.

Luego, puedes intentar implementar una o varias cargas de trabajo de aplicaciones en uno de los proyectos de aplicación, ya sea con una carga de trabajo de tu elección o siguiendo algunos de nuestros instructivos de inicio rápido. Estos son instructivos breves que te ayudan a poner en funcionamiento rápidamente un ejemplo simple en Cloud de Confiance. Obtén más información en ¿Qué sigue?.

¿Qué sigue?