Quero usar o AWS Systems Manager Automation para aplicar correções de segurança a imagens de máquina da Amazon (AMIs) do nó de processamento do Amazon Elastic Kubernetes Service (Amazon EKS).
Resolução
Use os runbooks do AWS Systems Manager Automation para aplicar correções de segurança aos nós de processamento do Amazon EKS. Use runbooks para aplicar novas versões e automatizar correções de segurança e atualizações de versão para grupos de nós gerenciados ou nós autogerenciados.
Usar o AWS Systems Manager Automation para grupos de nós gerenciados
Para executar o runbook AWS-UpdateEKSManagedNodeGroup, conclua as seguintes etapas:
- Abra o Console de Gerenciamento da AWS.
- Selecione a região da AWS onde seu cluster do Amazon EKS está localizado.
- Abra o console do AWS Systems Manager.
- No painel de navegação, escolha Automação.
- Escolha Executar runbook.
- No campo de pesquisa Runbook de automação, insira AWS-UpdateEKSManagedNodeGroup e, em seguida, escolha o runbook AWS-UpdateEKSManagedNodeGroup.
Observação: a guia de detalhes do runbook é aberta em uma nova janela do navegador.
- Selecione Executar automação.
Observação: a guia "Executar runbook de automação" é aberta em uma nova janela do navegador.
- Em Parâmetros de entrada, insira os seguintes parâmetros:
Em ClusterName, insira o nome do seu cluster do Amazon EKS que contém o grupo de nós.
Em NodeGroupName, insira o nome do grupo de nós que você deseja atualizar.
Em UpdateType, escolha Atualizar versão do grupo de nós.
Em ForceUpdate, escolha True se os pods do grupo de nós atual não puderem ser drenados devido a um problema de orçamento de interrupção do pod. Caso contrário, escolha False.
(Opcional) Em AutomationAssumeRole, insira o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (AWS IAM) para que o Systems Manager Automation execute ações em seu nome. Se você não especificar um perfil, o Systems Manager Automation usará as permissões do usuário que inicia o runbook.
- Se você não criou seu grupo de nós a partir de um modelo de lançamento, especifique os seguintes parâmetros:
(Opcional) Em KubernetesVersion, insira a versão do Kubernetes para a qual atualizar o grupo de nós. Por exemplo, insira 1.30.
(Opcional) Em AMIReleaseVersion, insira a versão da AMI otimizada para Amazon EKS que você deseja usar. Por exemplo, insira 1.30.2-20240828. O sistema usa a versão mais recente por padrão.
- Se você criou seu grupo de nós a partir de um modelo de lançamento, pode especificar os seguintes parâmetros:
(Opcional) Em LaunchTemplateId, insira o ID do modelo de lançamento.
(Opcional) Em LaunchTemplateName, insira o nome do modelo de lançamento.
- Selecione Executar.
Usar o AWS Systems Manager Automation para grupos de nós autogerenciados
Importante: se seu cluster usa ajuste de escala automático, você deve reduzir a implantação cluster-autoscaler para duas réplicas antes de executar o runbook. Para reduzir a implantação cluster-autoscaler, execute o seguinte comando:
kubectl scale deployments/cluster-autoscaler --replicas=2 -n kube-system
Para executar o runbook AWS-UpdateEKSSelfManagedLinuxNodeGroups, conclua as seguintes etapas:
- Abra o Console de Gerenciamento da AWS.
- Selecione a região da AWS onde seu cluster do Amazon EKS está localizado.
- Abra o console do AWS Systems Manager.
- No painel de navegação, escolha Automação.
- Escolha Executar runbook.
- No campo de pesquisa Runbook de automação, insira AWS-UpdateEKSSelfManagedLinuxNodeGroups e, em seguida, escolha o runbook AWS-UpdateEKSSelfManagedLinuxNodeGroups.
Observação: a guia de detalhes do runbook é aberta em uma nova janela do navegador.
- Selecione Executar automação.
Observação: a guia "Executar runbook de automação" é aberta em uma nova janela do navegador.
- Em Parâmetros de entrada, insira os seguintes parâmetros:
(Opcional) Em AutomationAssumeRole, insira o ARN do perfil do IAM que permite que o Systems Manager Automation execute as ações em seu nome. Se você não especificar um perfil, o Systems Manager Automation usará as permissões do usuário que inicia o runbook.
Em StackName, insira o nome da pilha do AWS CloudFormation para o nó autogerenciado.
Em NodeAutoScalingGroupDesiredCapacity, insira o número de nós que o grupo de nós mantém.
Em NodeAutoScalingGroupMaxSize, insira o número máximo de nós do seu grupo de Auto Scaling de nós.
Em NodeInstanceType, insira o tipo de instância a ser usado para o grupo de nós.
Em NodeImageIdSSMParam, insira o caminho do Parameter Store para a AMI do grupo de nós.
(Opcional) Em NodeImageId, insira o ID da AMI do seu grupo de nós para substituir qualquer valor especificado para NodeImageIdSSMParam.
Em DisableIMDSv1, selecione se deseja desativar o IMDSv1.
Em WaitForStackUpdateProgress, insira a duração em segundos que a automação espera para dar tempo para que as atualizações da pilha de modelos de lançamento e as atualizações contínuas comecem antes de avaliar o status da pilha.
- Selecione Executar.
- Após a conclusão da atualização, para escalar a implantação cluster-autoscaler até o número desejado de réplicas, execute o seguinte comando:
kubectl scale deployments/cluster-autoscaler --replicas=number -n kube-system
Observação: substitua number pelo número de réplicas que você deseja usar.
Informações relacionadas
Atualizar um grupo de nós gerenciados para seu cluster
Atualizar nós autogerenciados para seu cluster
Como criar seus próprios runbooks