首页 > 解决方案 > RDS 实例和对应的 EC2

问题描述

我在 AWS 账户中运行的 EC2 和 RDS 实例很少。

我想知道哪个 EC2 正在使用哪个 RDS 实例?有没有办法从控制台找到这个?

我无权访问在这些 EC2 中运行的应用程序/服务,所以我无法检查它。

标签: amazon-web-servicesamazon-ec2amazon-rds

解决方案


选项 1

  1. 确保启用AWS VPC 流日志,如果没有启用它们。

  2. 转到AWS CloudWatch 日志洞察并选择 AWS VPC 流日志组,以运行查询

  3. 执行以下 AWS CloudWatch 日志洞察查询;

fields srcAddr | filter interfaceId='<elastic network interface id here>' and dstPort=<database connection port here> and action='ACCEPT' | stats count(*) as connection_count by srcAddr | sort connection_count desc

在哪里,

interfaceId - 是 RDS 实例的网络接口 ID,通常以 eni- 为前缀

dstPort - 是数据库端口号,应用程序用于数据库连接

srcAddr - 是网络接口的 ipv4 地址,已成功连接到 dstPort 上的数据库

您还可以修改此查询以获取多个 RDS 数据库的记录

  1. 转到AWS Config 的高级查询功能并从步骤 3 执行以下 IPv4 地址查询)

SELECT configuration.attachment.instanceId WHERE resourceType = 'AWS::EC2::NetworkInterface' AND configuration.privateIpAddress='<ipv4 address here>'

在哪里,

configuration.attachment.instanceId - 是 ec2 实例 ID

configuration.privateIpAddress - 连接到 ec2 实例的网络接口的主要私有 IPv4 地址

您还可以修改此查询以获取多个 ec2 和网络接口的记录

或者

选项 2

您可以启用AWS RDS Performance Insights并在仪表板上查看连接的客户端

或者

选项 3

您可能有正在使用的特定数据库供应商提供的方法,但为此您需要连接到单个数据库并获取详细信息。所以,这是一个耗时的选择。

或者

选项 4:为您的用例提供更多信息

使用AWS VPC 流量镜像


推荐阅读