Définir des emplacements de création et de restauration pour les instantanés à portée régionale

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

    1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :

      gcloud init

      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.

  • 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 :

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 projet
  • ZONE_A : zone du disque
  • REGION_A : région du disque
  • REGION_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 projet
  • REGION_A: région dans laquelle les instantanés à champ d'application régional sont stockés
  • REGION_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 projet
  • REGION_A: région dans laquelle les instantanés à champ d'application régional sont stockés
  • REGION_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 projet
  • REGION_A: région dans laquelle les instantanés à champ d'application régional sont stockés
  • REGION_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 projet
  • REGION_A: région dans laquelle les instantanés à champ d'application régional sont stockés
  • REGION_B: région dans laquelle vous souhaitez supprimer l'accès à la restauration pour les instantanés à champ d'application régional