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 / 问题 / 1061675
Accepted
Miantian
Miantian
Asked: 2021-04-27 16:58:34 +0800 CST2021-04-27 16:58:34 +0800 CST 2021-04-27 16:58:34 +0800 CST

如何使用 AWS 中的 vpc 流日志诊断跨账户 EC2/RDS 连接?

  • 772

在 AWS 中,创建了 2 个帐户。

  • 帐户 1:A | 部署的 EC2
  • 帐户 2:B | 已部署的 RDS

想从账户 1 的 EC2 连接到账户 2 的 RDS,但不起作用。因此启用了 VPC 流日志来诊断问题出在哪里。这 2 个账户之间的连接正在使用中转网关。双方都通过路由表连接到自己的 VPC。

通过 db connect 客户端从 A 到 B 进行连接测试后,试图从 A 中查找网络接口 ID,例如eni-XXXXXXXX属于 EC2 实例,在 B 的 CloudWatch Logs 组中,找不到它的名称。

我按照本指南操作,使用 AWS VPC 流日志诊断间歇性 RDS 连接。但是这些步骤不能解决我的问题,我无法用它来诊断:

确定您的 RDS 实例的弹性网络 ID (ENI)

  1. 使用 AWS RDS 控制台获取实例的终端节点(格式为 [xxx].[region].rds.amazonaws.com)。
  2. 使用 dig 或类似的东西来查找端点的 IP 地址。CNAME 是不够的,您需要实际的 IP。
  3. 使用 AWS 网络接口控制台搜索您获得的 IP 地址,并从结果记录中获取网络接口 ID(这将是 eni-XXXXXXXX)。

查询您的流日志

  1. 使用 VPC 控制台找到您的 VPC。转到 Flow Log 选项卡,然后单击进入 CloudWatch Logs 组。
  2. 在 CloudWatch Logs 组中,使用搜索框查找您的网络接口 ID。
  3. 单击您找到的记录,您将看到您的实例的所有流量!

如何正确确认彼此的网络流量?

我在流日志中发现了一个未知端口。

2 023910321035 eni-12309fdsaj0jf012 ACCOUNT_1_EC2_IP ACCOUNT_2_RDS_IP 45052 31337 6 3 180 1619490209 1619490213 REJECT OK
2 023910321035 eni-12309fdsaj0jf012 ACCOUNT_1_EC2_IP ACCOUNT_2_RDS_IP 45052 31337 6 3 180 1619490209 1619490213 REJECT OK

端口31337没有打开。为什么它会连接这个端口?

amazon-ec2 amazon-web-services amazon-cloudwatch amazon-vpc amazon-rds
  • 1 1 个回答
  • 442 Views

1 个回答

  • Voted
  1. Best Answer
    MLu
    2021-04-27T18:11:23+08:002021-04-27T18:11:23+08:00
    1. 您真的需要中转网关吗?正如您的其他问题的答案中所建议的那样, VPC 对等互连可能就足够了。如果不告诉我们为什么。

    2. 在另一个问题中,您确认您的设置最终有效,您可以从 EC2 连接到 RDS。如果你现在不能改变什么?

    3. 正如其他答案以及@Tim在评论中所建议的那样:

      • 在与您的 RDS相同的子网和安全组中启动 EC2 实例。
      • 用于netcat监听 DB 端口(例如 mysql 的 3306)并tcpdump观察来自“其他”EC2 的流量。

      使用该数字确定您的连接是否有效 - 您是否看到传入的数据包tcpdump?你看到回复了吗?

    • 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