Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta página, explicamos o que é um perfil de instância do IAM da AWS, por que ele é importante no
contexto do GKE na AWS e como atualizá-lo.
O que é um perfil de instância do IAM da AWS?
Um perfil de instância é um conceito específico da AWS. Ele 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 um papel do IAM
que pode ser anexado a uma instância do EC2. Um perfil de instância concede permissões
à instância do EC2, permitindo que ela interaja com vários serviços da AWS
com as permissões definidas. Para mais informações, consulte
Como usar 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ão associados a um perfil exclusivo de instância da AWS. Os perfis de instância no
GKE na AWS têm dupla finalidade:
Um perfil de instância concede ao GKE na AWS as permissões necessárias para gerenciar
os recursos da AWS. Por exemplo, eles dão ao escalonador 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.
Um perfil de instância concede às instâncias do EC2 acesso aos serviços do Google Cloud.
Por exemplo, o kubelet, em execução em uma máquina da AWS, requer permissões
específicas para fornecer credenciais de extração de imagem para containerd. Essas
credenciais são necessárias para acessar e extrair imagens do Artifact Registry particular
do Google ou do Container Registry. No contexto do
GKE na AWS, o perfil da 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áquinas do pool de nós ou o agente de serviço de máquinas do plano de controle. Essa
representação permite que as instâncias do EC2 do cluster sejam autenticadas
automaticamente no Artifact Registry ou no Container Registry do Google.
Atualizar o perfil da instância
A atualização do perfil da instância envolve a criação de um novo perfil de instância na AWS
com permissões específicas e, em seguida, a associação dele ao
cluster ou pool de nós do GKE na AWS.
Para atualizar corretamente o perfil da instância do cluster ou pool de nós, siga
estas etapas:
Crie um perfil de instância do IAM para as instâncias do Amazon EC2 e adicione
o papel do IAM necessário a ele. Para mais detalhes, consulte
Como usar perfis de instância.
Vincule o novo perfil de instância ao cluster ou pool de nós do GKE
na AWS executando o seguinte comando na CLI do Google Cloud:
Entender a maneira errada de atualizar um perfil de instância é importante, porque
é um erro fácil de cometer e que pode causar falhas de cluster.
A maneira errada de atualizar um perfil de instância é modificar diretamente um perfil de
instância atual 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 foram vinculados ao
cluster ou pool de nós pela primeira vez. Alterá-los fora do GKE nas ferramentas de gerenciamento
da AWS pode criar uma incompatibilidade com o ID do papel do IAM que está no perfil
da instância. Essa incompatibilidade pode criar 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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-06-26 UTC."],[],[],null,["# Update AWS IAM instance profile\n\nThis page explains what an AWS IAM instance profile is, why it's important in\nthe context of GKE on AWS, and how to update the instance profile.\n\nWhat is an AWS IAM instance profile?\n------------------------------------\n\nAn instance profile is an AWS-specific concept. It consists of a set of\ncredentials that an Amazon EC2 instance uses to access various AWS resources.\nMore specifically, an instance profile is a kind of container for an IAM role\nthat can be attached to an EC2 instance. An instance profile confers permissions\nto the EC2 instance, allowing the instance to interact with various AWS services\nunder the defined permissions. For more information, see\n[Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n\nHow are instance profiles used in GKE on AWS?\n---------------------------------------------\n\nEach control plane and each node pool within a GKE on AWS cluster\nis associated with a unique AWS instance profile. Instance profiles in\nGKE on AWS serve a dual purpose:\n\n1. An instance profile grants GKE on AWS the permissions needed to manage AWS resources. For example, they give the cluster autoscaler the necessary permissions to scale the cluster by adding or removing EC2 instances based on workload demands.\n2. An instance profile grants EC2 instances access to Google Cloud services. For example the `kubelet`, running on an AWS machine, requires specific permissions to supply image pull credentials to `containerd`. These credentials are necessary for accessing and pulling images from Google's private Artifact Registry or from Container Registry. In the context of GKE on AWS, the EC2 instance profile associated with the cluster is configured to impersonate Google's Machine Service Agents (such as the Node Pool Machine Service Agent or the Control Plane Machine Service Agent). This impersonation allows the cluster's EC2 instances to automatically authenticate with Google's Artifact Registry or Container Registry.\n\nUpdate instance profile\n-----------------------\n\nUpdating the instance profile involves creating a new instance profile in AWS\nwith specific permissions, and then associating it with your\nGKE on AWS cluster or node pool.\n\nTo correctly update the instance profile for your cluster or node pool, follow\nthese steps:\n\n1. Create an IAM instance profile for your Amazon EC2 instances and add the IAM role you need to the instance profile. For details, see [Using instance profiles](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-iam-instance-profile.html).\n2. Link the new instance profile to your GKE on AWS cluster or node\n pool by running the following command in your Google Cloud CLI:\n\n ### Link profile to cluster\n\n gcloud container aws clusters update \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --update-instance-profile \\\n --instance-profile-name \u003cvar translate=\"no\"\u003eNEW_INSTANCE_PROFILE_NAME\u003c/var\u003e \\\n ...\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of your cluster\n - \u003cvar translate=\"no\"\u003eNEW_INSTANCE_PROFILE_NAME\u003c/var\u003e: the name of the new AWS instance profile you created\n\n ### Link profile to node pool\n\n gcloud container aws node-pools update \u003cvar translate=\"no\"\u003eNODE_POOL_NAME\u003c/var\u003e \\\n --update-instance-profile \\\n --instance-profile-name \u003cvar translate=\"no\"\u003eNEW_INSTANCE_PROFILE_NAME\u003c/var\u003e \\\n ...\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eNODE_POOL_NAME\u003c/var\u003e: the name of your node pool\n - \u003cvar translate=\"no\"\u003eNEW_INSTANCE_PROFILE_NAME\u003c/var\u003e: the name of the new AWS instance profile you created\n\n These commands show only the relevant flags for updating the instance\n profile, but you need to provide additional flags in order to run the\n `update` command. For details, see\n [Update your AWS cluster parameters](/kubernetes-engine/multi-cloud/docs/aws/how-to/update-cluster) or\n [Update a node pool](/kubernetes-engine/multi-cloud/docs/aws/how-to/update-node-pool).\n\n### The incorrect update method\n\nUnderstanding the wrong way to update an instance profile is important, because\nit's an easy mistake to make that can cause cluster failures.\n\nThe wrong way to update an instance profile is to directly modify an existing\ninstance profile using the AWS Management Console or AWS CLI. Such changes can\ndisrupt GKE on AWS interaction with AWS resources. GKE on AWS\nexpects instance profiles to remain as they were when first linked to the\ncluster or node pool. Altering them outside of GKE on AWS's management\ntools can create a mismatch with the ID of the IAM role that's in the instance\nprofile. This mismatch can create a cluster failure.\n\nThe approach described in the preceding section ensures that updates are made\nwithout disrupting GKE on AWS's integration with AWS."]]