我已经在弹性 beantalk 上部署了一个 API,并且可以在其 VPC 中访问它,我如何使它可以公开访问?

Posted

技术标签:

【中文标题】我已经在弹性 beantalk 上部署了一个 API,并且可以在其 VPC 中访问它,我如何使它可以公开访问?【英文标题】:I have deployed an API on elastic beanstalk and it is accessible within its VPC, how do I make it accessible publicly? 【发布时间】:2019-02-01 11:57:23 【问题描述】:

我在文档中找不到明确的答案。我在创建时选择了“分配公共 IP”选项,但在配置中的任何地方都找不到所述公共 IP。

我离公开托管这项服务仅一步之遥,但无法让它发挥作用。有什么指点吗?

【问题讨论】:

有什么理由不使用 API 网关路由到您的 API? 不知道怎么弄的,我去看看 看起来有点矫枉过正。我已经托管了一个完全内置的 rest API,API 网关似乎是多余的。我只想能够从外部世界访问资源 url,就像我在没有 vpc 的情况下托管我的服务时那样...... 【参考方案1】:

是否有可供公共 IP 访问互联网的网关?简单地附加公共 IP 不会使您的实例能够访问互联网。您需要确保通过 Amazon VPC 为实例提供可用的路由。参考:https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html

【讨论】:

我只是希望能够从外部世界访问资源 url,就像我在没有 vpc 的情况下托管我的服务时那样......我会处理 ips 和dns 以后的东西。我无法在 vpc 外部托管服务,因为我的 rds 实例在一个内部 @kamii 我认为当你在 vpc 之外说你真的是指default vpc。如果您有正确的路由设置,无论您可以进行公开和私人交谈。在此处参考link。如果您真的想要一个非常简单的设置,最好在默认 vpc 中启动所有内容并将 RDS 的 SG 锁定到 web 层 我之前创建了一个没有指定 VPC 的 beanstalk 应用程序,并且配置的网络部分完全空白。我可以通过资源 URL 从任何地方访问。太棒了。我对网络的东西有点不知所措,我通常是一个数据/后端的人,根本不接触管理/操作的东西。感谢您尝试提供帮助

以上是关于我已经在弹性 beantalk 上部署了一个 API,并且可以在其 VPC 中访问它,我如何使它可以公开访问?的主要内容,如果未能解决你的问题,请参考以下文章

在弹性 beantalk 上部署 rails 应用程序时出错(生产模式)

在弹性 beantalk 部署上的 ec2 微型实例上创建交换文件/驱动器

在 AWS 弹性 beantalk 上部署 Flask 应用程序

Flask 应用程序未在 AWS 弹性 beantalk 上部署

使用弹性 beantalk 部署的 Rails 应用程序响应“无法访问站点”

我的 python-flask 应用程序源存储在使用弹性 beantalk 部署的 ec2 实例上在哪里?