【Amazon Aurora】日本の環境で快適に使うための初期設定手順 ~ 文字コード、タイムゾーン、パブリックアクセス ~
わずか数分でデータベースを作成、起動できてしまうAmazon RDS。
とっても便利ですが、デフォルトのままだと文字化けしてしまったり、時刻がズレていたりと歯がゆい思いをすることになりかねません。
今回は、Amazon Auroraを日本の環境(日本時間、日本語)で快適に使うために、やっておきたい初期設定手順をまとめてみました。
環境
- Amazon Aurora(MySQL5.7)2.07.2(「開発/テスト」用)
- クライアントOS:Windows10
手順
1. Amazon Aurora DBクラスターの作成
Amazon Aurora DBクラスターの作成に記載の手順を参照しつつ、作成します。
公式サイト(リンク先)に詳しく書かれているので、ここでは割愛します。
2. DBクラスターのパラメータグループの作成
Amazon Aurora(MySQL5.7)の場合、デフォルトのパラメータグループ、DB クラスターのパラメータグループの設定は以下のようになっています。
タイプ | 名前 |
---|---|
パラメータグループ | default.aurora-mysql5.7 |
DB クラスターのパラメータグループ | default.aurora-mysql5.7 |
これらデフォルトのパラメータグループの設定は変更できないので、別途パラメータグループを作成し、DBインスタンスに割り当てます。
今回は、DB クラスターのパラメータグループのみでOK!
以下の通り設定を進めていきます。
名前 | 値 |
---|---|
character_set_client | utf8mb4 |
character_set_connection | utf8mb4 |
character_set_database | utf8mb4 |
character_set_results | utf8mb4 |
character_set_server | utf8mb4 |
time_zone(※) | Asia/Tokyo |
※time_zoneについては、検索ボックスにて別途「time_zone」と入力&検索する
3. DBインスタンスへのDBクラスターのパラメータグループ適用(+パブリックアクセスの有効化)
手順2で新しく作成したDBクラスターのパラメータグループをDBインスタンスに適用します。
また、外部から接続する場合、パブリックアクセスを有効にする必要があるので、こちらも合わせて設定しておきます。
変更ページが開くので、中ほどまでスクロールして、「ネットワーク&セキュリティ」の「パブリックアクセシビリティ」にて「はい」を選択する(パブリックアクセスの許可)。
さらに下方にスクロールし、「データベースの設定」の「DBクラスターのパラメータグループ」にて作成したパラメータグループを選択。
画面遷移したら、「変更スケジュール」を「すぐに適用」に変更し(←重要!そのままだと、次回メンテナンスまで変更がが適用されません!)、「DBインスタンスの変更」をクリック。
4. アクセス許可設定の変更
手順3にて、外部からのアクセスが許可されましたが、そのままでは特定のIP以外接続できません。
以下の手順により、適切な接続元からのアクセスを許可します(今回は全てのIPアドレスからの接続を許可します)。
5. 接続と設定の確認
手順4までで必要な設定は一通り完了ですが、クライアントPCから接続、設定(文字コード、タイムゾーン)がうまくできているか、確認しておきましょう。
- コマンドプロンプトを起動し、対象のDBインスタンスに接続します。
> mysql -h {エンドポイント} -P {ポート} -u {DBクラスター作成時に設定したユーザー名} -p
Enterを押すと、パスワードの入力を求められるので、DBクラスター作成時に設定したパスワードを入力します。
「エンドポイント」、「ポイント」には、RDSの左側ペイン「データベース」> 「対象のDBインスタンス」をクリックすると下部に現れる、「エンドポイント」(①)、「ポート」(②)を使用します。
2.接続ができたら文字コードの確認をしましょう。
MySQL> show variables like '%char%';
以下のような結果になっていればOKです。
もし変更が反映されないようなら、一度再起動してみてください。
(今回変更したパラメータは全てdynamicなので、再起動は不要なはずではあるのですが、、)
+--------------------------+------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/oscar-5.7.mysql_aurora.2.07.2.0.1106.0/share/charsets/ |
+--------------------------+------------------------------------------------------------------+
6. オマケ:データベースとテーブルの作成時
Amazon Aurora2系はMySQL5.7互換なので、CHARACTER SETをutf8mb4とした場合は、COLLATIONはutf8mb4_general_ciとなります(MySQL8.0では、utf8mb4_0900_ai_ci)。
utf8mb4_general_ciは、濁点半濁点(「゛」、「゜」)は区別しますが、大文字小文字、所謂絵文字を区別しないので、左記全部を区別するutf8mb4_binにしてデータベースを作成しておきましょう。
以下、例です。
create database `test-db1` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;
これで、対象のデータベースに作成されるテーブルも同じ設定となりますが、後々を考えるなら、以下のように設定を明記しておくとよいでしょう。
create table `test_table`(
`id` int,
`name` varchar(50)
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
終わりに
データベースやテーブルを作ってしまってからの設定変更はいろいろと厄介。。
作成直後にサクッと必要な設定を済ませて、不要な作業や心配をなくしないところ。
(MySQL等を各々でインストールした場合もそうですが)
あと、使っていない時はDBインスタンスの停止 or 削除を忘れずに。
参考
Author And Source
この問題について(【Amazon Aurora】日本の環境で快適に使うための初期設定手順 ~ 文字コード、タイムゾーン、パブリックアクセス ~), 我々は、より多くの情報をここで見つけました https://qiita.com/C_HERO/items/4929502c2641b2406475著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .