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 / 问题 / 802213
Accepted
JustinHK
JustinHK
Asked: 2016-09-10 13:23:11 +0800 CST2016-09-10 13:23:11 +0800 CST 2016-09-10 13:23:11 +0800 CST

具有 NAT 网关的私有 AWS 子网中的实例无法访问 AWS 服务

  • 772

我们在具有托管 NAT 网关的私有子网中有一个实例。在这种情况下,我们可以访问互联网:

$ curl https://www.google.com/
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en"><head>...

但是,我们无法访问 cloudwatch 端点,例如以下超时:(编辑:我的错误,不是 cloudwatch 端点,而是存储 cloudwatch 监控脚本的站点。)

$ curl https://cloudwatch.s3.amazonaws.com

DNS不是问题:

$ dig cloudwatch.s3.amazonaws.com
cloudwatch.s3.amazonaws.com. 2303 IN    CNAME   s3-1-w.amazonaws.com.
s3-1-w.amazonaws.com.   1   IN  A   54.231.72.59

关于可能发生的事情有什么想法吗?

routing amazon-ec2 nat amazon-vpc amazon-nat-gateway
  • 3 3 个回答
  • 1787 Views

3 个回答

  • Voted
  1. Ilya Chernomorin
    2018-06-16T08:27:14+08:002018-06-16T08:27:14+08:00

    我实际上遇到了同样的问题,并设法以与 JustinHK 下面相同的方式解决它。我已经联系 AWS 了解它发生的原因,因为我无法放手,所以这应该有助于解释这种行为。这是细分:

    • 问题不在于流量无法到达目的地,而在于流量无法正确返回到起点。
    • 由于公共子网(NAT 网关所在的位置)有 2 个选项可以到达目的地 - 通过 VPCE(VPC 端点)或通过 IGW(互联网网关),它不知道在请求时选择哪个回程。由于它不知道该选择哪一个 - 它只是超时。
    • 路由选择阻力最小的路径,因此在私有子网中添加 VPCE 使 VPCE 路由成为理想路由。尽管这里值得一提的是,请求根本没有通过公共子网,因为它现在在私有子网中有一个 VPCE。

    根据您正在运行的设置以及您是否真的需要 IGW 来处理除 S3 之外的其他任何事情,您可能会从公共子网中删除 IGW,或者删除私有子网和公共子网之间的 NAT 网关链接。这两个选项都应该在不破坏解决方案的情况下稍微清理一下路由表。

    • 2
  2. Best Answer
    JustinHK
    2016-09-12T08:26:25+08:002016-09-12T08:26:25+08:00

    在私有子网中添加 S3 端点解决了该问题。

    事实证明,我们的问题特定于访问 S3。我们当时的设置是:

    • 在公共子网中运行的 NAT 网关
    • 公共子网中的 S3 端点(路由优先级高于互联网网关)
    • 私有子网中的流量通过 NAT 的默认规则。

    似乎流量没有通过公共互联网或 S3 端点通过 NAT 路由到 S3。我仍然不知道为什么。

    • 1
  3. Michael - sqlbot
    2016-09-11T14:51:33+08:002016-09-11T14:51:33+08:00

    首先,很明显:cloudwatch.s3.amazonaws.com不是 Cloudwatch 端点之一。

    Cloudwatch 端点采用monitoring.[aws-region].amazonaws.com.

    例如,在us-west-2区域中,端点是https://monitoring.us-west-2.amazonaws.com。

    http://docs.aws.amazon.com/general/latest/gr/rande.html#cw_region

    此外,即使您的路由、NAT 或网络配置错误,DNS 解析也不会受到许多错误配置的影响,因为它在 VPC 中实施的方式......所以它工作的事实并不能告诉您是否有 Internet 连接, 一般来说。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 将路由永久添加到 Solaris 10

  • Quagga 套件中的 ./configure --disable-zebra 代表什么?

  • 使用特定接口进行出站连接(Ubuntu 9.04)

  • Linux TC/策略路由工具

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