Solución de problemas generales de Amazon MQ - Amazon MQ

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas generales de Amazon MQ

Utilice la información que se proporciona en esta sección para diagnosticar los problemas comunes que se le planteen cuando se trabaje con agentes de Amazon MQ, como los problemas de conexión con su agente y reinicios de los agentes.

No puedo conectarme con la consola web o los puntos de enlace de mi agente.

Si tiene problemas para conectarse con su agente a través de la consola web o los punto de enlace de nivel de cable, le recomendamos que siga estos pasos.

  1. Verifique que no está intentando conectarse con su agente desde detrás de un firewall. Es posible que tenga que configurar el firewall para poder acceder al agente.

  2. Compruebe si está intentando conectarse al agente mediante un punto de conexión FIPS. Amazon MQ solo es compatible con los puntos de conexión FIPS al utilizar las operaciones de la API, pero no para las conexiones a nivel de cable con la propia instancia del agente.

  3. Verifique si la opción Public accessibility (Accesibilidad pública) está configurada en Yes (Sí) para su agente. Si está configurada en No, verifique las reglas de la lista de control de acceso (ACL) de la red de su subred. Si ha creado una red personalizada ACLs, es posible que tenga que cambiar las reglas de ACL de la red para proporcionar acceso a su agente. Para obtener más información acerca de las redes de Amazon VPC, consulte el tema sobre la habilitación del acceso a Internet en la Guía del usuario de Amazon VPC

  4. Verifique las reglas del grupo de seguridad de su agente. Asegúrese de permitir las conexiones a los siguientes puertos:

    nota

    Los siguientes puertos se agrupan según los tipos de motor, ya que ActiveMQ en Amazon MQ y RabbitMQ en Amazon MQ utilizan puertos diferentes para las conexiones.

    ActiveMQ en Amazon MQ
    • Consola web: puerto 8162

    • OpenWire — Puerto 61617

    • AMQP: puerto 5671

    • STOMP: puerto 61614

    • MQTT: puerto 8883

    • WSS: puerto 61619

    RabbitMQ en Amazon MQ
    • Consola web y API de administración: puerto 443 y 15671

    • AMQP: puerto 5671

  5. Ejecute las siguientes pruebas de conectividad de red para su tipo de motor de agente.

    nota

    Para los corredores sin acceso público, ejecute las pruebas desde una EC2 instancia de Amazon dentro de la misma VPC de Amazon que su agente de Amazon MQ y evalúe las respuestas.

    ActiveMQ on Amazon MQ
    Para probar su ActiveMQ en la conectividad de red del bróker de Amazon MQ
    1. Abra un nuevo terminal o una ventana de líneas de comandos.

    2. Ejecute el comando nslookup para consultar el registro DNS del agente. Para implementaciones en modo activo/en espera, pruebe los puntos de enlace activos y en espera. Los puntos de enlace activos/en espera se identifican agregando el sufijo -1 o -2 al ID único del agente. Reemplace el punto de enlace por la información de su cuenta.

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

      Si la consulta se realiza correctamente, se mostrará un resultado similar al que se incluye a continuación.

      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

      La dirección IP resuelta debe coincidir con las direcciones IP proporcionadas en la consola de Amazon MQ. Esto indica que el nombre de dominio se está resolviendo correctamente en el servidor DNS y puede pasar al paso siguiente.

    3. Ejecute el comando telnet para probar la ruta de red para su agente. Reemplace el punto de enlace por la información de su cuenta. portSustitúyalo 8162 por el número de puerto de la consola web u otro puerto a nivel de cable para probar protocolos adicionales según sea necesario.

      nota

      Para las implementaciones en modo activo/en espera, recibirá un mensaje de error Connect failed si ejecuta telnet con el punto de conexión en espera. Se espera que esto suceda, ya que se está ejecutando la propia instancia en espera, no el proceso de ActiveMQ, que no tiene acceso al volumen de almacenamiento de Amazon EFS del agente. Ejecute el comando para ambos puertos de enlace, -1 y -2, y asegúrese de probar tanto las instancias activas como las de espera.

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

      Para la instancia activa, se mostrará un resultado similar al que se incluye a continuación.

      Connected to b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-west-2.amazonaws.com.
      Escape character is '^]'.
    4. Aplique alguna de las siguientes acciones.

      • Si el comando telnet se ejecuta correctamente, verifique la métrica EstablishedConnectionsCount y confirme que el agente no haya alcanzado el límite de conexiones de nivel de cable máximo. Para confirmar si se ha alcanzado el límite, también puede revisar los registros General del agente. Si esta métrica es mayor que cero, hay al menos un cliente conectado actualmente con el agente. Si la métrica muestra cero conexiones, vuelva a realizar la prueba de la ruta telnet y espere al menos un minuto antes de desconectarse, porque las métricas del agente se publican cada un minuto.

      • Si el comando telnet da error, verifique el estado de la interfaz de red elástica del agente y confirme que el estado sea in-use. Cree un registro de flujo de Amazon VPC para la interfaz de red de cada instancia y revise los registros de flujo generados. Busque las direcciones IP que utilizó el agente cuando ejecutó el comando telnet y confirme que los paquetes de conexión, incluso un paquete de retorno, estén ACCEPTED. Para obtener más información y ver un ejemplo de registro de flujo, consulte Ejemplos de entradas del registro de flujo en la Guía para desarrolladores de Amazon VPC.

    5. Ejecute el comando curl para verificar la conectividad con la consola web del administrador de ActiveMQ.

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

      Si el comando se ejecuta correctamente, se debe obtener un documento HTML similar al que se incluye a continuación.

      <!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 probar su RabbitMQ en la conectividad de red del bróker de Amazon MQ
    1. Abra un nuevo terminal o una ventana de líneas de comandos.

    2. Ejecute el comando nslookup para consultar el registro DNS del agente. Reemplace el punto de enlace por la información de su cuenta.

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

      Si la consulta se realiza correctamente, se mostrará un resultado similar al que se incluye a continuación.

      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. Ejecute el comando telnet para probar la ruta de red para su agente. Reemplace el punto de enlace por la información de su cuenta. Puede sustituirlo por port un puerto 443 para la consola web y probar la conexión AMQP 5671 a nivel de cable.

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

      Si el comando se ejecuta correctamente, se mostrará un resultado similar al que se incluye a continuación.

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

      La conexión telnet se cerrará automáticamente después de unos segundos.

    4. Aplique alguna de las siguientes acciones.

      • Si el comando telnet se ejecuta correctamente, verifique la métrica ConnectionCount y confirme que el agente no haya alcanzado el valor configurado en la política max-connections predeterminada. Para confirmar si se ha alcanzado el límite, también puede revisar el grupo de registros Connection.log del agente. Si esta métrica es mayor que cero, hay al menos un cliente conectado actualmente con el agente. Si la métrica muestra cero conexiones, vuelva a realizar la prueba de la ruta telnet. Es posible que tenga que repetir este proceso si la conexión se cierra antes de que su agente haya publicado nuevas métricas de conexión. CloudWatch Las métricas se publican cada un minuto.

      • Para los agentes sin accesibilidad pública, si el comando telnet da error, verifique el estado de las interfaces de red elásticas del agente y confirme que el estado sea in-use. Cree un registro de flujo de Amazon VPC para cada interfaz de red y revise los registros de flujo generados. Busque las direcciones IP privadas que utilizó el agente cuando invocó el comando telnet y confirme que los paquetes de conexión, incluso el paquete de retorno, estén ACCEPTED. Para obtener más información y ver un ejemplo de registro de flujo, consulte Ejemplos de entradas del registro de flujo en la Guía para desarrolladores de Amazon VPC.

        nota

        Este paso no se aplica a RabbitMQ en los corredores de Amazon MQ con accesibilidad pública.

    5. Ejecute el comando curl para verificar la conectividad con la consola web del administrador de RabbitMQ.

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

      Si el comando se ejecuta correctamente, se debe obtener un documento HTML similar al que se incluye a continuación.

      <!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>
              ...

Mi agente se está ejecutando y puedo verificar la conectividad usando telnet, pero mis clientes no se pueden conectar y están devolviendo excepciones SSL.

Es posible que su certificado de punto de conexión del agente se haya actualizado durante el período de mantenimiento del agente. Los certificados de agente de Amazon MQ se rotan periódicamente para garantizar la disponibilidad y la seguridad continuas de los agentes.

Recomendamos utilizar la entidad de certificación (CA) raíz de Amazon en Amazon Trust Services para autenticar en el almacén de confianza de los clientes. Todos los certificados de agente de Amazon MQ están firmados con esta CA raíz. Al utilizar una CA raíz de Amazon, ya no tendrá que descargar el nuevo certificado de agente de Amazon MQ cada vez que haya una actualización de certificado en el agente.

Creé un agente pero me dio error.

Si el estado del agente está es CREATION_FAILED, haga lo siguiente.

  • Verifique sus permisos de IAM. Para crear un bróker debes utilizar la política de IAM AWS gestionada AmazonMQFullAccess o tener el conjunto correcto de EC2 permisos de Amazon en tu política de IAM personalizada. Para obtener más información sobre los EC2 permisos de Amazon necesarios, consulta los permisos de IAM necesarios para crear un agente de Amazon MQ.

  • Verifique si la subred que está eligiendo para su agente está en una Amazon Virtual Private Cloud (VPC) compartida. Para crear un agente de Amazon MQ en una Amazon VPC compartida, debe crearlo en la cuenta propietaria de Amazon VPC.

Mi agente se reinició y no estoy seguro de porqué.

Si su agente se reinició automáticamente, podría deberse a una de las siguientes razones.

  • Es posible que su agente se haya reiniciado debido a un período de mantenimiento semanal programado. Amazon MQ realiza de forma periódica el mantenimiento del hardware, el sistema operativo o el software del motor de un agente de mensajes. La duración del mantenimiento varía, pero puede durar hasta dos horas, dependiendo de las operaciones programadas para el agente de mensajes. Los agentes pueden reiniciarse en cualquier momento durante el período de mantenimiento de dos horas. Para obtener más información sobre los períodos de mantenimiento del agente, consulte Programación del período de mantenimiento de un agente de Amazon MQ.

  • Es posible que el tipo de instancias del agente no sea adecuado para la carga de trabajo de la aplicación. Por ejemplo, ejecutar una carga de trabajo de producción en una mq.t2.micro podría hacer que el agente se quede sin recursos. Un uso elevado de la CPU o de la memoria del agente pueden provocar que el agente se reinicie imprevistamente. Para ver la cantidad de CPU y memoria que utiliza su agente, utilice las siguientes CloudWatch métricas para su tipo de motor.

    • ActiveMQ en Amazon MQ: CpuUtilization compruebe el porcentaje de unidades informáticas de EC2 Amazon asignadas que el agente utiliza actualmente. Verifique HeapUsage para obtener el porcentaje del límite de memoria JVM de ActiveMQ que el agente usa actualmente.

    • RabbitMQ en Amazon MQ: compruebe SystemCpuUtilization el porcentaje de unidades EC2 informáticas de Amazon asignadas que el agente utiliza actualmente. Verifique RabbitMQMemUsed para obtener el volumen de RAM utilizado en bytes, y divídalo por RabbitMQMemLimit para obtener el porcentaje de memoria que utiliza el nodo de RabbitMQ.

    Para obtener información acerca de los tipos de instancias del agente y cómo elegir el tipo de instancias adecuado para su carga de trabajo, consulte Broker instance types.