Solução de problemas da instância do Amazon EC2 usando o Console de Série do EC2 - Amazon Elastic Compute Cloud

Solução de problemas da instância do Amazon EC2 usando o Console de Série do EC2

Ao usar o Console de Série do EC2, você pode solucionar problemas de inicialização, configuração de rede e outros problemas ao se conectar à porta serial da instância.

Use as instruções para o sistema operacional da sua instância e para a ferramenta que você configurou em sua instância.

nota

Antes de começar, certifique-se de ter concluído os pré-requisitos, inclusive a configuração da sua ferramenta de solução de problemas escolhida.

O GNU GRUB (abreviatura de GNU GRand Unified Bootloader) é o carregador de inicialização padrão para a maioria dos sistemas operacionais Linux. No menu do GRUB, você pode selecionar em qual kernel inicializar ou modificar entradas de menu para alterar a forma como o kernel irá inicializar. Isso pode ser útil ao solucionar problemas de uma instância com falha.

O menu do GRUB é exibido durante o processo de inicialização. O menu não é acessível via SSH normal, mas você pode acessá-lo por meio do Console de Série do EC2.

É possível inicializar no modo de usuário único ou no modo de emergência. O modo de usuário único inicializará o kernel em um nível de execução inferior. Por exemplo, ele pode montar o sistema de arquivos, mas não ativar a rede, dando a você a oportunidade de realizar a manutenção necessária para corrigir a instância. O modo de emergência é semelhante ao modo de usuário único, exceto que o kernel é executado no nível de execução mais baixo possível.

Para inicializar no modo de usuário único
  1. Connect (Conecte-se) ao console de série da instância.

  2. Execute a instância usando o seguinte comando.

    [ec2-user ~]$ sudo reboot
  3. Durante a reinicialização, quando o menu do GRUB aparecer, pressione qualquer tecla para interromper o processo de inicialização.

  4. No menu do GRUB, use as teclas de seta para selecionar o kernel para inicializar e pressione e no teclado.

  5. Use as teclas de seta para posicionar o cursor na linha que contém o kernel. A linha começa com um linux ou linux16, dependendo da AMI usada para executar a instância. Para o Ubuntu, duas linhas começam com linux, que devem ser modificadas na próxima etapa.

  6. No final da linha, adicione a palavra single.

    Veja um exemplo a seguir para Amazon Linux 2.

    linux /boot/vmlinuz-4.14.193-149.317.amzn2.aarch64 root=UUID=d33f9c9a-\ dadd-4499-938d-ebbf42c3e499 ro console=tty0 console=ttyS0,115200n8 net.ifname\ s=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.she\ ll=0 single
  7. Pressione Ctrl+X para inicializar no modo de usuário único.

  8. No prompt de login, insira o nome do usuário com a senha que você configurou anteriormente e, em seguida, pressione Enter.

  9. No prompt Password, insira a senha e, a seguir, pressione Enter.

 

Para inicializar no modo de emergência

Siga as mesmas etapas do modo de usuário único, mas na etapa 6, adicione a palavra emergency em vez de single.

A chave System Request (SysRq), que, às vezes, é denominada “SysRq mágica”, pode ser usada para enviar diretamente ao kernel um comando, fora de um shell, e o kernel responderá, independentemente do que o kernel está fazendo. Por exemplo, se a instância tiver parado de responder, você poderá usar a chave SysRq para dizer ao kernel para falhar ou reiniciar. Para obter mais informações, consulte Chave SysRq mágica na Wikipédia.

Você pode usar comandos SysRq no cliente com base em navegador do Console de Série do EC2 ou em um cliente SSH. O comando que enviará uma solicitação de interrupção é diferente para cada cliente.

Para usar o SysRq, escolha um dos seguintes procedimentos com base no cliente que você está usando.

Browser-based client
Para usar o SysRq no cliente com base em navegador do console de série
  1. Connect (Conecte-se) ao console de série da instância.

  2. Para enviar uma solicitação de interrupção, pressione CTRL+0 (zero). Se o teclado suportá-la, você também poderá enviar uma solicitação de interrupção usando a tecla Pause ou Break.

    [ec2-user ~]$ CTRL+0
  3. Para emitir um comando do SysRq, pressione a tecla no teclado que corresponde ao comando requerido. Por exemplo, para exibir uma lista de comandos do SysRq, pressione h.

    [ec2-user ~]$ h

    O comando h gera algo semelhante ao seguinte.

    [ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems (j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r ) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
SSH client
Para usar o SysRq em um cliente SSH
  1. Connect (Conecte-se) ao console de série da instância.

  2. Para enviar uma solicitação de interrupção, pressione ~B (til, seguido de maiúsculas B).

    [ec2-user ~]$ ~B
  3. Para emitir um comando do SysRq, pressione a tecla no teclado que corresponde ao comando requerido. Por exemplo, para exibir uma lista de comandos do SysRq, pressione h.

    [ec2-user ~]$ h

    O comando h gera algo semelhante ao seguinte.

    [ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems (j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r ) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
    nota

    O comando que você usa para enviar uma solicitação de interrupção pode ser diferente, dependendo do cliente SSH que você está usando.

O recurso Special Admin Console (SAC) do Windows fornece uma maneira de solucionar problemas de uma instância do Windows. Ao se conectar ao console de série da instância e usando o SAC, você pode interromper o processo de inicialização e inicializar o Windows no modo de segurança.

nota

Se você habilitar o SAC em uma instância, os serviços do EC2 que dependem de recuperação de senha não funcionarão no console do Amazon EC2. Os agentes de execução do Windows no Amazon EC2 (EC2Config, EC2Launch v1 e EC2Launch v2) dependem do console de série para executar várias tarefas. Essas tarefas não são executadas com êxito quando você habilita o SAC em uma instância. Para obter mais informações sobre o Windows nos agentes de inicialização do Amazon EC2, consulte Configurar a instância do Windows do Amazon EC2. Se você habilitar o SAC, poderá desabilitá-lo posteriormente. Para ter mais informações, consulte Desabilitar o SAC e o menu de inicialização.

Usar o SAC

Para usar o SAC
  1. Conecte-se ao console de série.

    Se o SAC estiver habilitado na instância, o console de série exibirá o prompt SAC>.

    Prompt do SAC exibido no console de série.
  2. Para exibir os comandos do SAC, digite?E pressioneDigite.

    Saída esperada

    Insira um ponto de interrogação para exibir os comandos do SAC.
  3. Para criar um canal de prompt de comando (como cmd0001 ou cmd0002), insira cmd e pressione Enter.

  4. Para ver o canal do prompt de comando, pressioneESCE pressioneTAB.

    Saída esperada

    O canal do prompt de comando.
  5. Para trocar de canais, pressioneESC+tab+número do canaljunto. Por exemplo, para alternar para ocmd0002(se tiver sido criado), pressioneESC+TABA+2.

  6. Insira as credenciais exigidas pelo canal do prompt de comando.

    O prompt de comando solicitando credenciais.

    O prompt de comando é o mesmo shell de comando completo que você obtém em um desktop, mas com a exceção de que ele não permite a leitura de caracteres que já foram emitidos.

    Um shell de comando com todos os recursos.

O PowerShell também pode ser usado a partir do prompt de comando.

Observe que talvez seja necessário definir a preferência do progresso para o modo silencioso.

PowerShell no prompt de comando.

Usar o menu de inicialização

Se a instância tiver o menu de inicialização habilitado e for reiniciado após a conexão via SSH, você verá o menu de inicialização, como a seguir.

Menu de inicialização no prompt de comando.

Comandos do menu de inicialização

ENTER

Inicia a entrada selecionada do sistema operacional.

TAB

Alterna para o menu Tools (Ferramentas).

ESC

Cancela e reinicia a instância.

ESC seguido por 8

Equivalente a pressionar F8. Mostra opções avançadas para o item selecionado.

Tecla ESC + seta para a esquerda

Volta para o menu de inicialização inicial.

nota

A tecla ESC por si só não leva você de volta ao menu principal porque o Windows está aguardando para ver se uma sequência de escape está em andamento.

Opções avançadas de inicialização.

Desabilitar o SAC e o menu de inicialização

Se você habilitar o SAC e o menu de inicialização, poderá desabilitar esses recursos posteriormente.

Use um dos métodos a seguir para desabilitar o SAC e o menu de inicialização em uma instância.

PowerShell
Para desabilitar o SAC e o menu de inicialização em uma instância do Windows
  1. Conecte-se à sua instância e execute as seguintes etapas na linha de comando do PowerShell.

  2. Primeiro, desabilite o menu de inicialização alterando o valor para no.

    bcdedit /set '{bootmgr}' displaybootmenu no
  3. Em seguida, desabilite o SAC alterando o valor para off.

    bcdedit /ems '{current}' off
  4. Aplique a configuração atualizada reinicializando a instância.

    shutdown -r -t 0
Command prompt
Para desabilitar o SAC e o menu de inicialização em uma instância do Windows
  1. Conecte-se à sua instância e execute as seguintes etapas no prompt de comando.

  2. Primeiro, desabilite o menu de inicialização alterando o valor para no.

    bcdedit /set {bootmgr} displaybootmenu no
  3. Em seguida, desabilite o SAC alterando o valor para off.

    bcdedit /ems {current} off
  4. Aplique a configuração atualizada reinicializando a instância.

    shutdown -r -t 0