0

我有VPC几个实例;

这些需要通过 public 可以在它们之间访问url,即一个实例,比如说

mysub1.mydomain.com

应该可以访问

mysub2.mydomain.com

反之亦然;

我目前唯一的方法是:

a)分配ElasticIP给每个人(这样他们就不会改变)

b) 在各自的安全组中添加明确的允许规则,使上述请求成为可能;

由于我缺少ElasticIPs,鉴于实例数预计会增长,是否有另一种方法可以解决这种情况?

我可以将这些实例放在后面,ELB或者ALB是否可以以某种方式解决问题;

编辑:是否可以使用带有扭曲的NAT 网关(实际上允许传入和传出我的实例的传入和传出流量)是保存 IP 地址的解决方案?但这如何与我在某些要求期间必须使用的负载均衡器(ELB 或 ALB)结合使用?

4

2 回答 2

1

如果您仅要求它们在 VPC 内进行本地通信以通过其 DNS 名称相互联系,那么您应该能够在 Amazon Route 53 中为 Amazon VPC 创建一个私有托管区域。

为每个实例添加指向其私有 IP 地址的条目。这样,DNS 名称将在 VPC 内解析为指向私有 IP 地址而不是公共地址。流量将在 VPC 内流动,而不会流出 Internet。这也不需要分配公共 IP 地址。

如果您还需要在 Internet(VPC 外部)上解析 DNS 名称,则不一定需要使用弹性 IP 地址。创建实例时,每个 Amazon EC2 都可以请求一个公共 IP 地址。您可以将公共 DNS 名称指向此地址。但是,请注意,如果实例停止和启动,公共 IP 地址可能会发生变化(而弹性 IP 地址不会发生变化)。

于 2018-07-23T23:36:26.020 回答
0

理想情况下,您应该创建一个具有公有子网和私有子网 ( https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html ) 的 VPC,并将您的实例(除非有特殊需要)放在私有子网中。

然后,您将配置外部和内部负载均衡器以及 DNS 进行通信,这样您就不需要依赖公共 IP 并且可以扩展您的应用程序(您可以根据需要使用经典或应用程序负载均衡器)。

您可以在 route53 ( https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html )上设置公共和私有 DNS 区域,以便您可以仅从 VPC 内部解析某些终端节点.

然后,您甚至可以通过创建“安全组到安全组”规则或将入站流量限制到特定子网来提高安全性。

于 2018-07-23T12:02:18.033 回答