amazon-web-services - RDS 实例和对应的 EC2
问题描述
我在 AWS 账户中运行的 EC2 和 RDS 实例很少。
我想知道哪个 EC2 正在使用哪个 RDS 实例?有没有办法从控制台找到这个?
我无权访问在这些 EC2 中运行的应用程序/服务,所以我无法检查它。
解决方案
选项 1:
确保启用AWS VPC 流日志,如果没有启用它们。
转到AWS CloudWatch 日志洞察并选择 AWS VPC 流日志组,以运行查询
执行以下 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 数据库的记录
- 转到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:为您的用例提供更多信息
推荐阅读
- php - codeigniter 中段的奇怪功能
- javascript - 使用 Javascript 在同一循环中打开另一个元素时关闭一个元素
- regex - 使用正则表达式提取所有 DOI - 正则表达式以数字开头并以空格结尾
- c - 在 cortex m3(裸机)上使用 arm-none-eabi 禁用默认 malloc
- html - 角 | 在其他按钮上运行事件
- excel - 在 Excel VBA 中通过 Citrix 开放访问表单
- r - 如何处理 GLMM 中的空间自相关残差
- r - 需要 arules 时使用的基本包。指定包不起作用
- django - Django基于多对多字段的第一个对象进行排序
- ruby-on-rails - 将Json插入sqlite数据库