AWS

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

RDS のインスタンスを作成する際、いきなりデータベースを構築すると後々パラメータグループを変更する手間が発生します。

それは、デフォルトのパラメータグループの文字コードが「utf8」や「utf8mb4」になってないからで、それらを使いたい場合は先にパラメータグループを作成しておくことをオススメします。

ここでは先にパラメータグループを作成してからデータベースを構築する手順を紹介します。

パラメータグループの作成

RDS のサービスメニューからパラメータグループをクリックします。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

パラメータグループの画面が表示されたら右上の「パラメータグループの作成」ボタンをクリックします。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

パラメータグループファミリーは「mysql5.7」を選択し、グループ名と説明は好きな内容で入力します。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

パラメータグループの設定

次にパラメータグループの設定をします。

先ほど作成したパラメータグループ名をクリックします。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

主に文字コードやスロークエリログなど、運用に応じて設定を調整します。

今回は文字コードを「utf8mb4」、タイムゾーンを「Asia/Tokyo」、スロークエリをログ出力する設定とします。

実際に設定を変更したパラメータの一部(文字コードの部分)紹介します。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

「time_zone」と「slow_query_log」の設定はここには表示されていませんが、後ほどデフォルトパラメータとの差分を紹介します。

データベースの作成

パラメータグループの設定が完了したらデータベースを作成します。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

今回は Aurora ではなく通常の MySQL を使います。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

AWS を初めて使う方は無料枠を活用して、無料枠の対象にチェックを入れておくと設定もスムーズです。

MySQL のバージョンは選択できる最新の 5.7.21 にしておきます。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

無料枠にチェックを入れた場合はインスタンスタイプも t2.micro が選択され、ストレージも 20GB が適用されます。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

次に、以下を設定してデータベースの作成は完了となります。

マスターユーザは root ユーザのようなものと思っておけば問題ありません。

・インスタンス名
・マスターユーザ
・マスターパスワード

次のページで VPC やデータベースの名前を設定します。

データベース名を設定する際に、割り当てるパラメータグループを指定する項目があるので、ここで最初に作成したパラメータグループを選択します。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

運用を考えて、エラーログとスローログは CloudWatch で管理できるようにしておくといいですね。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

これでデータベースの作成は完了です。

パラメータグループの差分

この時点で、パラメータグループのページを表示すると以下の 2 つのパラメータグループがあります。

・default.mysql5.7
・自分で作成したパラメータグループ

これらの設定を比較してみましょう。

まず、両方のパラメータグループにチェックを入れます。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

上の「パラメータグループアクション」から「比較」を選択します。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

実際に自分で作成したパラメータグループに設定した内容が確認できます。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする

インスタンスの確認

インスタンスの作成には少々時間が掛かるので、パラメータグループの比較をして時間を潰しても、まだ「作成中」の可能性があります。

RDS の運用方法にもよりますが、多くは EC2(webサーバ)からのアクセスに限定することが多いと思います。

よって、EC2 の構築がまだの場合は EC2 の作成をしちゃいましょう。

RDS のインスタンス作成が完了すれば、アクセス用のエンドポイントも確認ができるようになります。

AWSでパラメータグループを設定してからRDS(MySQL5.7)のインスタンス作成をする