2017-04-06 83 views
1

我正在寻求关于采用动态IP与EC2安全组和服务一起采用的最佳方法的一些指导。我想利用SendGrid,Elastic Cloud等服务,它们都使用端口80/443上的dyanmic IP。但是,除了列入白名单的IP之外,对端口80/443的访问已关闭。到目前为止,我已经找到了解决方案:带有主机/动态IP/DNS的亚马逊EC2安全组

  1. cron作业来ping服务,通过EC2 API以IP的和更新EC2安全组。
  2. 创建一个新的EC2作为端口80/443打开的代理。新服务器与Sendgrid/ElasticCloud通信,检查响应并将部件返回给主服务器。

还有其他更好的解决方案吗?

回答

1

首先,请记住,在AWS安全组是stateful,这意味着,例如,如果你打开的端口80443在你出站规则所有目的地(0.0.0.0/0),您的EC2机器将能即使没有给定IP的入站规则,也可以连接到远程主机并获取响应。

但是,只有在连接总是由您的EC2实例启动并且远程服务正在响应时,此方法才有效。如果您需要从外部启动与您的EC2实例的连接,则您需要指定安全组中的入站规则。如果您知道其公有IP地址的CIDR块,则可以解决该问题,因为您可以将其指定为安全组规则中的目标。如果您不知道将要到达您的机器的主机的IP范围,那么在网络级别访问限制是不可行的,您需要实施请求者的某种形式的授权。

P.S.也请记住,有一种50 inbound or outbound rules软默认限制每个安全组。

+0

感谢德米特里,不知道。不幸的是,我认为有迹象显示EC2将需要侦听和我没有为Sendgrid一个CIDR块网络挂接。 :/我应该寻找替代软件防火墙吗? – calh27

+0

@ calh27我相信,因为连接是通过EC2开始收听应该罚款。当然,需要进行测试。 –

+0

对不起,我应该澄清它更多的是等待json通知而不是套接字侦听的脚本。 – calh27