亚马逊 MQ 上的 RabbitMQ:ARN 无效 - Amazon MQ

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 MQ 上的 RabbitMQ:ARN 无效

当代理中配置的一个或多个 ARNs 无效或无法访问时,亚马逊 MQ 上的 RabbitMQ 将引发一个 INVALID_ARN 关键操作所需的代码。这适用于 ARNs 用于更具体的隔离代码(例如 RABBITMQ_INVALID_ARN_LDAP 或 RABBITMQ_INVALID_ASSUMEROLE 或 RABBITMQ_INVALID_ASSUMEROLE)未涵盖的 SSL 证书、 AWS Secrets Manager 机密、Amazon S3 对象或其他 AWS 资源引用。

在 RABBITMQ_INVALID_ARN 隔离区中的代理可能会遇到功能降级的情况,具体取决于哪些代理无效。 ARNs 依赖于无法访问的资源的功能将不可用,并且代理将记录错误,指出哪个 ARN 无法解析。对代理可用性的影响取决于关键代理操作是否需要无效的 ARN。

诊断和解决 RABBITMQ_INVALID_ARN

要诊断和解决 RABBITMQ_INVALID_ARN 操作所需的代码,您必须使用亚马逊 CloudWatch 日志和受影响资源的相应服务控制台。 AWS

解决无效的 ARN 问题
  1. 导航至 Amazon CloudWatch Logs Insights,然后对您的经纪人的日志组运行以下查询/aws/amazonmq/broker/<broker-id>/general

    fields @timestamp, @message | sort @timestamp desc | filter @message like /error.*aws_arn_config/ | limit 10000
  2. 查找类似于以下内容的错误消息:

    [error] <0.254.0> aws_arn_config: {<<"could not resolve ARN 'arn:aws:s3:::bucket-name/certificate.pem' for configuration 'aws.arns.auth_ldap.ssl_options.cacertfile', error: \"AWS service is unavailable\"">>,{error,"AWS service is unavailable"}}
  3. 检查 AWS 资源并修复所有问题,例如:

    • 验证资源是否与代理位于同一 AWS 区域

    • 确认 ARN 语法是否正确

    • 确保 IAM 角色具有访问资源的相应权限

  4. 在更新代理配置之前,使用 ARN 访问验证 API 端点验证修复程序。

  5. 更新代理配置并重启代理。