Por que o Systems Manager não está mostrando minha instância do Amazon EC2 como uma instância gerenciada?
Eu tenho uma instância do Amazon Elastic Compute Cloud (Amazon EC2), mas ela não aparece como uma instância gerenciada no AWS Systems Manager.
Breve descrição
Para determinar por que o AWS Systems Manager não mostra sua instância como gerenciada, é possível usar o runbook AWSSupport-TroubleshootManagedInstance. Para obter mais informações, consulte Executar uma operação de automação com tecnologia Systems Manager Automation e Como configurar a automação.
Você também pode solucionar problemas manualmente da sua instância do Amazon EC2.
Resolução
Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Execute o runbook do Systems Manager Automation
Pré-requisitos: instale e execute o AWS Systems Manager Agent (SSM Agent) em sua instância. Antes de executar a automação, certifique-se de que seu usuário ou perfil do AWS Identity and Access Management (AWS IAM) tenha as permissões necessárias. Consulte a seção Permissões de IAM necessárias em AWSSupport-TroubleshootManagedInstance.
Para executar o runbook, realize as seguintes etapas:
- Abra o console do Systems Manager.
- No painel de navegação, escolha Documentos.
- Na barra de pesquisa, digite AWSSupport-TroubleshootManagedInstance (Proprietário: Amazon).
- Escolha o documento AWSSupport-TroubleshootManagedInstance.
- Selecione Executar automação.
- Nos parâmetros de entrada, insira as seguintes informações:
Em InstanceId, insira o ID da instância afetada. É possível inserir manualmente o ID da instância ou usar o seletor de instâncias interativo. Se você usar o seletor de instâncias, altere o filtro de Mostrar somente instância gerenciada para Mostrar todas as instâncias.
(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 executa o documento. - Selecione Executar.
Depois que a automação for concluída, revise a seção Saídas para ver os seguintes resultados detalhados:
- A seção InstanceIsOnline.output mostra se o Systems Manager está gerenciando a instância.
- A seção FinalOutput.output mostra se uma verificação foi aprovada ou falhou e inclui informações sobre como solucionar uma falha.
Solucionar problemas manualmente em sua instância do Amazon EC2
Importante: ao longo das etapas de solução de problemas, selecione a região da AWS onde sua instância está localizada.
Verifique se o SSM Agent está instalado e em execução na instância
Depois de confirmar que seu sistema operacional (SO) é compatível com o Systems Manager, verifique se o SSM Agent está instalado e em execução na sua instância.
O SSM Agent está pré-instalado em algumas imagens de máquina da Amazon (AMIs) de Linux, macOS e Windows.
Para instalar manualmente o SSM Agent quando o agente não está pré-instalado, consulte a seguinte documentação:
- Instalação e desinstalação manual do SSM Agent em instâncias do EC2 para Linux
- Instalação e desinstalação manual do SSM Agent em instâncias do EC2 para macOS
- Instalação e desinstalação manual do SSM Agent em instâncias do EC2 para Windows Server
Para verificar se o SSM Agent está em execução, execute o comando específico do seu sistema operacional para verificar o status do agente.
Depois de verificar se o SSM Agent está em execução, execute o comando ssm-cli para solucionar problemas de disponibilidade de instâncias gerenciadas.
Verifique a conectividade com os endpoints do Systems Manager na porta 443
A verificação da conectividade com os endpoints do Systems Manager na porta 443 é específica para suas configurações de sistema operacional e sub-rede. Para obter uma lista dos endpoints do Systems Manager por região, consulte Endpoints de serviço.
Observação: nos exemplos a seguir, o endpoint ssmmessages é necessário para o Session Manager, um recurso do AWS Systems Manager.
Instâncias Linux do EC2
Use os comandos Telnet ou Netcat para verificar a conectividade com endpoints na porta 443 para instâncias Linux do EC2. O Netcat não vem pré-instalado em instâncias do EC2. Para instalar o Netcat manualmente, consulte Ncat no site do Nmap.
Observação: nos comandos a seguir, substitua RegionID pelo ID de região da sua instância.
Comandos Telnet:
telnet ssm.RegionID.amazonaws.com 443 telnet ec2messages.RegionID.amazonaws.com 443 telnet ssmmessages.RegionID.amazonaws.com 443
Exemplo de conexão Telnet:
root@111800186:~# telnet ssm.us-east-1.amazonaws.com 443 Trying 52.46.141.158... Connected to ssm.us-east-1.amazonaws.com. Escape character is '^]'.
Para sair do telnet, pressione as teclas Ctrl e ]. Digite quit e, em seguida, pressione Enter.
Comandos Netcat:
nc -vz ssm.RegionID.amazonaws.com 443 nc -vz ec2messages.RegionID.amazonaws.com 443 nc -vz ssmmessages.RegionID.amazonaws.com 443
Instâncias Windows do EC2
Para verificar a conectividade com endpoints na porta 443 para instâncias Windows do EC2, use os seguintes comandos do Windows PowerShell:
`Test-NetConnection ssm.RegionID.amazonaws.com -port 443 Test-N`etConnection ec2messages.RegionID.amazonaws.com -port 443 Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443
Sub-redes públicas
Os endpoints do Systems Manager são públicos. Para resolver problemas de conectividade com instâncias em uma sub-rede pública, a tabela de rotas da sua instância deve rotear o tráfego da Internet para um gateway da Internet. Além disso, seus grupos de segurança e listas de controle de acesso à rede (ACLs da rede) da Amazon Virtual Private Cloud (Amazon VPC) permitem conexões de saída na porta 443.
Sub-redes privadas
Use endereços IP privados para acessar as APIs do Amazon EC2 e do Systems Manager de forma privada. Para resolver problemas de conectividade com uma instância em uma sub-rede privada, a tabela de rotas da sua instância deve rotear o tráfego da Internet para um gateway NAT. Ou você deve configurar seu endpoint da VPC para alcançar os endpoints do Systems Manager.
Para obter mais informações, consulte Como criar endpoints da VPC para poder usar o Systems Manager para gerenciar instâncias privadas do EC2 sem acesso à Internet?
Observação: cada endpoint de interface cria uma interface de rede elástica na sub-rede fornecida.
Como prática recomendada de segurança para sub-redes privadas, verifique as seguintes configurações:
- O grupo de segurança conectado à interface de rede do seu endpoint da VPC permite o tráfego de entrada da porta TCP 443 do grupo de segurança anexado à sua instância.
- O grupo de segurança anexado à sua instância permite o tráfego de saída da porta TCP 443 para o endereço IP privado da interface de rede do seu endpoint da VPC.
Verifique a definição da Configuração de gerenciamento de host padrão
Observação: se você não ativou a Configuração de gerenciamento de host padrão, vá para a seção Verifique se o perfil do IAM correto está anexado à instância.
Se o perfil do IAM criado pela Configuração de gerenciamento de host padrão não tiver permissões suficientes para seu caso de uso, será possível adicionar políticas.
Todas as instâncias associadas devem usar o Serviço de metadados de instância versão 2 (IMDSv2). Para verificar sua configuração do IMDSv2, use a métrica MetadataNoToken do Amazon CloudWatch para determinar quando não há uso do IMDSv1. Em seguida, verifique se suas instâncias foram transferidas para o IMDSv2.
A Configuração de gerenciamento de host padrão está disponível na versão 3.2.582.0 ou posterior do SSM Agent. Para verificar a versão do SSM Agent, consulte Verificação do número de versão do SSM Agent.
Para verificar a Configuração de gerenciamento de host padrão, use o console do Systems Manager ou a AWS CLI.
Console do Systems Manager
Conclua as seguintes etapas:
- Abra o console do Systems Manager.
- No painel de navegação, escolha Fleet Manager.
- No menu suspenso Gerenciamento de contas, escolha Configuração de gerenciamento de host padrão.
- Verifique se a configuração Ativar configuração de gerenciamento do host padrão está ativada.
AWS CLI
Execute o comando get-service-setting da AWS CLI para verificar a Configuração de gerenciamento de host padrão:
aws ssm get-service-setting \ --setting-id arn:aws:ssm:RegionID:AccountID:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
Observação: além disso, substitua AccountID pelo ID da sua conta AWS.
Depois de ativar a Configuração de gerenciamento de host padrão, você recebe uma saída semelhante à seguinte:
{ "ServiceSetting": { "SettingId": "/ssm/managed-instance/default-ec2-instance-management-role", "SettingValue": "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "LastModifiedDate": 1679492424.738, "LastModifiedUser": "arn:aws:sts::012345678910:assumed-role/role/role-name", "ARN": "arn:aws:ssm:ap-southeast-1:012345678910:servicesetting/ssm/managed-instance/default-ec2-instance-management-role", "Status": "Customized" } }
Observação: se o valor de SettingValue for $None, a configuração de gerenciamento de host padrão não está configurada.
Verifique se a Configuração de gerenciamento de host padrão está usando um perfil do IAM apropriado
É uma prática recomendada usar o AWSSystemsManagerDefaultEC2InstanceManagementRole ao definir a Configuração de gerenciamento de host padrão. Para usar um perfil diferente, certifique-se de anexar a política do IAM AmazonSSMManagedEC2InstanceDefaultPolicy a ele.
Se você anexou perfis de instância às suas instâncias, remova todas as permissões que permitam a operação ssm:UpdateInstanceInformation. O SSM Agent tenta usar as permissões do perfil de instância antes de usar as permissões da Configuração de gerenciamento de host padrão. Quando você permite a operação ssm:UpdateInstanceInformation em seus perfis de instância, sua instância não usa as permissões da Configuração de gerenciamento de host padrão.
Verifique se o perfil do IAM correto está anexado à instância
Observação: se você ativou a Configuração de gerenciamento de host padrão, vá para a seção Verifique a conectividade com o IMDS.
Para fazer chamadas de API para um endpoint do Systems Manager, você deve anexar a política AmazonSSMManagedInstanceCore ao perfil do IAM anexado à sua instância. Se você estiver usando uma política do IAM personalizada, confirme se sua política personalizada usa as permissões em AmazonSSMManagedInstanceCore. Além disso, certifique-se de que a política de confiança do seu perfil do IAM permita que ec2.amazonaws.com assuma esse perfil. Para mais informações, consulte Configuração alternativa para permissões de instância do EC2.
Verifique a conectividade com o IMDS
O SSM Agent deve se comunicar com o IMDS para obter informações sobre sua instância. Para testar a conexão, execute o seguinte comando Netcat:
nc -vz 169.254.169.254 80
Para verificar se o IMDS está configurado para sua instância existente, use o console do Amazon EC2 ou o AWS CLI.
Console do Amazon EC2
Conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, escolha Instâncias e, em seguida, selecione sua instância.
- Escolha Ações e, em seguida, escolha Configurações da instância.
- Escolha Modificar opções de metadados da instância.
- Na caixa de diálogo, certifique-se de que o Serviço de metadados da instância esteja Ativado.
AWS CLI
Execute o comando describe-instances da AWS CLI para verificar se o IMDS está configurado para sua instância existente:
aws ec2 describe-instances --query "Reservations[*].Instances[*].MetadataOptions" --instance-ids i-012345678910
Exemplo de saída:
[ [ { "State": "applied", "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "disabled" } ] ]
Observação: se a saída mostrar "HttpTokens": "optional", então tanto o IMDSv1 quanto o IMDSv2 são compatíveis. Se a saída mostrar "HttpTokens": "required", somente o IMDSv2 será compatível. Se a saída mostrar "HttpTokens": "enable", o IMDS será ativado.
Se você estiver usando um proxy na sua instância, o proxy poderá bloquear a conectividade com o URL dos metadados. Para evitar o bloqueio, configure seu SSM Agent para funcionar com um proxy e defina no_proxy para a URL dos metadados.
Para configurar o SSM Agent para usar um proxy, consulte a seguinte documentação da AWS:
- Configuração do SSM Agent para usar um proxy em nós Linux
- Configure SSM Agent para usar um proxy para instâncias do Windows Server
Solução de problemas adicional
Se sua instância ainda não aparecer como um nó gerenciado ou mostrar uma conexão perdida no Systems Manager, analise os logs do SSM Agent para continuar solucionando problemas. Para Linux e macOS, os logs estão em /var/log/amazon/ssm. Para Windows, os registros estão em %PROGRAMDATA%\Amazon\SSM\Logs.
Se sua instância não estiver reportando ao SSM Agent, use o Remote Desktop Protocol (RDP) para Windows ou SSH para Linux para coletar os logs. Se você não conseguir coletar os logs, deverá interromper sua instância e separar o volume raiz. Em seguida, conecte o volume raiz a outra instância na mesma Zona de disponibilidade que um volume secundário para obter os logs.
Informações relacionadas
Referência do runbook do Systems Manager Automation
Vincular um volume do Amazon Elastic Block Store (Amazon EBS) a uma instância do Amazon EC2
Vídeos relacionados


Conteúdo relevante
- feita há 5 diaslg...
- feita há 4 meseslg...
- Resposta aceitafeita há 4 meseslg...
- feita há 15 diaslg...
- AWS OFICIALAtualizada há 7 meses
- AWS OFICIALAtualizada há 2 anos