Par défaut, les instantanés sont créés avec un champ d'application global. Les instantanés à champ d'application global sont stockés dans un emplacement de stockage spécifique et peuvent être restaurés (utilisés pour créer un disque) dans n'importe quelle région ou zone. Pour un contrôle d'isolation supplémentaire basé sur l'emplacement, vous pouvez créer des instantanés à champ d'application régional. Les instantanés à champ d'application régional stockent toutes les données et métadonnées d'instantané ensemble dans la région concernée. Avec les instantanés à champ d'application régional, vous pouvez également limiter les régions dans lesquelles vous pouvez créer et restaurer des instantanés.
Ce document explique comment définir les emplacements autorisés pour la création et la restauration d'instantanés régionaux.
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.
Limites
- La définition d'un champ d'application régional remplace tous les paramètres d'emplacement de stockage par défaut du projet.
- La définition d'un champ d'application régional ne s'applique qu'aux nouveaux instantanés régionaux.
- Vous ne pouvez pas convertir un instantané à champ d'application global en instantané à champ d'application régional. Vous devez créer un instantané avec le champ d'application approprié.
Rôles et autorisations requis
Pour obtenir les autorisations nécessaires pour définir les emplacements de stockage et de restauration des instantanés à champ d'application régional, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Administrateur d'instances Compute (v1)
(
roles/compute.instanceAdmin.v1) - Pour se connecter à une VM pouvant s'exécuter en tant que compte de service : Utilisateur du compte de service (v1)
(
roles/iam.serviceAccountUser)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour définir les emplacements de création et de restauration d'instantanés. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Définir les emplacements de création d'instantanés autorisés
Par défaut, vous pouvez créer des instantanés dans toutes les régions. Pour limiter les emplacements où vous pouvez créer des instantanés à champ d'application régional, définissez les emplacements d'accès autorisés au niveau du projet. Une fois que vous avez défini les emplacements d'accès, vous ne pouvez créer des instantanés à champ d'application régional pour le projet que dans ces emplacements.
gcloud
Pour autoriser les disques zonaux de la zone A à créer des instantanés dans n'importe quelle région, utilisez la
gcloud beta compute disk-settings update commande :
gcloud beta compute disk-settings update \
--zone=ZONE_A \
--access-location-policy=all-regions \
Pour autoriser les disques régionaux de la région A à créer des instantanés dans n'importe quelle région, utilisez la
gcloud beta compute disk-settings update commande :
gcloud beta compute disk-settings update \
--region=REGION_A \
--access-location-policy=all-regions
Pour autoriser les disques de la région A à créer des instantanés uniquement dans la région B, utilisez la
gcloud beta compute disk-settings update commande :
gcloud beta compute disk-settings update \
--access-location-policy=specific-regions \
--region=REGION_A \
--add-access-locations=REGION_B
Remplacez les éléments suivants :
ZONE_A: zone des disques pouvant créer des instantanés dans n'importe quelle région.REGION_A: région de tous les disques (dans un projet) qui nécessitent des restrictions de création d'instantanés à champ d'application régional.REGION_B: région autorisée pour la création d'instantanés à champ d'application régional. Vous pouvez définir plusieurs régions comme emplacements d'accès autorisés. Vous devez inclure la région dans laquelle le disque source est stocké comme l'une des régions autorisées.
REST
Pour autoriser les disques zonaux de la zone A à créer des instantanés dans n'importe quelle région, envoyez une requête PATCH à la méthode diskSettings.patch :
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE_A/diskSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"ALL_REGIONS"
}
}
Pour autoriser les disques régionaux de la région A à créer des instantanés uniquement dans la région B, envoyez une requête PATCH à la méthode regionDiskSettings.patch :
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION_A/diskSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"SPECIFIC_REGIONS",
"locations":
{
"REGION_B":{"region":"REGION_B"}
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projetZONE_A: zone du disqueREGION_A: région du disqueREGION_B: région autorisée pour la création d'instantanés Vous pouvez définir plusieurs régions comme emplacements d'accès autorisés. Vous devez inclure la région dans laquelle le disque source est stocké comme l'une des régions autorisées.
Définir les emplacements de restauration d'instantanés autorisés
Par défaut, vous pouvez restaurer des instantanés à champ d'application régional et global dans n'importe quelle région. Pour configurer les emplacements de restauration de vos instantanés à champ d'application régional, définissez les emplacements d'accès autorisés au niveau du projet. Vous devez définir les emplacements d'accès autorisés pour chaque projet individuellement. Une fois que vous avez défini les emplacements d'accès, vous ne pouvez restaurer les instantanés à champ d'application régional pour le projet que dans ces emplacements.
gcloud
Pour autoriser la restauration des instantanés d'un projet de la région A dans toutes les régions,
utilisez la
gcloud beta compute snapshot-settings update commande :
gcloud beta compute snapshot-settings update \
--project=PROJECT_ID \
--region=REGION_A \
--access-location-policy=all-regions
Pour autoriser la restauration des instantanés d'un projet de la région A uniquement dans la région B,
utilisez la
gcloud beta compute snapshot-settings update commande :
gcloud beta compute snapshot-settings update \
--project=PROJECT_ID \
--access-location-policy=specific-regions \
--region=REGION_A \
--add-access-locations=REGION_B
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION_A: région dans laquelle les instantanés à champ d'application régional sont stockésREGION_B: région autorisée dans laquelle les instantanés à champ d'application régional peuvent être restaurés Vous pouvez définir plusieurs régions comme emplacements de restauration autorisés.
REST
Pour autoriser la restauration des instantanés d'un projet de la région A dans toutes les régions,
envoyez une PATCH
requête à la méthode regionSnapshotSettings.patch :
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"ALL_REGIONS"
}
}
Pour autoriser la restauration des instantanés d'un projet de la région A uniquement dans la région B,
envoyez une
PATCH requête à la méthode regionSnapshotSettings.patch :
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"SPECIFIC_REGIONS",
"locations":
{"REGION_B":
{"region":"REGION_B"}
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION_A: région dans laquelle les instantanés à champ d'application régional sont stockésREGION_B: région autorisée dans laquelle les instantanés à champ d'application régional peuvent être restaurés Vous pouvez définir plusieurs régions comme emplacements de restauration autorisés.
Modifier les emplacements de restauration d'instantanés autorisés
gcloud
Pour afficher les emplacements de restauration autorisés pour les instantanés d'un projet stocké dans
la région A, utilisez la
gcloud beta compute snapshot-settings describe commande :
gcloud beta compute snapshot-settings describe \
--project=PROJECT_ID \
--region=REGION_A
Pour supprimer la région B de la liste des emplacements de restauration autorisés pour les instantanés
d'un projet stocké dans la région A, utilisez
la gcloud beta compute snapshot-settings update commande :
gcloud beta compute snapshot-settings update \
--project=PROJECT_ID \
--access-location-policy=specific-regions \
--remove-access-locations=REGION_B \
--region=REGION_A
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION_A: région dans laquelle les instantanés à champ d'application régional sont stockésREGION_B: région dans laquelle vous souhaitez supprimer l'accès à la restauration pour les instantanés à champ d'application régional
REST
Pour afficher les emplacements de restauration autorisés pour les instantanés d'un projet stocké dans
la région A, envoyez une GET requête à la
regionSnapshotSettings.get méthode :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings
Pour supprimer la région B de la liste des emplacements de restauration autorisés pour les instantanés
d'un projet stocké dans la région A, envoyez une
PATCH requête à la regionSnapshotSettings.patch méthode :
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"SPECIFIC_REGIONS",
"locations":
{"REGION_B":{}}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION_A: région dans laquelle les instantanés à champ d'application régional sont stockésREGION_B: région dans laquelle vous souhaitez supprimer l'accès à la restauration pour les instantanés à champ d'application régional