Mettre à jour le profil d'instance IAM AWS

Cette page explique ce qu'est un profil d'instance IAM AWS, pourquoi il est important dans le contexte de GKE sur AWS et comment mettre à jour le profil d'instance.

Qu'est-ce qu'un profil d'instance IAM AWS ?

Un profil d'instance est un concept spécifique à AWS. Il s'agit d'un ensemble d'identifiants qu'une instance Amazon EC2 utilise pour accéder à différentes ressources AWS. Plus précisément, un profil d'instance est un type de conteneur pour un rôle IAM pouvant être associé à une instance EC2. Un profil d'instance confère des autorisations à l'instance EC2, ce qui lui permet d'interagir avec différents services AWS en fonction des autorisations définies. Pour en savoir plus, consultez Utiliser des profils d'instance

Comment les profils d'instance sont-ils utilisés dans GKE sur AWS ?

Chaque plan de contrôle et chaque pool de nœuds d'un cluster GKE sur AWS est associé à un profil d'instance AWS unique. Les profils d'instance dans GKE sur AWS ont un double objectif :

  1. Un profil d'instance accorde à GKE sur AWS les autorisations nécessaires pour gérer les ressources AWS. Par exemple, il accorde à l'autoscaler de cluster les autorisations nécessaires pour adapter le cluster en ajoutant ou en supprimant des instances EC2 en fonction des exigences de la charge de travail.
  2. Un profil d'instance accorde aux instances EC2 l'accès aux services Google Cloud. Par exemple, le kubelet, qui s'exécute sur une machine AWS, nécessite des autorisations spécifiques permettant de fournir des identifiants d'extraction d'image à containerd. Ces identifiants sont nécessaires pour accéder aux images et les extraire de Artifact Registry privé ou de Container Registry Dans le contexte de GKE sur AWS, le profil d'instance EC2 associé au cluster est configuré pour emprunter l'identité des agents de service de machine de Google (tels que l'agent de service de machine du pool de nœuds ou l'agent de service de machine du plan de contrôle). Cette l'emprunt d'identité permet aux instances EC2 du cluster de s'authentifier auprès de Google Artifact Registry ou Container Registry

Mettre à jour le profil d'instance

La mise à jour du profil d'instance implique la création d'un profil d'instance dans AWS avec des autorisations spécifiques, puis de l'associer à votre cluster ou pool de nœuds GKE sur AWS.

Pour mettre à jour correctement le profil d'instance de votre cluster ou de votre pool de nœuds, procédez comme suit:

  1. Créez un profil d'instance IAM pour vos instances Amazon EC2 et ajoutez-y le rôle IAM dont vous avez besoin. Pour en savoir plus, consultez Utiliser des profils d'instance
  2. Associez le nouveau profil d'instance à votre cluster ou pool de nœuds GKE sur AWS en exécutant la commande suivante dans Google Cloud CLI:

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

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster
    • NEW_INSTANCE_PROFILE_NAME: nom du nouveau profil d'instance AWS que vous avez créé
    gcloud container aws node-pools update NODE_POOL_NAME \
      --update-instance-profile \
      --instance-profile-name NEW_INSTANCE_PROFILE_NAME \
      ...
    

    Remplacez les éléments suivants :

    • NODE_POOL_NAME : nom de votre pool de nœuds.
    • NEW_INSTANCE_PROFILE_NAME: nom du nouveau profil d'instance AWS que vous avez créé

    Ces commandes n'affichent que les indicateurs pertinents pour mettre à jour l'instance mais vous devez fournir des indicateurs supplémentaires pour exécuter update. Pour en savoir plus, consultez Mettre à jour les paramètres de votre cluster AWS ou Mettre à jour un pool de nœuds

La méthode de mise à jour incorrecte

Il est important de comprendre la mauvaise façon de mettre à jour un profil d'instance, car c'est une erreur simple qui peut provoquer des défaillances du cluster.

La mauvaise façon de mettre à jour un profil d'instance consiste à modifier directement un profil à l'aide de la console de gestion AWS ou de la CLI AWS. Ces modifications peuvent perturber l'interaction de GKE sur AWS avec les ressources AWS. GKE sur AWS s'attend à ce que les profils d'instance restent tels qu'ils étaient lors de leur première association au cluster ou au pool de nœuds. Les modifier en dehors de GKE dans les outils de gestion d'AWS peut créer un conflit avec l'ID du rôle IAM figurant dans le profil d'instance. Cette non-concordance peut entraîner la défaillance du cluster.

La méthode décrite dans la section précédente garantit que les mises à jour sont effectuées sans perturber l'intégration de GKE sur AWS avec AWS.