AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 759998
Accepted
John Smith
John Smith
Asked: 2016-02-27 03:12:46 +0800 CST2016-02-27 03:12:46 +0800 CST 2016-02-27 03:12:46 +0800 CST

EC2 - 如何通过单个公共 IP 路由出站流量

  • 772

我在 vpc 公共子网中有 3 个 Web 服务器(ec2 实例),它们都有 EIP。

我有通常的 Internet 网关和路由,以确保这些实例能够调用外部服务,以及在这些实例之间旋转传入流量的负载均衡器 (ELB)。

主要问题是服务器上的应用程序将连接到许多外部服务/API,但其中一些服务需要 IP 白名单。我们现在要做的是将 EIP 分配给实例,进入所述服务的控制面板,添加新的 EIP 并继续使用,但是我们的帐户可用的 EIP 数量都达到了限制(是的,我知道它可以被碰撞,但仍然)以及在这些外部服务中有多少 IP 是可列入白名单的。

鉴于我们希望保持可自动扩展,我想询问有关如何通过单个 EIP 路由所有实例生成的流量而不丢失当前内部工作的想法。除非要使用 DNS,否则通往这些服务的固定特殊路由并不是很灵活,主要是因为我们无法提前知道他们所有的 IP 池。

我已经阅读了有关 NAT 网关的信息,但我不确定架构的负载平衡部分是否会继续运行,Web 服务器是否能够响应请求等。

amazon-ec2
  • 2 2 个回答
  • 6285 Views

2 个回答

  • Voted
  1. Best Answer
    Michael - sqlbot
    2016-02-27T10:13:00+08:002016-02-27T10:13:00+08:00

    是的,您可以将 NAT 网关或NAT 实例与 ELB 结合使用……这是将内部发起的外部服务出站流量列入白名单的最明智方式。

    NAT 网关始终具有静态公共 IP 地址。

    在创建 NAT 网关时,您必须 [...] 指定一个与 NAT 网关相关联的弹性 IP 地址。

    http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html

    此配置要求实例没有自己的公共 IP 地址,并且不在默认路由指向 Internet 网关的公共子网上。配置后,实例子网的默认路由需要指向 NAT 设备。

    反过来,这意味着您的 ELB 不能与实例位于同一子网中,因为 ELB 子网必须将 Internet 网关作为其默认路由。

    来自实例的响应流量指向 ELB 的内部 IP 地址,因此不受实例子网默认路由的影响,因此此配置不会中断对 ELB 请求的响应流量。

    在某些人看来很奇怪,将 ELB 放置在与其后面的实例不同的子网上是标准配置。与路由器可能成为瓶颈的传统网络不同,没有与 ELB 相关的负面性能考虑,并且其平衡实例位于彼此不同的子网上。整个 VPC 网络是一个软件定义的虚拟网络,因此位于不同的子网并不意味着流量将通过一个不必要的路由器,就像在物理以太网网络上那样。实例之间的所有流量都遵循通过 VPC 基础设施的类似路径。

    另请参阅为什么我们需要在 VPC 中使用私有子网?关于堆栈溢出。

    • 8
  2. Kraig
    2018-01-12T13:45:09+08:002018-01-12T13:45:09+08:00

    好消息 - 亚马逊为此添加了一种新型负载均衡器(网络负载均衡器)。您可以为其分配一个弹性 IP 地址,瞧——负载均衡器的静态 IP!

    它适用于 TCP 协议而不是 HTTP,因此您不能在负载平衡器上执行 SSL(每个 Web 服务器都需要证书),并且它没有“粘性”选项(但它非常粘性)。除此之外,它就像“应用程序”负载平衡器一样工作。

    • -1

相关问题

  • 权限被拒绝(公钥)。从本地 Ubuntu 到 Amazon EC2 服务器的 SSH

  • 管理员如何管理他们的 EC2 EBS 和快照?

  • 云有多大?[关闭]

  • EC2 映像启动

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve