はじめに
知っていれば問題ないのですが、知らないとちょっと痛い目をみるRDSのmysql設定が幾つかあったので共有します。
デフォルトのDB parameter groupは変更できない
DB parameter内のパラメータは項目によって再起動が必要だったり、そうでなかったりします。が、デフォルトのDB parameter groupはそもそも変更ができません。DB parameter group自体の変更は再起動が必要です。
作成時点で変更がない場合でも、コピーした独自のDB Parameter groupを設定しておくとよいです。
EC2起動するときに空のロールでもIAMロールは付けておけ、という話に似てますね
デフォルトでクエリ結果をキャッシュしない
意外でした。思想としてElastiCacheでやるから設定しないということなのでしょうか。
アプリケーションタイプにもよりますが、小さなクエリを頻繁に実行することが多いCMSでは、キャッシュが有効ですので導入したほうがよいとおもいます。キャッシュサイズをどのくらいにすべきか等なやむところはありますが。
デフォルトでスロークエリを取得しない
これも意外でした。チューニング済のクエリを使うからということなんですかね。動かしながら修正することも多いのでスロークエリ(slow_query_log パラメータ)は有効にしたほうがよいと思います。
インスタンスタイプが選択できない
RDSのインスタンスタイプはEC2より少ないです。EC2にt2.largeがあるので、RDSでも選択しようとおもったらt2.mediumまでしかないとか(2015/8/1現在)、r3系はmysql 5.6でないと利用できないなど、いざ作成という時にこまることがあるのでチェックしたほうがよいです。