Solução de problemas comuns: Amazon MQ - Amazon MQ

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas comuns: Amazon MQ

Use as informações desta seção para ajudar a diagnosticar e corrigir problemas comuns que podem ser encontrados ao trabalhar com agentes do Amazon MQ, como problemas de conexão com seu o agente e reinicializações do agente.

Não consigo me conectar ao console da Web ou endpoints do agente.

Se você estiver enfrentando problemas para se conectar ao seu agente usando o console da Web ou endpoints em nível de fio, recomendamos as etapas a seguir.

  1. Confira se você está tentando se conectar ao seu agente por trás de um firewall. Pode ser necessário configurar o firewall para permitir o acesso ao agente.

  2. Confira se você está tentando se conectar ao seu agente usando um endpoint FIPS. O Amazon MQ só oferece suporte a endpoints FIPS ao usar operações de API, mas não para conexões de nível de conexão com a própria instância do agente.

  3. Confira se a Acessibilidade pública para o seu agente está definida como Yes (Sim). Se esta opção estiver definida como No (Não), confira as regras da Lista de controle de acesso (ACL) da sua sub-rede. Se você criou uma rede personalizada ACLs, talvez seja necessário alterar as regras de ACL da rede para fornecer acesso ao seu corretor. Para obter mais informações sobre a rede da Amazon VPC, consulte Habilitar o acesso à Internet no Manual do Usuário da Amazon VPC.

  4. Confira as regras do Grupo de Segurança do seu agente. Confira se você está permitindo conexões com as seguintes portas:

    nota

    As portas a seguir são agrupadas de acordo com os tipos de mecanismo porque o ActiveMQ no Amazon MQ e o RabbitMQ no Amazon MQ usam portas diferentes para conexões.

    ActiveMQ no Amazon MQ
    • Console da Web — Porta 8162

    • OpenWire — Porto 61617

    • AMQP — Porta 5671

    • STOMP: porta 61614

    • MQTT — Porta 8883

    • WSS — Porta 61619

    RabbitMQ na Amazon MQ
    • Console da Web e API de gerenciamento — Porta 443 e 15671

    • AMQP — Porta 5671

  5. Execute os seguintes testes de conectividade de rede para o tipo de mecanismo do agente.

    nota

    Para corretores sem acessibilidade pública, execute os testes em uma EC2 instância da Amazon dentro da mesma Amazon VPC do seu agente Amazon MQ e avalie as respostas.

    ActiveMQ on Amazon MQ
    Para testar seu ActiveMQ na conectividade de rede do agente Amazon MQ
    1. Abra uma nova janela de terminal ou de linha de comando.

    2. Execute o seguinte comando nslookup para consultar o registro DNS do seu agente. Para implantações ativas/em espera, teste os endpoints ativos e em espera. Os active/standby endpoints são identificados com um sufixo -1 ou -2 adicionados ao ID exclusivo do corretor. Substitua o endpoint com as suas informações.

      $ nslookup b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com

      Se a consulta for bem-sucedida, você verá um resultado semelhante a este.

      Non-authoritative answer:
      Server:  dns-resolver-corp-sfo-1.sfo.corp.amazon.com
      Address:  172.10.123.456
      
      Name:    ec2-12-345-123-45.us-west-2.compute.amazonaws.com
      Address:  12.345.123.45
      Aliases:  b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com

      O endereço IP resolvido deve corresponder aos endereços IP fornecidos no console do Amazon MQ. Isso indica que o nome do domínio está resolvendo corretamente no servidor DNS e você pode passar para a próxima etapa.

    3. Execute o seguinte comando telnet para testar o caminho de rede para o seu agente. Substitua o endpoint com as suas informações. portSubstitua 8162 pelo número da porta do console web ou por outras portas de nível de fio para testar protocolos adicionais conforme necessário.

      nota

      Para active/standby implantações, você receberá uma mensagem de Connect failed erro se executar telnet com o endpoint em espera. Isso é esperado, pois a própria instância em espera está sendo executada, mas o processo do ActiveMQ não está sendo executado e não tem acesso ao volume de armazenamento do Amazon EFS do agente. Execute o comando para ambos os endpoints -1 e -2 para garantir que você teste as instâncias ativas e em espera.

      $ telnet b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com port

      Para a instância ativa, você verá um resultado semelhante ao seguinte.

      Connected to b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com.
      Escape character is '^]'.
    4. Execute um destes procedimentos:

      • Se o comando telnet tiver êxito, confira a métrica EstablishedConnectionsCount e confirme que o agente não tenha atingido o limite máximo de conexões com fio. Você também pode confirmar se o limite foi atingido revisando os logs General do agente. Se essa métrica for maior que zero, há pelo menos um cliente conectado ao agente no momento. Se a métrica não mostrar nenhuma conexão, execute o teste de caminho telnet novamente e aguarde pelo menos um minuto antes de desconectar, pois as métricas do agente são publicadas a cada minuto.

      • Se o comando telnet falhar, confira o status da interface de rede elástica do agente e confirme se o status é in-use. Crie um log de fluxo da Amazon VPC para a interface de rede de cada instância e revise os logs de fluxo gerados. Procure os endereços IP do agente quando você executou o comando telnet e confirme se os pacotes de conexão estão ACCEPTED, incluindo um pacote de devolução. Para obter mais informações e para ver um exemplo de log de fluxo, consulte Exemplos de registro de logs de fluxo no Guia de Desenvolvedores da Amazon VPC.

    5. Execute o seguinte comando curl para conferir a conectividade com o console da Web de administração do ActiveMQ.

      $ curl https://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com:8162/index.html

      Se o comando for bem-sucedido, o resultado deve ser um documento HTML semelhante a este.

      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
              <title>Apache ActiveMQ</title>
              ...
      
    RabbitMQ on Amazon MQ
    Para testar seu RabbitMQ na conectividade de rede do corretor Amazon MQ
    1. Abra uma nova janela de terminal ou de linha de comando.

    2. Execute o seguinte comando nslookup para consultar o registro DNS do seu agente. Substitua o endpoint com as suas informações.

      $ nslookup b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com

      Se a consulta for bem-sucedida, você verá um resultado semelhante a este.

      Non-authoritative answer:
      Server:  dns-resolver-corp-sfo-1.sfo.corp.amazon.com
      Address:  172.10.123.456
      
      Name:    rabbit-broker-1c23e456ca78-b9000123b4ebbab5.elb.us-west-2.amazonaws.com
      Addresses:  52.12.345.678
                52.23.234.56
                41.234.567.890
                54.123.45.678
      Aliases:  b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com
    3. Execute o seguinte comando telnet para testar o caminho de rede para o seu agente. Substitua o endpoint com as suas informações. Você pode port substituir por uma porta 443 para o console web e testar 5671 a conexão AMQP em nível de fio.

      $ telnet b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com port

      Se o comando for bem-sucedido, você verá um resultado semelhante a este.

      Connected to b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com.
      Escape character is '^]'.
      nota

      A conexão telnet será fechada automaticamente após alguns segundos.

    4. Execute um destes procedimentos:

      • Se o comando telnet for bem-sucedido, confira a métrica ConnectionCount e confirme que o agente não atingiu o valor definido na política padrão max-connections. Você também pode confirmar se o limite foi atingido revisando o grupo de logs do agente Connection.log. Se essa métrica for maior que zero, há pelo menos um cliente conectado ao agente no momento. Se a métrica não mostrar nenhuma conexão, execute o teste de caminho telnet novamente. Talvez seja necessário repetir esse processo se a conexão for fechada antes que seu agente publique novas métricas de conexão para CloudWatch. As métricas são publicadas a cada minuto.

      • Para agentes não acessíveis publicamente, se o comando telnet falhar, verifique o status das interfaces de rede elástica do agente e confirme se o status é in-use. Crie um log de fluxo da Amazon VPC para cada interface de rede e revise os logs de fluxo gerados. Procure os endereços IP privados do agente quando o comando telnet foi evocado e confirme se os pacotes de conexão estão ACCEPTED, incluindo um pacote de devolução. Para obter mais informações e para ver um exemplo de log de fluxo, consulte Exemplos de registro de logs de fluxo no Guia de Desenvolvedores da Amazon VPC.

        nota

        Essa etapa não se aplica ao RabbitMQ em corretores Amazon MQ com acessibilidade pública.

    5. Execute o seguinte comando curl para conferir a conectividade com o console da Web de administração do RabbitMQ.

      $ curl https://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com:443/index.html

      Se o comando for bem-sucedido, o resultado deve ser um documento HTML semelhante a este.

      <!DOCTYPE html>
      <html>
          <head>
              <meta http-equiv="X-UA-Compatible" content="IE=edge" />
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              <title>RabbitMQ Management</title>
              ...

Meu agente está sendo executado e posso verificar a conectividade usando telnet, mas meus clientes não conseguem estabelecer conexão e estão retornando exceções SSL.

Seu certificado de endpoint do agente pode ter sido atualizado durante a janela de manutenção do agente. Os certificados de agente do Amazon MQ são alternados periodicamente para garantir a disponibilidade contínua e a segurança dos agentes.

Recomendamos o uso da autoridade de certificação (CA) raiz da Amazon no Amazon Trust Services para autenticar no armazenamento de confiança de seus clientes. Todos os certificados do agente do Amazon MQ são assinados com essa CA raiz. Ao usar uma CA raiz da Amazon, você não precisará mais baixar o novo certificado de agente do Amazon MQ sempre que um certificado for atualizado no agente.

Criei um agente, mas a criação falhou.

Se o seu agente estiver em um status CREATION_FAILED, faça o seguinte.

  • Confira as suas permissões do IAM. Para criar um agente, você deve usar a política AWS gerenciada do IAM AmazonMQFullAccess ou ter o conjunto correto de EC2 permissões da Amazon em sua política personalizada do IAM. Para saber mais sobre as EC2 permissões necessárias da Amazon, consulte Permissões do IAM necessárias para criar um agente Amazon MQ.

  • Confira se a sub-rede que você está escolhendo para o seu agente está em uma Amazon Virtual Private Cloud (VPC) compartilhada. Para criar um agente do Amazon MQ em uma Amazon VPC compartilhada, você deve criá-lo na conta que possui a Amazon VPC.

Meu agente reiniciou e não sei por quê.

Se o seu agente foi reiniciado automaticamente, pode ter sido por um dos motivos a seguir.

  • Seu agente pode ter sido reiniciado devido a uma janela de manutenção semanal agendada. Periodicamente, o Amazon MQ realiza a manutenção do hardware, do sistema operacional ou do software do mecanismo de um agente de mensagens. A duração da manutenção varia, mas pode durar até duas horas, dependendo das operações agendadas para o agente de mensagens. Os agentes podem reiniciar a qualquer momento durante a janela de manutenção de duas horas. Para obter mais informações sobre janelas de manutenção do agente, consulte Agendar a janela de manutenção para um agente do Amazon MQ.

  • O tipo de instância do seu agente pode não ser adequado ao workload da sua aplicação. Por exemplo, executar um workload de produção em um mq.t2.micro pode resultar na falta de recursos do agente. Alta utilização da CPU ou alta utilização da memória do agente pode fazer com que este reinicie inesperadamente. Para ver quanta CPU e memória estão sendo utilizadas pelo seu corretor, use as seguintes CloudWatch métricas para seu tipo de mecanismo.

    • ActiveMQ no Amazon MQCpuUtilization Verifique a porcentagem de unidades de computação alocadas da EC2 Amazon que o agente usa atualmente. Confira em HeapUsage a porcentagem do limite de memória do ActiveMQ JVM que o agente usa atualmente.

    • RabbitMQ no Amazon MQ — Verifique a porcentagem de unidades SystemCpuUtilization de EC2 computação alocadas da Amazon que o agente usa atualmente. Confira em RabbitMQMemUsed o volume de RAM usado em Bytes, e divida por RabbitMQMemLimit para a porcentagem de memória usada pelo nó RabbitMQ.

    Para obter mais informações sobre tipos de instância de agente e como escolher o tipo de instância correto para seu workload, consulte Broker instance types.