Remplacer, retirer ou supprimer des stratégies d'emplacement


Ce document explique comment remplacer, retirer ou supprimer des stratégies d'emplacement.

Remplacer, retirer ou supprimer des stratégies d'emplacement est utile dans les cas suivants :

  • Remplacer une stratégie d'emplacement dans une instance de machine virtuelle (VM) pour déplacer la VM à une position différente par rapport aux autres VM.

  • Retirer une stratégie d'emplacement d'une VM lorsque vous n'êtes plus intéressé par sa position par rapport aux autres VM.

  • Supprimer une stratégie d'emplacement lorsque vous n'en avez plus besoin.

Avant de commencer

  • Consultez les restrictions applicables aux stratégies d'emplacement.
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

Rôles requis

Pour obtenir les autorisations nécessaires pour remplacer, retirer ou supprimer des stratégies d'emplacement, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour remplacer, retirer ou supprimer des stratégies d'emplacement. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour remplacer, retirer ou supprimer des stratégies d'emplacement :

  • Pour remplacer ou retirer une stratégie d'emplacement d'une VM : compute.instances.update on the project
  • Pour supprimer une stratégie d'emplacement : compute.resourcePolicies.delete on the project

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Remplacer une stratégie d'emplacement dans une VM

Avant de remplacer une stratégie d'emplacement par répartition dans une VM par une stratégie d'emplacement compact, assurez-vous que la VM utilise un type de machine et une stratégie de maintenance de l'hôte compatibles. Si vous devez mettre à jour la VM avant de remplacer sa stratégie d'emplacement, effectuez l'une des opérations suivantes, ou les deux :

Après avoir remplacé la stratégie d'emplacement dans une VM, vous devez redémarrer la VM pour que la nouvelle stratégie d'emplacement appliquée soit effective.

Pour remplacer une stratégie d'emplacement dans une VM, sélectionnez l'une des options suivantes :

gcloud

  1. Pour exporter les propriétés d'une VM existante, utilisez la commande gcloud compute instances export.

    gcloud compute instances export VM_NAME \
        --destination=FILE_PATH \
        --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom d'une VM existante qui spécifie une stratégie d'emplacement.

    • FILE_PATH : chemin d'accès où enregistrer le fichier de configuration de VM.

    • ZONE : zone où se trouve la VM.

  2. Dans l'éditeur de texte de votre choix, ouvrez le fichier de configuration de VM.

  3. Pour remplacer la stratégie d'emplacement par une autre stratégie existante, remplacez la valeur du champ resourcePolicies par une autre stratégie d'emplacement.

    resourcePolicies:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel se trouve la stratégie d'emplacement.

    • REGION : région où se trouve la stratégie.

    • POLICY_NAME : nom de la stratégie d'emplacement.

    Vous pouvez également modifier d'autres propriétés de la VM. Pour en savoir plus, consultez la section Propriétés que vous pouvez mettre à jour.

  4. Suivez les étapes restantes dans la section Mettre à jour les propriétés d'une VM.

REST

  1. Pour exporter les propriétés d'une VM existante, envoyez une requête GET à la méthode instances.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel se trouve la VM.

    • ZONE : zone où se trouve la VM.

    • VM_NAME : nom d'une VM existante qui spécifie une stratégie d'emplacement.

    La requête renvoie les détails de configuration de la VM.

  2. Pour remplacer la stratégie d'emplacement par une autre stratégie existante, remplacez la valeur du champ resourcePolicies par une autre stratégie d'emplacement.

    "resourcePolicies": [
      "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
    ]
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel se trouve la stratégie d'emplacement.

    • REGION : région où se trouve la stratégie.

    • POLICY_NAME : nom de la stratégie d'emplacement.

    Vous pouvez également modifier d'autres propriétés de la VM. Pour en savoir plus, consultez la section Propriétés que vous pouvez mettre à jour.

  3. Suivez les étapes restantes dans la section Mettre à jour les propriétés d'une VM.

Retirer une stratégie d'emplacement d'une VM

Si vous souhaitez retirer une stratégie d'emplacement par répartition d'une VM avec deux domaines de disponibilité ou plus, vous pouvez le faire sans arrêter la VM. Si vous souhaitez retirer une stratégie d'emplacement compact ou une stratégie d'emplacement par répartition avec un seul domaine de disponibilité, vous devez d'abord arrêter la VM avant de retirer la stratégie d'emplacement qui lui est associée.

Le fait de retirer une stratégie d'emplacement d'une VM n'a aucune incidence sur son emplacement physique. Toutefois, si la VM migre à chaud, Compute Engine peut la déplacer vers un autre emplacement physique.

Pour retirer une stratégie d'emplacement d'une VM, sélectionnez l'une des options suivantes :

gcloud

Pour supprimer une stratégie d'emplacement d'une VM, utilisez la commande gcloud compute instances remove-resource-policies.

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Remplacez les éléments suivants :

  • VM_NAME : nom d'une VM existante qui spécifie une stratégie d'emplacement.

  • POLICY_NAME : nom de la stratégie d'emplacement appliquée à la VM. Pour vérifier le nom de la stratégie d'emplacement, affichez les détails de la VM et vérifiez la valeur du champ resourcePolicies.

  • ZONE : zone où se trouve la VM.

REST

Pour supprimer une stratégie d'emplacement d'une VM, envoyez une requête POST à la méthode instances.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/removeResourcePolicies

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve la VM.

  • ZONE : zone où se trouve la VM.

  • VM_NAME : nom d'une VM existante qui spécifie une stratégie d'emplacement.

  • REGION : région où se trouve la stratégie d'emplacement.

  • POLICY_NAME : nom de la stratégie d'emplacement appliquée à la VM. Pour vérifier le nom de la stratégie d'emplacement, affichez les détails de la VM et vérifiez la valeur du champ resourcePolicies.

Supprimer une stratégie d'emplacement

Vous ne pouvez supprimer une stratégie d'emplacement que si elle n'est appliquée à aucune ressource Compute Engine. Sinon, la suppression de la stratégie d'emplacement échoue. Si vous souhaitez supprimer une stratégie d'emplacement appliquée à une ou plusieurs ressources Compute Engine, effectuez l'une des opérations suivantes :

  • Si la stratégie est appliquée uniquement à des VM et que vous souhaitez conserver les VM, procédez comme suit :

    1. Retirez la stratégie d'emplacement des VM, comme décrit dans ce document.

    2. Supprimez la stratégie d'emplacement comme décrit dans cette section.

  • Sinon, procédez comme suit :

    1. Facultatif : Retirez la stratégie d'emplacement de toute VM que vous souhaitez conserver, comme décrit dans ce document.

    2. Supprimez toutes les autres ressources Compute Engine auxquelles la stratégie d'emplacement est appliquée dans l'ordre suivant :

      1. VM

      2. Réservations

      3. Modèles d'instance

    3. Supprimez la stratégie d'emplacement comme décrit dans cette section.

Pour supprimer une stratégie d'emplacement, sélectionnez l'une des options suivantes :

gcloud

Pour supprimer une stratégie d'emplacement, utilisez la commande gcloud compute resource-policies delete.

gcloud compute resource-policies delete POLICY_NAME \
    --region=REGION

Remplacez les éléments suivants :

  • POLICY_NAME : nom d'une stratégie d'emplacement existante

  • REGION : région où se trouve la stratégie.

REST

Pour supprimer une stratégie d'emplacement, envoyez une requête DELETE à la méthode resourcePolicies.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve la stratégie d'emplacement.

  • REGION : région où se trouve la stratégie.

  • POLICY_NAME : nom d'une stratégie d'emplacement existante.

Étape suivante