Si usas secuencias de comandos de ajuste de escala automático o servicios de tiempo de ejecución en Compute Engine, puedes automatizar las canalizaciones de integración continua y de implementación continua (CI/CD). Sin embargo, debido a que estos recursos dependen en gran medida de las definiciones de recursos globales cuando consultan extremos de API globales, este enfoque puede introducir un único punto de falla en tu arquitectura de varias regiones.
Para mitigar este riesgo, puedes configurar tus servicios para que accedan a vistas regionales de recursos globales. Cuando envías solicitudes GET y LIST a extremos de solo lectura regionalizados dentro de la región exacta en la que se ejecutan tus cargas de trabajo de procesamiento, tus servicios aíslan su consumo de API de posibles interrupciones en el plano de control global o en otras regiones. Para obtener más información sobre los extremos de solo lectura regionalizados y las prácticas recomendadas de resiliencia, consulta Usa vistas regionales para lecturas resilientes del plano de control.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los Google Cloud servicios y las APIs. Para ejecutar
código o muestras desde un entorno de desarrollo local, puedes autenticarte en
Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña según cómo planeas usar las muestras en esta página:
Console
Cuando usas la Google Cloud consola para acceder a los Google Cloud servicios y las APIs, no necesitas configurar la autenticación.
gcloud
-
Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala la Google Cloud CLI.
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la Google Cloud documentación de autenticación de.
Roles obligatorios
Para obtener los permisos que
necesitas para acceder a los recursos globales de forma regional,
pídele a tu administrador que te otorgue el
rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) en el proyecto o las imágenes de SO.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para acceder a los recursos globales de forma regional. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para acceder a los recursos globales de forma regional:
-
Para obtener vistas regionales de un proyecto:
compute.projects.geten el proyecto -
Para obtener vistas regionales de imágenes de SO:
compute.images.getycompute.images.listen el proyecto o las imágenes de SO
También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.
Recurso del proyecto
Puedes obtener vistas regionales de tu recurso de proyecto global con el extremo de solo lectura projectViews.
Cuando consultas el extremo projectViews, Compute Engine
muestra el objeto de recurso compute.Project
global estándar. El recurso en sí sigue siendo global.
Obtén una vista regional de un recurso del proyecto
Puedes obtener una vista regional de tu proyecto global con Google Cloud CLI o la API de REST.
gcloud
Para describir tu proyecto global a través del plano de control de una región específica, ejecuta el
gcloud compute project-views describe comando:
gcloud compute project-views describe \
--region=REGION \
--project=PROJECT_ID
Reemplaza lo siguiente:
REGION: la Google Cloud región para la solicitud a la API, por ejemplo,us-central1.PROJECT_ID: Es el ID del proyecto.
REST
Para describir tu proyecto global a través del plano de control de una región específica, envía una solicitud GET al
projectViews método.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/projectViews"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: la Google Cloud región para la solicitud a la API, por ejemplo,us-central1.
La API muestra directamente la representación de recursos compute.Project estándar.
{
"kind": "compute#project",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-project12345",
"commonInstanceMetadata": {
"items": [
{
"key": "example-key",
"value": "example-value"
}
]
},
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345",
"defaultServiceAccount": "SERVICE_ACCOUNT_EMAIL"
}
Recurso de imagen de SO
Puedes obtener vistas regionales de tu recurso de imagen de SO global con el extremo de solo lectura imageViews.
Cuando consultas el extremo imageViews, Compute Engine
muestra el objeto de recurso compute.Image
global estándar. El recurso en sí sigue siendo global.
Obtén una lista regional de recursos de imagen de SO
Puedes enumerar todas las imágenes de SO globales que están disponibles para tu proyecto a través de un extremo regional específico con gcloud CLI o la API de REST.
gcloud
Para enumerar imágenes de SO globales con un extremo regional, ejecuta el
gcloud compute image-views list comando:
gcloud compute image-views list \
--region=REGION \
--project=PROJECT_ID
Reemplaza lo siguiente:
REGION: la Google Cloud región para la solicitud a la API, por ejemplo,us-central1.PROJECT_ID: Es el ID del proyecto.
REST
Para enumerar imágenes de SO globales con un extremo regional, envía una solicitud GET al método imageViews:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: laregión para la solicitud a la API, por ejemplo,us-central1. Google Cloud
Obtén una vista regional de un recurso de imagen de SO
Puedes recuperar información de una imagen de SO global específica a través de un extremo regional con gcloud CLI o la API de REST.
gcloud
Para recuperar detalles de una imagen de SO global con un extremo regional, ejecuta
el gcloud compute image-views describe comando:
gcloud compute image-views describe IMAGE_NAME \
--region=REGION \
--project=PROJECT_ID
Reemplaza lo siguiente:
IMAGE_NAME: El nombre del recurso de imagen de SO global.REGION: la Google Cloud región para la solicitud a la API, por ejemplo,us-central1.PROJECT_ID: Es el ID del proyecto.
REST
Para recuperar detalles de una imagen de SO global con un extremo regional, envía una solicitud GET al método
imageViews específico:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews/IMAGE_NAME"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: la Google Cloud región para la solicitud a la API, por ejemplo,us-central1.IMAGE_NAME: El nombre del recurso de imagen de SO global.
La API muestra directamente la representación de recursos compute.Image estándar.
{
"kind": "compute#image",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-image12345",
"sourceDisk": "https://www.googleapis.com/compute/v1/projects/my-project12345/zones/us-central1-a/disks/my-disk12345",
"sourceDiskId": "1234567890123456789",
"sourceType": "RAW",
"status": "READY",
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345/global/images/my-image12345"
}
¿Qué sigue?
- Obtén más información sobre el recurso del proyecto.
- Obtén más información sobre las imágenes de SO.
- Aprende a solucionar problemas de vistas regionales de recursos globales.