Amazon Elastic Beanstalk内部和互联网访问

nov*_*ver 6 amazon-ec2 amazon-web-services amazon-elb amazon-elastic-beanstalk

我们正尝试通过Amazon AWS Elastic Beanstalk(AEB)组件创建多个API的设置.我们之所以选择AEB是因为它为我们部署的应用程序提供了无缝部署和扩展,而无需手动创建负载均衡器(LB)和扩展规则.我们非常希望保持这种方式,因为我们计划推出(大量)应用程序和API.

然而,我们面临着AEB的一些挑战.

首先,一些API需要内部通信,低延迟是我们的核心要求.为了在AEB中利用内部网络通信,我们被"强迫":

  1. 在亚马逊分配VPC
  2. 将每个应用程序部署到此VPC - 每个应用程序都在其自己的内部LB之后

现在,当使用Elastic beanstalk URL时,API能够解析另一个API的LB的内部IP,从而消除了延迟并且一切都很好--API可以相互通信.

然而,这给我们带来了另一个问题:这些"内部"分配的API中的一些(记住,它们位于VPC中的内部LB后面)也必须可以从互联网访问.

我们仍然没有找到一种方法来使内部LBs可以访问互联网(同时保持其作为内部LB的能力),因此非常感谢任何有关此问题的帮助.

kuk*_*ido 3

  • 每个应用程序都应位于 VPC 内的子网上
  • 更新ACL和ELB安全组以允许外部访问

虚拟私有云内部的 AWS Elastic Load Balancing

另外,这个关于SO的问题包含相关信息:Amazon ELB in VPC

  • 不确定这是否是 Beanstalk 的正确答案。当您将 BS 环境设为公共时,该环境的 DNS 记录将解析为公共 IP 地址。因此,尝试访问它的任何其他内部 AWS 资源都将使用公共 IP 地址进行访问,这意味着请求会穿越 AWS 边界并通过公共互联网返回。 (3认同)