Sostituire, rimuovere o eliminare i criteri di posizionamento


Questo documento descrive come sostituire, rimuovere o eliminare i criteri di posizionamento.

La sostituzione, la rimozione o l'eliminazione dei criteri di posizionamento è utile nei seguenti casi:

  • Sostituire un criterio di posizionamento in un'istanza di una macchina virtuale (VM) per spostare la VM in una posizione diversa rispetto alle altre VM.

  • Rimuovi un criterio di posizionamento da una VM quando non ti interessa più la sua posizione rispetto ad altre VM.

  • Elimina un criterio di posizionamento quando non ti serve più.

Prima di iniziare

  • Consulta le limitazioni relative alle norme sul posizionamento.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per sostituire, rimuovere o eliminare i criteri di posizionamento, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per sostituire, rimuovere o eliminare i criteri di posizionamento. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per sostituire, rimuovere o eliminare i criteri di posizionamento sono necessarie le seguenti autorizzazioni:

  • Per sostituire o rimuovere un criterio di posizionamento da una VM: compute.instances.update on the project
  • Per eliminare un criterio di posizionamento: compute.resourcePolicies.delete on the project

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Sostituire un criterio di posizionamento in una VM

Prima di sostituire un criterio di posizionamento distribuito in una VM con un criterio di posizionamento compatto, assicurati che la VM utilizzi un tipo di macchina e un criterio di manutenzione dell'host supportati. Se devi aggiornare la VM prima di sostituire il criterio di posizionamento, esegui una o entrambe le seguenti operazioni:

Dopo aver sostituito il criterio di posizionamento in una VM, devi riavviare la VM per rendere effettivo il criterio di posizionamento appena applicato.

Per sostituire un criterio di posizionamento in una VM, seleziona una delle seguenti opzioni:

gcloud

  1. Crea un file YAML vuoto.

  2. Per esportare le proprietà di una VM nel file YAML appena creato, utilizza il comando gcloud compute instances export.

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

    Sostituisci quanto segue:

    • VM_NAME: il nome di una VM esistente che specifica un criterio di posizionamento.

    • FILE_PATH: il percorso del file YAML creato nel passaggio precedente.

    • ZONE: la zona in cui si trova la VM.

  3. Nel file di configurazione YAML, modifica il valore del campo resourcePolicies per specificare un criterio di posizionamento diverso.

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova il piano di posizionamento. Puoi specificare solo un criterio di posizionamento che si trova nello stesso progetto della VM.

    • REGION: la regione in cui si trova il criterio di posizionamento.

    • POLICY_NAME: il nome del criterio di posizionamento.

  4. Per aggiornare la VM e riavviarla, utilizza il comando gcloud compute instances update-from-file con il flag --most-disruptive-allowed-action impostato su RESTART.

    gcloud compute instances update-from-file VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM.

    • YAML_FILE: il percorso del file YAML con i dati di configurazione modificati nel passaggio precedente.

    • ZONE: la zona in cui si trova la VM.

REST

  1. Crea un file JSON vuoto.

  2. Per visualizzare le proprietà di una VM esistente, invia una richiesta GET al metodo instances.get.

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova la VM.

    • ZONE: la zona in cui si trova la VM.

    • VM_NAME: il nome di una VM esistente che specifica un criterio di posizionamento.

  3. Nel file JSON vuoto creato nei passaggi precedenti, procedi nel seguente modo:

    1. Inserisci le proprietà della VM dall'output della richiesta GET.

    2. Individua il campo resourcePolicies, quindi modifica il relativo valore per specificare un criterio di posizionamento diverso.

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

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID del progetto in cui si trova il piano di posizionamento. Puoi specificare solo un criterio di posizionamento che si trova nello stesso progetto della VM.

      • REGION: la regione in cui si trova il criterio di posizionamento.

      • POLICY_NAME: il nome del criterio di posizionamento.

  4. Per aggiornare la VM e riavviarla, effettua una richiesta PUT al metodo instances.update. Nella richiesta:

    • Nell'URL della richiesta, includi il parametro di query most_disruptive_allowed_action impostato su RESTART.

    • Per il corpo della richiesta, utilizza i dettagli di configurazione della VM dal file JSON che hai creato e aggiornato nei passaggi precedenti.

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART
    
    {
      ...
      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ],
      ...
    }
    

Per ulteriori informazioni sull'aggiornamento delle proprietà di una VM, consulta Aggiornare le proprietà della VM.

Rimuovere un criterio di posizionamento da una VM

Se vuoi rimuovere un criterio di posizionamento della diffusione con due o più domini di disponibilità da una VM, puoi farlo senza arrestare la VM. Se vuoi rimuovere un criterio di posizionamento compatto o un criterio di posizionamento distribuito con un solo dominio di disponibilità, devi prima arrestare la VM prima di rimuovere il criterio di posizionamento associato.

La rimozione di un criterio di posizionamento da una VM non influisce sulla sua posizione fisica. Tuttavia, se la VM è in fase di migrazione live, Compute Engine potrebbe spostarla in un'altra posizione fisica.

Per rimuovere un criterio di posizionamento da una VM, seleziona una delle seguenti opzioni:

gcloud

Per rimuovere un criterio di posizionamento da una VM, utilizza il comando gcloud compute instances remove-resource-policies.

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

Sostituisci quanto segue:

  • VM_NAME: il nome di una VM esistente che specifica un criterio di posizionamento.

  • POLICY_NAME: il nome del criterio di posizionamento applicato alla VM. Per verificare il nome del criterio di posizionamento, visualizza i dettagli della VM e controlla il valore del campo resourcePolicies.

  • ZONE: la zona in cui si trova la VM.

REST

Per rimuovere un criterio di posizionamento da una VM, invia una richiesta POST al metodo 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"
  ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la VM.

  • ZONE: la zona in cui si trova la VM.

  • VM_NAME: il nome di una VM esistente che specifica un criterio di posizionamento.

  • REGION: la regione in cui si trova il criterio di posizionamento.

  • POLICY_NAME: il nome del criterio di posizionamento applicato alla VM. Per verificare il nome del criterio di posizionamento, visualizza i dettagli della VM e controlla il valore del campo resourcePolicies.

Elimina un criterio di posizionamento

Puoi eliminare un criterio di posizionamento solo se non è applicato a nessuna risorsa Compute Engine. In caso contrario, l'eliminazione del criterio di posizionamento non andrà a buon fine. Se vuoi eliminare un criterio di posizionamento applicato a una o più risorse Compute Engine, svolgi una delle seguenti operazioni:

  • Se il criterio viene applicato solo alle VM e vuoi conservarle, segui la procedura riportata di seguito:

    1. Rimuovi il criterio di posizionamento dalle VM come descritto in questo documento.

    2. Elimina il criterio di posizionamento come descritto in questa sezione.

  • In caso contrario:

    1. (Facoltativo) Rimuovi il criterio di posizionamento da tutte le VM che vuoi conservare come descritto in questo documento.

    2. Elimina tutte le altre risorse Compute Engine a cui viene applicato il criterio di posizionamento nel seguente ordine:

      1. VM

      2. Prenotazioni

      3. Modelli di istanza

    3. Elimina il criterio di posizionamento come descritto in questa sezione.

Per eliminare un criterio di posizionamento, seleziona una delle seguenti opzioni:

gcloud

Per eliminare un criterio di posizionamento, utilizza il comando gcloud compute resource-policies delete.

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

Sostituisci quanto segue:

  • POLICY_NAME: il nome di un criterio di posizionamento esistente.

  • REGION: la regione in cui si trova il criterio di posizionamento.

REST

Per eliminare un criterio di posizionamento, invia una richiesta DELETE al metodo resourcePolicies.delete.

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il regolamento relativo al posizionamento.

  • REGION: la regione in cui si trova il criterio di posizionamento.

  • POLICY_NAME: il nome di un criterio di posizionamento esistente.

Passaggi successivi