我有四个EC2实例,其中三个运行api服务,另一个运行用户界面(UI)。UI实例通过对另一个实例的api调用获取数据。现在,由于使用为每个EC2服务提供的用于api调用的公共IP,每件事都能很好地工作。但是,mi是关于如果公共服务的ip改变(出于任何原因)会发生什么呢?然后我的应用程序就会崩溃,因为UI无法从服务中获取数据。经过一些研究,我发现appers是一个解决方案:使用vpc在私有ip上连接EC2实例(因为是静态的),并将UI实例关联到一个弹性IP (这里没有问题)。母猪,我有些问题:
1)我做了一个测试,把所有的实例放在同一个vpc (和子网)中,但是当我从一个到另一个进行ping时,pings失败了。这是我的方法对吧?还是我错过了什么?
2)我读了另外几个选项,但我不知道什么是最好的:也许我必须使用Api网关?还是NAT网关?
3)以私有方式通信EC2实例的标准实践是什么?

发布于 2020-01-15 18:21:08
1)我做了一个测试,把所有的实例放在同一个vpc (和子网)中,但是当我从一个到另一个进行ping时,pings失败了。这是我的方法对吧?还是我错过了什么?
出于安全原因,AWS使用安全组阻止ICMP通信。请使平安流量(ICMP)在安全组,从你正在试图连接的叶氏,它更好地允许整个CIDR块为VPC的所有流量,将使您的生活非常容易。请确保您只在测试环境中执行此操作。
2)我读了另外几个选项,但我不知道什么是最好的:也许我必须使用Api网关?还是NAT网关?
同样,正如您提到的,您所关心的是实例的公共IP将发生变化(当然,如果您的实例因任何原因停止/启动),但是为什么不对所有实例使用弹性IP,这可能是解决方案的一部分,但是使用这种方法您的所有实例都将暴露在互联网上,因此使用私有IP是最好的选择。
3)以私密方式通信EC2实例的标准实践是什么?
它取决于用例,如果您的实例位于同一vpc中而不需要额外的配置,您只需要确保安全组、网络访问控制列表和防火墙配置是正确的。如果您的实例位于不同的VPC中,则可以使用VPC对等/传输网关.
。
https://stackoverflow.com/questions/59755045
复制相似问题