RDS拡張モニタリングの設定とIAMロール設定
RDS拡張モニタリングって何?という事については、EC2インスタンスで言うと、CloudWatchエージェントをEC2インスタンスにインストール後、メモリ利用率やディスク利用率などをカスタムメトリクスで見られる様に設定する事と似たような事ではないかと思ってます。RDSもEC2インスタンスから作られているので自然な事かと思います。
手順としては、IAMロールを作り、RDSで拡張モニタリングを有効化します。CloudWatchロググループを使いますが、ロググループ名は勝手に「RDSOSMetrics」と命名されます。
/aws/rds/os-metrics の様にAWS公式ドキュメントでよくあるCloudWatchロググループの命名規則が意識されていない、勝手な命名となっています。
ログストリームでDB識別子毎にRDSインスタンスが勝手に個々に別けられ、さらにマルチAZのRDSの場合、ログストリーム名の後尾に勝手に「-secondary」と記載されprimaryと区別できるようになっています。RDS拡張モニタリングは命名の自由が無い。
RDS拡張モニタリングは、初期のRDS作成時から有効化しておいてもいい機能だと思います。
IAMロール作成
- IAMへ
- ロールへ
- 「ロールの作成」へ
- 「信頼されたエンティティの種類」は「AWSサービス」を選択
- 「ユースケースの選択」は、「RDS」を選び、さらに「RDS – Enhanced Monitoring」を選びます
- 「次のステップ:アクセス権限」へ
- アタッチされたIAMポリシーに「AmazonRDSEnhancedMonitoringRole」が1つあることを確認
- 「次のステップ:タグ」へ
- タグを任意で設定
- 「次のステップ:確認」へ
- 「ロール名」を入力 EX)RDS-Enhanced-Monitoring-Role
- 「ロールの作成」をクリック
RDSで拡張モニタリングを有効化
- RDSへ
- データベースへ
- 拡張モニタリングを有効化したいDB識別子をクリック
- 「変更」をクリック
- 「モニタリング」で「拡張モニタリングを有効にする」をクリック
- 「モニタリングロール」で上記IAMロールでつくった「RDS-Enhanced-Monitoring-Role」を選ぶ
- 「次へ」をクリック
- 「変更のスケジュール」は個々の状況に応じてで選んでください
- 「DBインスタンスの変更」をクリック
RDS拡張モニタリングの確認
- RDSへ
- データベースへ
- 拡張モニタリングを確認したいDB識別子をクリック
- 「モニタリング」タブをクリック
- 「モニタリング ▼ 」をクリックして「拡張モニタリング」を選択
- マルチAZの場合、primary か secondary をチェック
上記手順の後、未使用のメモリ、アクティブなメモリ、CPUユーザー、CPU合計、使用中のファイルシステム、ロード平均1分 などを見ることが出来れば設定完了です。
CloudWatch「RDSOSMetrics」ロググループのイベント失効の「保持設定」は、RDS拡張モニタリングの有効化のあと、適宜変更する事になります。