如何限制从外部访问EC2,但允许从Elastic Beanstalk实例?

这是情况:

我们有一个运行Elasticsearch和Elastic Beanstalk(EB)环境的EC2服务器。 他们都在同一个VPC。

这是我的目标:

仅允许从EB生成的实例访问EC2(9200端口)。

我做了什么,发生了什么事情:

在EC2安全组内,我添加了一条规则,允许从Elastic Load Balancer的安全组访问端口9200。 没有工作 – 超时。 当试图指定EB实例IP地址 – 工作。

之后,我尝试了一个更简洁的版本,看看问题出在哪里。 创build了一个空的安全组“elasticsearch-client”。 然后用下面的规则创build一个安全组“elasticsearch-server”

Custom TCP Rule | TCP | 9200 | sg-xxxxxxxx (elasticsearch-client) 

将服务器组连接到Elasticsearch EC2实例和客户端组到我要执行search的新EC2实例。 我试图从客户端连接到服务器,但连接超时。 我可以连接到服务器,如果我允许来自世界各地的连接,所以我知道Elasticsearch服务器至less工作。 如果我在安全组中指定IP,也可以从新的EC2实例进行连接。

我使用安全组的方式是否错误? 还有另外一种方法可以解决这个问题吗?

任何帮助深表感谢。