Atualizar perfil de instância do AWS IAM

Esta página explica o que é um perfil de instância do AWS IAM, por que ele é importante no contexto do GKE na AWS e como atualizar o perfil de instância.

O que é um perfil de instância do AWS IAM?

Um perfil de instância é um conceito específico da AWS. Consiste em um conjunto de credenciais que uma instância do Amazon EC2 usa para acessar vários recursos da AWS. Mais especificamente, um perfil de instância é um tipo de contêiner para uma função do IAM que pode ser anexada a uma instância do EC2. Um perfil de instância confere permissões à instância do EC2, permitindo que ela interaja com vários serviços da AWS sob as permissões definidas. Para obter mais informações, consulte Usando perfis de instância .

Como os perfis de instância são usados ​​no GKE na AWS?

Cada plano de controle e cada pool de nós em um cluster do GKE na AWS está associado a um perfil de instância exclusivo da AWS. Os perfis de instância no GKE na AWS têm uma dupla finalidade:

  1. Um perfil de instância concede ao GKE na AWS as permissões necessárias para gerenciar recursos da AWS. Por exemplo, ele concede ao dimensionador automático de cluster as permissões necessárias para escalonar o cluster adicionando ou removendo instâncias do EC2 com base nas demandas da carga de trabalho.
  2. Um perfil de instância concede às instâncias do EC2 acesso a Google Cloud serviços. Por exemplo, o kubelet , em execução em uma máquina AWS, requer permissões específicas para fornecer credenciais de extração de imagens para containerd . Essas credenciais são necessárias para acessar e extrair imagens do Artifact Registry privado do Google ou do Container Registry. No contexto do GKE na AWS, o perfil de instância do EC2 associado ao cluster é configurado para representar os Agentes de Serviço de Máquina do Google (como o Agente de Serviço de Máquina do Pool de Nós ou o Agente de Serviço de Máquina do Plano de Controle). Essa representação permite que as instâncias do EC2 do cluster se autentiquem automaticamente com o Artifact Registry ou o Container Registry do Google.

Atualizar perfil de instância

Atualizar o perfil da instância envolve criar um novo perfil de instância na AWS com permissões específicas e, em seguida, associá-lo ao seu cluster ou pool de nós do GKE na AWS.

Para atualizar corretamente o perfil da instância do seu cluster ou pool de nós, siga estas etapas:

  1. Crie um perfil de instância do IAM para suas instâncias do Amazon EC2 e adicione a função do IAM necessária ao perfil. Para obter mais detalhes, consulte Usando perfis de instância .
  2. Vincule o novo perfil de instância ao seu cluster ou pool de nós do GKE na AWS executando o seguinte comando na sua Google Cloud CLI:

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

    Substitua o seguinte:

    • CLUSTER_NAME : o nome do seu cluster
    • NEW_INSTANCE_PROFILE_NAME : o nome do novo perfil de instância da AWS que você criou
    gcloud container aws node-pools update NODE_POOL_NAME \
      --update-instance-profile \
      --instance-profile-name NEW_INSTANCE_PROFILE_NAME \
      ...
    

    Substitua o seguinte:

    • NODE_POOL_NAME : o nome do seu pool de nós
    • NEW_INSTANCE_PROFILE_NAME : o nome do novo perfil de instância da AWS que você criou

    Esses comandos mostram apenas os sinalizadores relevantes para atualizar o perfil da instância, mas você precisa fornecer sinalizadores adicionais para executar o comando update . Para obter detalhes, consulte Atualizar os parâmetros do cluster da AWS ou Atualizar um pool de nós .

O método de atualização incorreto

É importante entender a maneira errada de atualizar um perfil de instância, porque é um erro fácil de cometer e que pode causar falhas no cluster.

A maneira errada de atualizar um perfil de instância é modificar diretamente um perfil de instância existente usando o Console de Gerenciamento da AWS ou a CLI da AWS. Essas alterações podem interromper a interação do GKE na AWS com os recursos da AWS. O GKE na AWS espera que os perfis de instância permaneçam como estavam quando vinculados pela primeira vez ao cluster ou pool de nós. Alterá-los fora das ferramentas de gerenciamento do GKE na AWS pode criar uma incompatibilidade com o ID da função do IAM presente no perfil da instância. Essa incompatibilidade pode causar uma falha no cluster.

A abordagem descrita na seção anterior garante que as atualizações sejam feitas sem interromper a integração do GKE na AWS com a AWS.