今日も今日とてAWSです。
RDSの状態を監視したく、それ用の設定を行っていたところ「これどう考えても罠だろ」って感じの物にブチ当たりました。
弊社サービスのEAPではRDS、というかMySQLベースの方のAuroraを採用し、Multi AZにて使用しています。
そんなAuroraのWRITER側CPU使用率を見たい場合のDimentions/MetricNameの指定は(抜粋で)こんな感じ。
Dimensions:
-
Name: DBClusterIdentifier
Value: !Ref DBCluster
-
Name: Role
Value: WRITER
MetricName: CPUUtilization
同様にWRITER側コネクション数の場合はこんな感じ。
Dimensions:
-
Name: DBClusterIdentifier
Value: !Ref DBCluster
-
Name: Role
Value: WRITER
MetricName: DatabaseConnections
ところがDBエンジンがauroraのストレージ使用量を見たい場合にはなぜかこうです。
Dimensions:
-
Name: DbClusterIdentifier
Value: !Ref DBCluster
-
Name: EngineName
Value: aurora
MetricName: VolumeBytesUsed
どこに罠があるの?って人が大半でしょう。
3つの一部分だけをさらに抜粋した上で並べてみます。
Name: DBClusterIdentifier
Name: DBClusterIdentifier
Name: DbClusterIdentifier
どうでしょう?
お分かりいただけたでしょうか。
1つ目と2つ目はともにRole指定なので一緒なのですが、3つ目のEngineNameを指定したい時だけ「Db」なんです。
ここを「DBClusterIdentifier」にしてしまうとエラーにはならないもののそんなDimensionsはないのでいつまでたってもデータが取得できないという罠に陥ります。
これはおそらくはAWSのミスなんじゃないかなぁという気もしますがはてさて。