En utilisant des scripts d'autoscaling ou des services d'exécution sur Compute Engine, vous pouvez automatiser les pipelines d'intégration et de déploiement continus (CI/CD). Toutefois, comme ces ressources dépendent fortement des définitions de ressources globales lorsqu'elles interrogent des points de terminaison d'API globaux, cette approche peut introduire un point de défaillance unique dans votre architecture multirégionale.
Pour atténuer ce risque, vous pouvez configurer vos services afin qu'ils accèdent à des vues régionales des ressources globales. En envoyant des requêtes GET et LIST à des points de terminaison régionaux en lecture seule dans la région exacte où vos charges de travail de calcul s'exécutent, vos services isolent leur consommation d'API des pannes potentielles dans le plan de contrôle global ou dans d'autres régions. Pour en savoir plus sur les
points de terminaison régionaux en lecture seule et les bonnes pratiques de résilience, consultez Utiliser des vues régionales pour les lectures résilientes du plan de contrôle.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux Google Cloud services et aux API. Pour exécuter
du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de
Compute Engine en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la Google Cloud console pour accéder aux Google Cloud services et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Google Cloud authentification.
Rôles requis
Pour obtenir les autorisations nécessaires pour accéder aux ressources globales au niveau régional, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le projet ou les images d'OS.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour accéder aux ressources globales au niveau régional. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour accéder aux ressources globales au niveau régional :
-
Pour obtenir des vues régionales d'un projet:
compute.projects.getsur le projet -
Pour obtenir des vues régionales des images de l'OS :
compute.images.getetcompute.images.listsur le projet ou les images de l'OS
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Ressource de projet
Vous pouvez obtenir des vues régionales de votre ressource de projet globale à l'aide du point de terminaison en lecture seule projectViews.
Lorsque vous interrogez le point de terminaison projectViews, Compute Engine
renvoie l'objet de ressource compute.Project
global standard. La ressource elle-même reste globale.
Obtenir une vue régionale d'une ressource de projet
Vous pouvez obtenir une vue régionale de votre projet global à l'aide de la Google Cloud CLI ou de l'API REST.
gcloud
Pour décrire votre projet global via le plan de contrôle d'une région spécifique, exécutez la
gcloud compute project-views describe commande :
gcloud compute project-views describe \
--region=REGION \
--project=PROJECT_ID
Remplacez les éléments suivants :
REGION: Google Cloud région de la requête API, par exempleus-central1.PROJECT_ID: ID du projet.
REST
Pour décrire votre projet global via le plan de contrôle d'une région spécifique, envoyez une GET requête à la
projectViews méthode.
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"
Remplacez les éléments suivants :
PROJECT_ID: ID du projet.REGION: région de la requête API, par exempleus-central1. Google Cloud
L'API renvoie directement la représentation de ressource compute.Project standard.
{
"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"
}
Ressource d'image de l'OS
Vous pouvez obtenir des vues régionales de votre ressource d'image de l'OS globale à l'aide du point de terminaison en lecture seule imageViews.
Lorsque vous interrogez le point de terminaison imageViews, Compute Engine
renvoie l'objet de ressource compute.Image
global standard. La ressource elle-même reste globale.
Obtenir une liste régionale des ressources d'image d'OS
Vous pouvez lister toutes les images de l'OS globales disponibles pour votre projet via un point de terminaison régional spécifique à l'aide de la gcloud CLI ou de l'API REST.
gcloud
Pour lister les images de l'OS globales à l'aide d'un point de terminaison régional, exécutez la
gcloud compute image-views list commande :
gcloud compute image-views list \
--region=REGION \
--project=PROJECT_ID
Remplacez les éléments suivants :
REGION: région de la requête API, par exempleus-central1. Google CloudPROJECT_ID: ID du projet.
REST
Pour lister les images de l'OS globales à l'aide d'un point de terminaison régional, envoyez une GET requête à la imageViews méthode :
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews"
Remplacez les éléments suivants :
PROJECT_ID: ID du projet.REGION: région de la Google Cloud requête API, par exempleus-central1.
Obtenir une vue régionale d'une ressource d'image d'OS
Vous pouvez récupérer des informations sur une image de l'OS globale spécifique via un point de terminaison régional à l'aide de la gcloud CLI ou de l'API REST.
gcloud
Pour récupérer les détails d'une image de l'OS globale à l'aide d'un point de terminaison régional, exécutez
la gcloud compute image-views describe commande :
gcloud compute image-views describe IMAGE_NAME \
--region=REGION \
--project=PROJECT_ID
Remplacez les éléments suivants :
IMAGE_NAME: nom de la ressource d'image d'OS globale.REGION: région de la requête API, par exempleus-central1. Google CloudPROJECT_ID: ID du projet.
REST
Pour récupérer les détails d'une image de l'OS globale à l'aide d'un point de terminaison régional, envoyez une GET requête à la méthode
imageViews spécifique :
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews/IMAGE_NAME"
Remplacez les éléments suivants :
PROJECT_ID: ID du projet.REGION: Google Cloud région de la requête API, par exempleus-central1.IMAGE_NAME: nom de la ressource d'image d'OS globale.
L'API renvoie directement la représentation de ressource compute.Image standard.
{
"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"
}
Étape suivante
- En savoir plus sur la ressource de projet.
- En savoir plus sur les images de l'OS.
- Découvrez comment résoudre les problèmes liés aux vues régionales des ressources globales.