Solução de problemas do Session Manager
Use as informações a seguir para ajudar a solucionar problemas com o Session Manager do AWS Systems Manager.
Tópicos
- O processo do documento falhou inesperadamente: o operador do documento excedeu o tempo limite
- O Session Manager não consegue se conectar pelo console do Amazon EC2
- Sem permissão para iniciar uma sessão
- SSM Agent não está online
- Sem permissão para alterar as preferências da sessão
- Nó gerenciado não disponível ou não está configurado para o Session Manager
- O plugin Session Manager não foi encontrado
- O plug-in Session Manager não é adicionado automaticamente ao caminho de linha de comando (Windows)
- O plugin Session Manager não responde
- TargetNotConnected
- Tela em branco exibida após iniciar uma sessão
- O nó gerenciado deixa de responder durante sessões de execução longa
- Ocorreu um erro (InvalidDocument) ao chamar a operação StartSession
O processo do documento falhou inesperadamente: o operador do documento excedeu o tempo limite
Problema: ao iniciar uma sessão em um host Linux, o Systems Manager retorna o seguinte erro:
document process failed unexpectedly: document worker timed out, check [ssm-document-worker]/[ssm-session-worker] log for crash reason
Se você configurou o log do SSM Agent conforme descrito em Visualizar logs do SSM Agent, você poderá visualizar mais detalhes no registro de depuração. Para esse problema, o Session Manager mostra a seguinte entrada de log:
failed to create channel: too many open files
Esse erro normalmente indica que há muitos processos de operador do Session Manager em execução e que o sistema operacional subjacente atingiu um limite. Há duas opções para resolver o problema.
Solução A: aumentar o limite de notificação de arquivos do sistema operacional
É possível aumentar o limite executando o comando a seguir em um host Linux separado. Esse comando usa o Run Command do Systems Manager. O valor especificado aumenta max_user_instances
para 8192. Esse valor é consideravelmente maior do que o valor padrão de 128, mas não sobrecarregará os recursos do host:
aws ssm send-command --document-name AWS-RunShellScript \ --instance-id
i-02573cafcfEXAMPLE
--parameters \ "commands=sudo sysctl fs.inotify.max_user_instances=8192"
Solução B: diminua as notificações de arquivo usadas pelo Session Manager no host de destino
Execute o comando a seguir em um host Linux separado para listar as sessões em execução no host de destino:
aws ssm describe-sessions --state Active --filters key=Target,value=
i-02573cafcfEXAMPLE
Revise a saída do comando para identificar as sessões que não são mais necessárias. É possível encerrar essas sessões executando o seguinte comando em um host Linux separado:
aws ssm terminate-session —session-id
session ID
Opcionalmente, quando não houver mais sessões em execução no servidor remoto, você poderá liberar recursos adicionais executando o comando a seguir em um host Linux separado. Este comando encerra todos os processos do Session Manager em execução no host remoto e, consequentemente, todas as sessões no host remoto. Antes de executá-lo, verifique se não há sessões em andamento que você gostaria de manter:
aws ssm send-command --document-name AWS-RunShellScript \ --instance-id
i-02573cafcfEXAMPLE
--parameters \ '{"commands":["sudo kill $(ps aux | grep ssm-session-worker | grep -v grep | awk '"'"'{print $2}'"'"')"]}'
O Session Manager não consegue se conectar pelo console do Amazon EC2
Problema: depois de criar uma nova instância, a guia Gerenciador de Sessões no console do Amazon Elastic Compute Cloud (Amazon EC2) não oferece a opção de conexão.
Solução A: crie um perfil de instância: se você ainda não tiver feito isso (conforme instruído pelas informações na guia Gerenciador de sessões no console do EC2), crie um perfil de instância do AWS Identity and Access Management (IAM) usando a Quick Setup. A Quick Setup é um recurso do AWS Systems Manager.
O Session Manager requer um perfil de instância do IAM para se conectar à instância. É possível criar um perfil de instância e atribuí-lo à instância criando uma configuração de gerenciamento de host com a Quick Setup. Uma configuração de gerenciamento de host cria um perfil de instância com as permissões necessárias e o atribui à instância. Uma configuração de gerenciamento de host também habilita outros recursos do Systems Manager e cria perfis do IAM para executar esses recursos. Não há cobrança pelo uso da Quick Setup ou pelos recursos habilitados pela configuração de gerenciamento do host. Abra a Quick Setup e crie uma configuração de gerenciamento de host
Importante
Depois de criar a configuração de gerenciamento do host, o Amazon EC2 pode levar vários minutos para registrar a alteração e atualizar a guia Gerenciador de Sessões. Se a guia não exibir o botão Conectar após dois ou três minutos, reinicialize a instância. Após a reinicialização, caso ainda não veja a opção de se conectar, abra a Configuração Rápida
Se mesmo assim você não conseguir se conectar depois de criar uma configuração de gerenciamento de host ou se receber um erro, incluindo um erro sobre o SSM Agent, consulte uma destas soluções:
Solução B: não há erro, mas ainda não consigo conectar
Se você criou a configuração de gerenciamento de host, esperou alguns minutos antes de tentar se conectar e ainda não consegue se conectar, talvez seja necessário aplicar a configuração de gerenciamento de host à instância manualmente. Use o procedimento a seguir para atualizar uma configuração de gerenciamento de host da Quick Setup e aplicar alterações em uma instância.
Para atualizar uma configuração de gerenciamento de host usando a Quick Setup
Abra o console do AWS Systems Manager em https://console.aws.amazon.com/systems-manager/
. No painel de navegação, escolha Quick Setup.
-
Na lista Configurações, escolha a configuração do Gerenciamento de host que você criou.
-
Escolha Ações e depois Editar configuração.
-
Na parte inferior da seção Targets, em Choose how you want to target instances, escolha Manual.
-
Na seção Instâncias, escolha a instância que você criou.
-
Selecione Atualizar.
Aguarde alguns minutos para que o EC2 atualize a guia Gerenciador de Sessões. Se você ainda não conseguir se conectar ou receber um erro, revise as soluções restantes para o problema.
Solução C: erro de SSM Agent ausente
Se você não conseguiu criar uma configuração de gerenciamento de host usando a Quick Setup, ou se recebeu um erro sobre o SSM Agent não estar instalado, talvez seja necessário instalar o SSM Agent manualmente em sua instância. O SSM Agent é um software da Amazon que possibilita que o Systems Manager se conecte à sua instância usando o Session Manager. O SSM Agent é instalado por padrão na maioria das imagens de máquina da Amazon (AMI) (AMIs). Se sua instância foi criada com base em uma AMI não padrão ou em uma AMI mais antiga, talvez seja necessário instalar o agente manualmente. Para o procedimento de instalação do SSM Agent, consulte o tópico a seguir que corresponde ao sistema operacional da instância.
Para problemas com o SSM Agent, consulte Solução de problemas de SSM Agent.
Sem permissão para iniciar uma sessão
Problema: você tenta iniciar uma sessão, mas o sistema informa que você não tem as permissões necessárias.
-
Solução: um administrador do sistema não concedeu permissões de políticas do AWS Identity and Access Management (IAM) para iniciar sessões do Session Manager. Para obter mais informações, consulte Controlar o acesso de sessão do usuário às instâncias.
SSM Agent não está online
Problema: Você vê uma mensagem na guia de instância do Amazon EC2 Session Manager que diz: SSM Agent não está online. O SSM Agent ñão consegue se conectar a um endpoint do Systems Manager para se registrar no serviço.
Solução: SSM Agent é um software da Amazon executado em instâncias do Amazon EC2 para que o Session Manager possa se conectar a elas. Se você vir esse erro, SSM Agent não consegue estabelecer uma conexão com o endpoint do Systems Manager. A origem do problema pode ser restrições de firewall, problemas de roteamento ou falta de conectividade com a Internet. Para solucionar esse problema, investigue os problemas de conectividade de rede.
Sem permissão para alterar as preferências da sessão
Problema: você tenta atualizar as preferências de sessões globais para sua organização, mas o sistema informa que você não tem as permissões necessárias.
-
Solução: um administrador do sistema não concedeu permissões de políticas do IAM para definir preferências do Session Manager. Para ter mais informações, consulte Conceder ou negar permissões a um usuário para atualizar as preferências do Session Manager.
Nó gerenciado não disponível ou não está configurado para o Session Manager
Problema 1: você quer iniciar uma sessão na página do console Start a session (Iniciar uma sessão), mas um nó gerenciado não está na lista.
-
Solução A: o nó gerenciado ao qual você quer se conectar pode não ter sido configurado para o AWS Systems Manager. Para ter mais informações, consulte Configurar o AWS Systems Manager.
nota
Se o SSM Agent do AWS Systems Manager já estiver em execução em um nó gerenciado ao associar o perfil da instância do IAM, talvez seja necessário reiniciar o agente antes que a instância seja listada na página do console Start a session (Iniciar uma sessão).
-
Solução B: a configuração de proxy que você aplicou ao SSM Agent em seu nó gerenciado pode estar incorreta. Se a configuração do proxy estiver incorreta, o nó gerenciado não conseguirá alcançar os endpoints de serviço necessários ou o poderá ser relatado como um sistema operacional diferente para o Systems Manager. Para ter mais informações, consulte Configurar o SSM Agent para usar um proxy em nós do Linux e Configurar o SSM Agent para usar um proxy para instâncias do Windows Server.
Problema 2: um nó gerenciado ao qual você quer se conectar está na lista da página do console Start a session (Iniciar uma sessão), mas a página informa que "A instância que você selecionou não está configurada para usar o Session Manager".
-
Solução A: o nó gerenciado foi configurado para uso com o serviço do Systems Manager, mas o perfil da instância do IAM anexado ao nó pode não incluir permissões para o recurso Session Manager. Para obter informações, consulte Verificar ou criar um perfil da instância do IAM com permissões do Session Manager.
-
Solução B: o nó gerenciado não está executando uma versão do SSM Agent que oferece suporte ao Session Manager. Atualize o SSM Agent do nó para a versão 2.3.68.0 ou posterior.
Atualize o SSM Agent manualmente em um nó gerenciado, seguindo as etapas em Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Windows Server, Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Linux ou Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para macOS, dependendo do sistema operacional.
Como alternativa, use o documento do Run Command,
AWS-UpdateSSMAgent
, para atualizar a versão do agente em um ou mais nós gerenciados de uma vez. Para ter mais informações, consulte Atualização do SSM Agent por meio de Run Command.dica
Para manter o agente sempre atualizado, recomendamos atualizar SSM Agent para a versão mais recente através de um agendamento automatizado que você define usando um dos seguintes métodos:
-
Executar
AWS-UpdateSSMAgent
como parte de uma associação do State Manager. Para ter mais informações, consulte Walkthrough: Automatically update SSM Agent with the AWS CLI. -
Execute
AWS-UpdateSSMAgent
como parte de uma janela de manutenção. Para obter informações sobre como trabalhar com janelas de manutenção, consulte Crie e gerencie janelas de manutenção usando o console e Tutorial: Criar e configurar uma janela de manutenção usando a AWS CLI.
-
-
Solução C: o nó gerenciado não consegue alcançar os endpoints de serviço necessários. Você pode melhorar o procedimento de segurança dos nós gerenciados usando endpoints de interface habilitados pelo AWS PrivateLink para se conectar aos endpoints do Systems Manager. A alternativa ao uso de endpoints da interface é permitir o acesso à Internet de saída em seus nós gerenciados. Para obter mais informações, consulte Usar PrivateLink para configurar um endpoint da VPC para o Session Manager.
-
Solução D: o nó gerenciado tem recursos limitados de CPU ou memória disponíveis. Embora o nó gerenciado possa ser funcional, se ele não tiver recursos disponíveis suficientes, você não poderá estabelecer uma sessão. Para obter mais informações, consulte Solucionar problemas de uma instância inacessível.
O plugin Session Manager não foi encontrado
Para usar a AWS CLI para executar comandos de sessão, o plugin do Session Manager também deve ser instalado em sua máquina local. Para ter mais informações, consulte Instalar o plug-in do Session Manager para a AWS CLI.
O plug-in Session Manager não é adicionado automaticamente ao caminho de linha de comando (Windows)
Quando você instalar o plug-in do Session Manager no Windows, o session-manager-plugin
executável deverá ser adicionado automaticamente à variável de ambiente PATH
do sistema operacional. Se o comando falhou depois que você o executou para verificar se o plugin do Session Manager foi instalado corretamente (aws ssm start-session --target
), pode ser necessário configurá-lo manualmente usando o procedimento a seguir.instance-id
Para modificar sua variável PATH (Windows)
-
Pressione a tecla Windows e digite
environment variables
. -
Escolha Edit environment variables for your account (Editar variáveis de ambiente para sua conta).
-
Selecione PATH e, em seguida, Editar.
-
Adicione caminhos ao campo Variable value (Valor da variável) separados por ponto e vírgula, conforme este exemplo:
;C:\existing\path
C:\new\path
representa o valor já no campo.C:\existing\path
representa o caminho que você deseja adicionar, como nestes exemplos.C:\new\path
-
Máquinas 64-bit:
C:\Program Files\Amazon\SessionManagerPlugin\bin\
-
Máquinas 32-bit:
C:\Program Files (x86)\Amazon\SessionManagerPlugin\bin\
-
-
Escolha OK duas vezes para aplicar as novas configurações.
-
Feche todas as solicitações de comando em execução e abra novamente.
O plugin Session Manager não responde
Durante uma sessão de encaminhamento de porta, o tráfego poderá interromper o encaminhamento se você tiver um software antivírus instalado em sua máquina local. Em alguns casos, o software antivírus interfere com o plugin Session Manager causando bloqueios de processo. Para resolver esse problema, permita ou exclua o plugin do Session Manager do software antivírus. Para obter informações sobre o caminho de instalação padrão para o plugin Session Manager, consulte Instalar o plug-in do Session Manager para a AWS CLI.
TargetNotConnected
Problema: você tenta iniciar uma sessão, mas o sistema retorna a mensagem de erro "Ocorreu um erro (TargetNotConnected) ao chamar a operação StartSession: InstanceID
não está conectado".
-
Solução A: esse erro é retornado quando o nó gerenciado de destino especificado para a sessão não estiver totalmente configurado para uso com o Session Manager. Para ter mais informações, consulte Configurar o Session Manager.
-
Solução B: esse erro também ocorre se você tentar iniciar uma sessão em um nó gerenciado localizado em uma Conta da AWS ou Região da AWS diferente.
Tela em branco exibida após iniciar uma sessão
Problema: você inicia uma sessão e o Session Manager exibe uma tela em branco.
-
Solução A: esse problema pode ocorrer quando o volume raiz em seu nó gerenciado estiver cheio. Devido à falta de espaço em disco, o SSM Agent do nó para de funcionar. Para resolver esse problema, use o Amazon CloudWatch para coletar métricas e logs dos sistemas operacionais. Para obter informações, consulte Coletar métricas, logs e rastreamentos com o agente do CloudWatch no Guia do usuário do Amazon CloudWatch.
-
Solução B: uma tela em branco pode ser exibida se você acessou o console usando um link que inclui um par de endpoint e região incompatíveis. Por exemplo, no URL do console a seguir,
us-west-2
é o endpoint especificado, masus-west-1
é a região da Região da AWS especificada.https://us-west-2.console.aws.amazon.com/systems-manager/session-manager/sessions?region=us-west-1
-
Solução C: o nó gerenciado está se conectando ao Systems Manager usando endpoints da VPC, e suas preferências do Session Manager gravam a saída da sessão em um bucket do Amazon S3 ou grupo de logs do Amazon CloudWatch Logs, mas um endpoint de gateway do
s3
ou endpoint de interface dologs
não existe na VPC. Um endpoint dos3
no formatocom.amazonaws.
será necessário se os nós gerenciados estiverem conectados ao Systems Manager usando endpoints da VPC e suas preferências do Session Manager gravarem o resultado da sessão em um bucket do Amazon S3. Como alternativa, um endpoint doregion
.s3logs
no formatocom.amazonaws.
será necessário, se os nós gerenciados estiverem se conectando ao Systems Manager usando endpoints da VPC, e as preferências do Session Manager gravarem a saída da sessão em um grupo de logs do CloudWatch Logs. Para ter mais informações, consulte Criar endpoints da VPC para o Systems Manager.region
.logs -
Solução D: o grupo de logs ou bucket do Amazon S3 que você especificou nas preferências de sessão foi excluído. Para resolver esse problema, atualize suas preferências de sessão com um grupo de logs válido ou um bucket S3.
-
Solução E: o grupo de logs ou bucket do Amazon S3 que você especificou em suas preferências de sessão não está criptografado, mas você definiu a entrada
cloudWatchEncryptionEnabled
ous3EncryptionEnabled
comotrue
. Para resolver esse problema, atualize suas preferências de sessão com um grupo de logs ou bucket do Amazon S3 criptografado ou defina a entradacloudWatchEncryptionEnabled
ous3EncryptionEnabled
comofalse
. Esse cenário só é aplicável aos clientes que criam preferências de sessão usando ferramentas da linha de comando.
O nó gerenciado deixa de responder durante sessões de execução longa
Problema: seu nó gerenciado deixa de responder ou falha durante uma sessão de execução longa.
Solução: diminuir a duração da retenção de logs do SSM Agent para Session Manager.
Para diminuir a duração da retenção de logs do SSM Agent para sessões
-
Localize
amazon-ssm-agent.json.template
no diretório/etc/amazon/ssm/
no Linux, ou emC:\Program Files\Amazon\SSM
no Windows. -
Copie o conteúdo do
amazon-ssm-agent.json.template
em um novo arquivo no mesmo diretório chamadoamazon-ssm-agent.json
. -
Reduza o valor padrão do valor
SessionLogsRetentionDurationHours
na propriedadeSSM
e salve o arquivo. -
Reinicie o SSM Agent.
Ocorreu um erro (InvalidDocument) ao chamar a operação StartSession
Problema: você recebe o seguinte erro ao iniciar uma sessão usando o AWS CLI.
An error occurred (InvalidDocument) when calling the StartSession operation: Document type: 'Command' is not supported. Only type: 'Session' is supported for Session Manager.
Solução: o documento SSM que você especificou para o --document-name
parâmetro não é um documento de sessão. Use o procedimento a seguir para visualizar uma lista de documentos da sessão no AWS Management Console.
Para visualizar uma lista de documentos da sessão
Abra o console do AWS Systems Manager em https://console.aws.amazon.com/systems-manager/
. -
No painel de navegação, escolha Documents.
-
Na lista Categorias, escolha Documentos da sessão.