🐈
AWS SDK for Ruby で Aurora My SQL DB クラスターのストレージ使用量を取得するには
この記事では、AWS SDK for Ruby を使って Aurora MySQL DB クラスターの 現在のストレージ使用量を取得する方法 を説明します。
Aurora MySQL DB クラスターのストレージ
Aurora MySQL DB クラスターのストレージ容量は自動拡張されます。従って、クラスターの設定から取得することはできません。(RDS MySQLであれば取得できます)
CloudWatchの VolumeBytesUsedメトリクスの値 を取得する必要があります。
サンプルコード
このコードは、AWS CloudWatch クライアントを使用して、Aurora MySQL DB クラスターのストレージ使用量のメトリックを取得し、直近1時間の平均値を返すものです。
cloudwatch = Aws::CloudWatch::Client.new(region: aws_region, credentials: credentials)
statistic_params = {
namespace: 'AWS/RDS',
metric_name: 'VolumeBytesUsed',
dimensions: [
{
name: "DBClusterIdentifier",
value: db_cluster_identifier, # 必要
},
],
start_time: now - 1.hour,
end_time: now,
period: 1.hour.to_i,
unit: "Bytes",
statistics: ["Average"],
}
resp = cloudwatch.get_metric_statistics(statistic_params)
datapoint = resp && resp.datapoints[0]
datapoint&.average
DBClusterIdentifierを得るには
DBClusterIdentifierの値は、RDSのデータベース一覧のDB識別子列または設定タブパネルのDBクラスターIDから確認できますが、SDKを使用して取得するには次のようにします。
rds = Aws::RDS::Client.new(region: aws_region, credentials: credentials)
resp = rds.describe_db_clusters
db_cluster_identifier = resp.db_clusters.map(&:db_cluster_identifier).first
Discussion