Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 私下与公共弹性beanstalk负载平衡器通信_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services 私下与公共弹性beanstalk负载平衡器通信

Amazon web services 私下与公共弹性beanstalk负载平衡器通信,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,我部署了两个beanstalk应用程序—一个应用程序和一个api。两者都有公共负载平衡器。实例和负载平衡器都位于相同的安全组中:默认的自引用vpc安全组和允许从单个IP进行http访问的组。他们都在同一个专有网络中。这两项服务目前无法通信。我希望他们能够通过将他们放在相同的默认SG中进行通信 我已经访问了应用程序的一个实例,我发现我可以成功地卷曲API的一个实例,但是我不能卷曲API的loadbalancer。我发现,如果我向API负载平衡器添加一个带有应用实例的公共IP的安全组,我可以成功地进

我部署了两个beanstalk应用程序—一个应用程序和一个api。两者都有公共负载平衡器。实例和负载平衡器都位于相同的安全组中:默认的自引用vpc安全组和允许从单个IP进行http访问的组。他们都在同一个专有网络中。这两项服务目前无法通信。我希望他们能够通过将他们放在相同的默认SG中进行通信

我已经访问了应用程序的一个实例,我发现我可以成功地卷曲API的一个实例,但是我不能卷曲API的loadbalancer。我发现,如果我向API负载平衡器添加一个带有应用实例的公共IP的安全组,我可以成功地进行通信,但如果我只添加私有IP,则无法实现通信。因此,我的问题是:

  • 如果我向自引用安全组添加实例,它是否只允许私有IP通过
  • 虽然我希望我的服务能够通过我允许的单一IP公开访问,但我更希望它们之间能够私下通信。使用公共负载平衡器可以做到这一点吗

两天的学习之后,我想我可以用我学到的知识回答我的问题:

  • 自引用安全组仅包括实例的私有IP
  • 如果负载平衡器具有公共dns,实例将通过internet与其通信
  • 您可以从EC2->Network Interfaces接口中找到loadbalancer的专用IP地址,但我没有走这条路线,因为我无法自动实现这一点
  • 相反,我将API beanstalk loadbalancer设置为内部,以及与公共区域匹配的私有区域。这将使应用程序的流量私下在两个环境之间传输,并允许使用自引用安全组
  • 然后,我在API的beanstalk启动配置中添加了一个额外的、公共的loadbalancer,添加了一个安全组,限制我想要访问的IP。公共区域CNAME指向此处

这一切都可以自动完成。

我正在尝试创建相同的设置,但在正确设置分区方面遇到了问题(我想)。你能详细介绍一下吗?我有两个域名相同的区域,一个是私有的,一个是公共的