Aggiorna il profilo istanza AWS IAM

Questa pagina spiega cos'è un profilo istanza AWS IAM, perché è importante nel contesto di GKE su AWS e come aggiornarlo.

Che cos'è un profilo istanza AWS IAM?

Un profilo istanza è un concetto specifico di AWS. È costituito da un insieme di credenziali che un'istanza Amazon EC2 utilizza per accedere a varie risorse AWS. Più in particolare, un profilo istanza è una sorta di container per un ruolo IAM che può essere collegato a un'istanza EC2. Un profilo istanza conferisce autorizzazioni all'istanza EC2, consentendole di interagire con vari servizi AWS in base alle autorizzazioni definite. Per saperne di più, consulta Utilizzare i profili istanza.

Come vengono utilizzati i profili istanza in GKE su AWS?

Ogni control plane e ogni pool di nodi all'interno di un cluster GKE su AWS è associato a un profilo istanza AWS univoco. I profili istanza in GKE su AWS hanno un duplice scopo:

  1. Un profilo istanza concede a GKE su AWS le autorizzazioni necessarie per gestire le risorse AWS. Ad esempio, forniscono all'autoscaler del cluster le autorizzazioni necessarie per scalare il cluster aggiungendo o rimuovendo istanze EC2 in base alle richieste di workload.
  2. Un profilo istanza concede alle istanze EC2 l'accesso ai Google Cloud servizi. Ad esempio, il kubelet, in esecuzione su una macchina AWS, richiede autorizzazioni specifiche per fornire le credenziali di pull delle immagini a containerd. Queste credenziali sono necessarie per accedere ed eseguire il pull delle immagini da Artifact Registry privato di Google o da Container Registry. Nel contesto di GKE su AWS, il profilo istanza EC2 associato al cluster è configurato per rappresentare gli agenti del servizio macchina di Google (ad esempio l'agente del servizio macchina del node pool o l'agente del servizio macchina del control plane). Questa rappresentazione consente alle istanze EC2 del cluster di eseguire automaticamente l'autenticazione con Artifact Registry o Container Registry di Google.

Aggiornare il profilo istanza

L'aggiornamento del profilo istanza prevede la creazione di un nuovo profilo istanza in AWS con autorizzazioni specifiche e la sua associazione al cluster o al pool di nodi GKE su AWS.

Per aggiornare correttamente il profilo istanza per il cluster o il pool di nodi, segui questi passaggi:

  1. Crea un profilo istanza IAM per le istanze Amazon EC2 e aggiungi il ruolo IAM necessario al profilo istanza. Per maggiori dettagli, consulta Utilizzare i profili istanza.
  2. Collega il nuovo profilo istanza al cluster o al node pool GKE su AWS eseguendo il seguente comando in Google Cloud CLI:

    gcloud container aws clusters update CLUSTER_NAME \
      --update-instance-profile \
      --instance-profile-name NEW_INSTANCE_PROFILE_NAME \
      ...
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster
    • NEW_INSTANCE_PROFILE_NAME: il nome del nuovo profilo istanza AWS che hai creato
    gcloud container aws node-pools update NODE_POOL_NAME \
      --update-instance-profile \
      --instance-profile-name NEW_INSTANCE_PROFILE_NAME \
      ...
    

    Sostituisci quanto segue:

    • NODE_POOL_NAME: il nome del pool di nodi
    • NEW_INSTANCE_PROFILE_NAME: il nome del nuovo profilo istanza AWS che hai creato

    Questi comandi mostrano solo i flag pertinenti per l'aggiornamento del profilo istanza, ma devi fornire flag aggiuntivi per eseguire il comando update. Per maggiori dettagli, consulta Aggiornare i parametri del cluster AWS o Aggiornare un node pool.

Il metodo di aggiornamento errato

È importante capire il modo sbagliato di aggiornare un profilo istanza, perché è facile commettere un errore che può causare errori del cluster.

Il modo sbagliato di aggiornare un profilo istanza è modificare direttamente un profilo istanza esistente utilizzando la Console di gestione AWS o AWS CLI. Queste modifiche possono interrompere l'interazione di GKE su AWS con le risorse AWS. GKE su AWS si aspetta che i profili istanza rimangano come erano quando sono stati collegati per la prima volta al cluster o al pool di nodi. La modifica al di fuori degli strumenti di gestione di GKE su AWS può creare una mancata corrispondenza con l'ID del ruolo IAM presente nel profilo istanza. Questa mancata corrispondenza può causare un errore del cluster.

L'approccio descritto nella sezione precedente garantisce che gli aggiornamenti vengano eseguiti senza interrompere l'integrazione di GKE su AWS con AWS.