【问题标题】:Static IP using Elastic Beanstalk使用 Elastic Beanstalk 的静态 IP
【发布时间】:2014-12-11 00:08:39
【问题描述】:

我需要静态 IP 以允许访问不在 AWS 网络上的防火墙网络。

是否可以使用 Elastic Beanstalk 为负载均衡的应用程序获取静态 IP?我正在关注AWS docs 关于使用 Route 53 以域名托管我的应用程序,但根据我的阅读,这并不能确保静态 IP,因为它本质上是使用 CNAME 允许幕后 IP改变。这是正确的理解吗?有可能吗?

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk amazon-route53


    【解决方案1】:

    在 VPC 中部署您的 beanstalk 环境,通过正确的配置,出站流量的静态 IP 很容易。

    在此设置中,您的实例都通过一台机器中继其出站流量,您可以为其分配弹性 IP 地址。来自其背后所有实例的所有内部来源的 Internet 绑定流量都将使用该单个弹性 IP 从另一个网络出现到 bw。

    以下的 RDS 部分可能与您的需求无关,但原理都是一样的。

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-rds.html

    【讨论】:

    • 我将阅读此内容,但只是快速跟进,beantalk 环境是否仍可以使用此设置进行负载平衡?
    • @Seth 是的。此设置仅影响服务器在发起流量时访问 Internet、出站的方式。入站流量仍然像以前一样通过负载均衡器。我们其中一个平台中的主要应用程序服务器几乎完全使用这种设置,位于 ELB 后面。具有静态地址的机器不是您的豆茎机器之一,它是一个新实例,始终处于开启状态......但它可以是一个非常小的实例(甚至是微型实例)并且仍然不会给您带来任何性能问题。 ELB流量完全独立于本机及相关配置。
    【解决方案2】:

    在 VPC 中部署您的 beanstalk 环境,通过正确的配置,出站流量的静态 IP 很容易。

    在此设置中,您的实例都通过一台机器中继其出站流量,您可以为其分配弹性 IP 地址。来自其背后所有实例的所有内部来源的 Internet 绑定流量都将使用该单个弹性 IP 从另一个网络出现到 bw。

    以下的 RDS 部分可能与您的需求无关,但原理都是一样的。

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-rds.html

    【讨论】:

    • 链接根本没有帮助
    • 我在上面的链接中找不到这个问题的答案。请在此处写下您的解决方案。并给出链接作为参考。
    • 我不能删除这个答案,因为它被接受了..但是这个答案不再相关而且旧了
    • 您希望如何将私有 IP 地址用于外部防火墙?
    • 我只是复制了投票最多的答案(@Michael - sqlbot),而不是前一个。我无法删除它,因为它已被接受。 (@云家伙)
    【解决方案3】:

    这个post 帮助我使用 NAT 网关为传出请求获取静态 IP,并通过它路由特定请求。

    我需要这个静态 IP 才能被外部 API 提供商列入白名单。

    我发现这种方式比AWS 提供的方式容易得多,无需创建新的 VPC 以及私有和公共子网。

    基本上,我所做的是:

    • 创建一个新子网来托管 NAT 网关。
    • 在上述子网中创建 NAT 网关,并分配一个新的弹性 IP。这将是我们用于访问外部 API 的传出 IP。
    • 为 NAT 子网创建路由表。所有出站流量 (0.0.0.0/0) 都应通过 NAT 网关路由。分配创建的子网以使用新的路由表。
    • 修改主路由表(处理我们所有 EC2 实例请求的路由表),并添加外部 API 的 IP,将其目标设置为 NAT 网关。

    这样我们可以通过 NAT 网关将任何请求路由到外部 API IP。所有其他请求都通过默认 Internet 网关路由。

    正如帖子所说,这不是多可用区解决方案,因此如果持有我们的 NAT 网关的可用区发生故障,我们可能会失去与外部 API 的连接。

    更新

    请参阅@TimObezuk 评论以使其成为多可用区解决方案。

    【讨论】:

    • 您在此处引用的帖子的作者。我很高兴听到它对您有所帮助 :) 通过在每个子网/可用区中创建一个 NAT 网关并为每个子网/可用区添加一个路由而不是 VPC 中的主路由表,这很容易使其成为多可用区解决方案。缺点是您需要将许多弹性 IP 地址列入白名单,因为每个 NAT 网关都有一个唯一的 IP 地址,以及许多 NAT 网关的额外费用。
    • 是的 @TimObezuk,我认为为每个 AZ 设置该选项将使您的解决方案成为多可用区的解决方案。不过我得试试。感谢您的精彩帖子!
    • 这仅在您知道外部服务的 IP 地址并且服务本身具有静态 IP 的情况下才有效。在这里查看我的问题:stackoverflow.com/questions/49994240/…
    • @CodyBugstein 确切地说,它只有在您知道外部服务的 IP 地址或至少它是静态的时才有效。你如何用动态IP解决它?问题在这里:stackoverflow.com/questions/52697134/…
    • 知道如何为不公开 IP 的 API 执行此操作吗?我想申请一个将我的 IP 地址列入白名单的域。
    猜你喜欢
    • 2017-04-22
    • 2019-04-26
    • 2018-05-18
    • 2018-03-11
    • 1970-01-01
    • 2020-11-15
    • 2012-12-12
    • 2011-08-27
    • 1970-01-01
    相关资源
    最近更新 更多