はじめに
AWSではRDSの各ログをCloudWatchLogs側に出力することが可能です。
ということで先日それを試してみたところ無駄にハマってしまいました。
この記事ではどこにハマって、結局どうしたのかの備忘録を書いていこうと思います。
もし何か参考になるところがあれば幸いです。
CloudWatchLogsへのログ出力に必要なこと
- RDS側でCloudWatchLogsへの出力設定
- ログ出力の設定をしたオプショングループの作成,RDSへ割り当て
- ログ出力の設定をしたパラメータグループの作成,RDSへ割り当て
- (RDSの再起動)
それぞれの設定内容
今回の記事ではハマったことに関しての記載が目的ですので、
それぞれの設定内容については特に記載しません。
それぞれの設定内容については、
上記が参考になるかと思います。
私がハマったところ
私は上記のサイトを参考にCloudWatchLogsへの出力設定、オプショングループ・パラメータグループの作成と割り当てをしたのですが、ログが出ませんでした。
なんでかなあと思い、実際に私が設定した内容とドキュメントに記載の設定との差分を確認したり、MySQLだと設定内容が違うのかと調べたりしたのですが分からず困りました。
しかしよくよくRDS側の設定をみていたらこんな文字が。
はい。
お察しの通り、再起動がまだされておらず実際には設定が反映されていなかったということです。
今回私はすでに作成済みのRDSに後からオプショングループ、パラメータグループを割り当てました。
その際、すぐに適用するか、次回のメンテ期間中に適用するかと聞かれるのですが、
この時次回のメンテ期間中を選択してしまっていたんですね。
そのため、変更内容の適用が実際にはその時には反映されておらず、
ログも出力されなかったということです。
RDSを新規作成する際には考えなくていいですが、
すでにあるRDSの設定を後から変更する場合はその内容をすぐに適用するか否かというのはちゃんと考えて設定しましょう。
あとがき
「基本設定を変えたらリロードする」なんてことはサーバー上で設定しているとまず忘れないですが、AWSのコンソール上でポチポチやっていると意識から外れやすいですね。
クラウドも結局はどこかの物理サーバー上で起こっていることだということを改めて感じた出来事でした。