AWS Amazon MQ(RabbitMQ)代理-无法找到IP地址

t3irkdon  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(3)|浏览(219)

因此,我通过Amazon MQ在一个私有子网内创建了RabbitMQ代理,该子网不可公开访问。这将生成一个Web控制台URL https://xxxx.mq.us-west-2.amazonaws.com。我想创建一个名为www.example.com的Route 53记录xxxxx.ourdomain.com并使用该记录访问代理Web控制台。我所做的是创建一个CNAME记录,并使用https://xxxx.mq.us-west-2.amazonaws.com作为 value/route traffic to。问题是,“当我通过https://xxxxx.ourdomain.com访问它时,它给了我这个。

  • 此服务器无法证明它是ourdomain.com;它的安全证书来自 . mq.us-west-2.amazonaws.com“

因此,我们通常会为服务创建一个负载平衡器(其中ACM(ourdomain.com)与附加的目标组关联),并使用该负载平衡器创建Route 53 A记录。但我没有看到任何选项可以为Amazon MQ(RabbitMQ)执行此操作,因为它不提供任何目标或IP地址。我看到一些文档,其中显示了来自控制台的代理的IP地址(请参见:https://aws.amazon.com/blogs/compute/creating-static-custom-domain-endpoints-with-amazon-mq/),但我在Amazon MQ控制台和网络接口中都看不到它。
Amazon MQ Console

vfhzx4xs

vfhzx4xs1#

我们需要进行DNS查找以检索私有IP地址

module "shell_execute" {
  source  = "github.com/matti/terraform-shell-resource"
  command = "dig +short $(echo $URL | cut -d'/' -f3 | cut -d':' -f1) | grep -v '\\.$'"
  environment = {
    URL = module.rabbitmq01.primary_ssl_endpoint
  }
}

output "mq_private_ip" {
  value = module.shell_execute.stdout
}

太复杂了,但这个很管用。
现在,我们可以继续配置目标组附件。
祝你好运!

z9zf31ra

z9zf31ra2#

您可以在linux中使用以下命令获取私有ip:host {hostname-of-amazonmq-service}
如这里更详细地描述的:https://aws.amazon.com/blogs/compute/creating-static-custom-domain-endpoints-with-amazon-mq-for-rabbitmq/
此链接解释了如何为您的RabbitMQ示例设置CNAME。最重要的是,您需要一个负载平衡器才能使用安全连接。

xu3bshqb

xu3bshqb3#

截至2021年9月,AWS MQ RabbitMQ代理没有与之关联的IP地址,这使得它们在现实世界的应用程序中几乎毫无用处。

相关问题