对于任何感兴趣的人,我想我已经弄清楚了这一点。
您不能只设置自定义域的原因是因为该服务允许您拥有多可用区配置,这意味着有超过 1 个代理。处理超过 1 个故障转移的最佳方法是使用负载均衡器,所以我认为这是您需要做的。
我发现您不需要私人经纪人,您也可以使用公共经纪人。在 Amazon MQ 控制台中,您只能获得公共 IP,但如果您转到 EC2 和网络接口,您会发现使用您拥有的公共 IP 的接口并从中获得私有 IP
您需要在 EC2 的网络接口部分执行完全相同的操作,以获取负载均衡器的私有 IP(将是 1-2 个 IP)。您需要这些私有 IP 来设置负载均衡器和安全组。这些是步骤
- 创建 Amazon MQ 实例(公共或私有)
- 我做了一个公共经纪人
- 也是单实例而不是多可用区
- 已经创建了一个安全组,但如果您没有在设置之前或期间创建一个
- 我为您访问代理的 2 个端口的安全组添加了规则
- 8162 - 用于仪表板 (HTTPS)
- 61617 - 用于代理 (TLS)
- 导航到 EC2 -> 网络接口 - 获取 MQ 代理的私有 IP(使用分配给您的实例的公共 IP)。如果您创建私人经纪人,则可以跳过此步骤
- 在 AWS 的 ACM 服务中为您的子域创建证书。使用电子邮件或 DNS 进行验证
- 使用以下设置创建 NLB (TCP):
- 网络负载均衡器 (TCP/TLS/UDP)
- 选择一个名字
- 面向互联网
- 用于侦听器的 TLS(安全 TCP)协议
- 端口 61617
- 可用区与您的代理相同(也观察相同的 VPC)
- 选择 ACM 认证
- 找到您在第 3 步中创建的证书。您需要先对其进行验证,然后它才会显示在此处
- 安全策略 - ELBSecurityPolicy-2016-08
- ALPN 政策:无
- 新的目标群体 - 选择一个名字
- 目标类型 - IP
- 协议:TLS
- 端口:61617
- 健康检查:协议 HTTPS
- 健康检查:路径/index.html
- 健康检查:(覆盖)端口:8162
- 注册您的目标插入在步骤 2 中找到的代理的私有 IP,单击添加到列表
- 审查
- 结束
- 创建 NLB 后,导航到您链接到代理的安全组并将 NLB 私有 IP 添加到安全组(我完成了所有流量,但您可以将其限制为您需要的 2 个端口,用于代理和健康检查)、61617 和 8162
- 最后在 route53(和别名 A 记录)中创建一个域记录,将您的子域映射到分配给您的 NLB 的域名。
这将为您提供使用 SSL 访问您的代理的子域。您可以执行完全相同的操作,但使用应用程序负载均衡器 (HTTPS) 来访问控制台。我创建了第二个 LB、一个新的子域和证书以使其正常工作,并且效果很好。两者之间的唯一区别是侦听器通过 HTTPS 使用端口 8162,并且在配置时您必须提供 2 个子网,否则其他一切都几乎相同(尤其是运行状况检查)
希望这对任何人都有帮助,因为我找不到任何明确解释如何以及为什么这样做的文档,亚马逊有一些文档,但他们遗漏了很多细节或为什么你需要做这些事情背后的原因,以及我发现的博客文章他们只谈到与私人经纪人一起做这件事。
享受。