【问题标题】:what tools should I use on AWS to map a port我应该在 AWS 上使用哪些工具来映射端口
【发布时间】:2021-04-20 20:02:37
【问题描述】:

我有一个在 EC2 实例

上运行的 jfrog 工厂(端口 8081)和 jfrog docker(端口 8082

使用 route53定义了 xxx.io 和还有两个子域 jrog.xxx 的url .io 和 docker.xxx.io

通过证书管理器,我申请 xxx.io 的 SSL 证书,该证书通常可用如果我没有犯任何错误,子域也是如此。

需要设置哪些工具,以便当用户输入网址 jfrog.xxx.io 时,它会重定向到jfrog 实例 (port 8081) 但是这个实例的端口必须映射到 443 ?

【问题讨论】:

  • 如果您想使用来自 AWS Certificate Manager 的证书,您需要 Elastic Load Balancer 或 CloudFront。
  • 但是如何使用弹性负载均衡器从(8081 到 443)转发端口。我知道使用 cloudfront 我可以,但不幸的是 EC2 实例已经在运行
  • 您映射负载均衡器目标组中的端口。您在负载均衡器中为端口 443 设置了一个侦听器,并将目标组配置为将流量发送到目标服务器上的端口 8081。
  • 所以当我创建目标组时,我必须选择 TCP 协议并输入我的端口(8081 和 8082)?
  • 您必须使用 AWS Certificate Manager 吗?您可以在前面放置一个代理(例如 Nginx 或 Apache),而不必使用负载均衡器。当然,这意味着您可能只有一个可能不是您想要的实例。

标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-ecs aws-application-load-balancer


【解决方案1】:

您可以使用应用程序负载均衡器来实现它。

负载均衡器与目标组一起使用,您的负载均衡器需要 2 个目标组。第一个目标组将 https (443) 映射到您的 jfrog docker,第二个目标组将 https (443) 映射到您的 jfrog 工厂。

jfrog 工厂的目标群体如下所示:

jfrog docker 的目标组如下所示。 P.S:我的实例不健康,因为它没有任何内容,只是一个虚拟实例。

目标组中的重要内容是您的应用程序的端口映射和目标类型。然后向目标组注册您的 EC2 实例。

现在在您的负载均衡器中,为 HTTPS (443) 类型的侦听器选择标签 ListenersView/Edit rules

然后使用条件host header 添加新规则,然后根据您的子域 (host header) 将流量重定向到您的目标组,它应该如下所示。 P.S 我没有 SSL 证书,所以我使用了 http 本身,https 应该没有什么不同。

最后,您必须创建一个 CNAME 类型的 DNS 条目,以将您的域 (xxx.io) 映射到负载均衡器的 DNS 名称。

您将在此处获取负载平衡器的 DNS 名称:

【讨论】:

  • 非常感谢您为解决我的问题提供的信息。我没有看到目标组的右下角有编辑规则。再次感谢。@atish.s
  • @olibruno 不客气,很高兴它成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 2017-06-06
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多