2

因此,我在私有子网中通过 Amazon MQ 创建了我们的 RabbitMQ 代理,并且不能公开访问。这会生成一个 Web 控制台 URL https://xxxx.mq.us-west-2.amazonaws.com。我想创建一个 Route 53 记录名称 xxxxx.ourdomain.com 并使用它来访问代理 Web 控制台。我所做的是创建一个 CNAME 记录并使用https://xxxx.mq.us-west-2.amazonaws.com作为值/路由流量到. 问题是当我通过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 控制台和网络接口中都没有。

亚马逊 MQ 控制台

4

2 回答 2

0

我们需要做一个 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
}

太复杂了,但这一个有效。

现在我们可以继续配置我们的目标组附件。

祝你好运!

于 2022-01-21T11:51:19.847 回答
-1

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

于 2021-09-17T10:38:14.050 回答