我们正在尝试查找并关闭/删除自过去 14 天以上以来未从任何应用程序访问或连接且处于空闲状态的所有 RDS。我们正在使用 boto3 获取所有 RDS 和其他详细信息的列表,但无法找到 Trusted Advisor 报告的“自上次连接以来的天数”。
以下是我们的Python代码
#!/usr/bin/env python3
import boto3
try:
# get all of the db instances
rds = boto3.client('rds')
instance = rds.describe_db_instances()
for i in instance['DBInstances']:
print(i['DBInstanceIdentifier'], i['DBInstanceClass'], i['Engine'], i['AllocatedStorage'], i['AvailabilityZone'], i['MultiAZ'], i['EngineVersion'], i['PubliclyAccessible'], i['StorageType'], i['DbInstancePort'], i['StorageEncrypted'], i['IAMDatabaseAuthenticationEnabled'], i['PerformanceInsightsEnabled'], i['DeletionProtection'], i['NetworkType'])
except Exception as error:
print(error)
您可以查看 RDS Cloudwatch 日志以了解连接计数
连接尝试
尝试连接实例的次数,无论成功与否。
此指标仅适用于 RDS for MySQL。
数据库连接
数据库实例的客户端网络连接数。
数据库会话数可能高于指标值,因为指标值不包含以下内容:
不再有网络连接但数据库尚未清理的会话
数据库引擎为其自身目的创建的会话
由数据库引擎的并行执行能力创建的会话
数据库引擎作业调度程序创建的会话
Amazon RDS 连接
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html
如果您有数百个 RDS Postgres 数据库,您想检查它们空闲了多长时间,您会怎么做?
我知道 Trusted Advisor 会提供空闲实例的报告,但最长为 14 天。
谢谢!