Amazon Web Services のリレーショナルデータベースサービスである、Amazon Relational Database Service(Amazon RDS)を使う際の流れを記載しています。
RDSでは、MySQL、Oracle、MS SQLを扱っていますが、今回はMySQLのDBインスタンスを使っています。
大まかな流れとして、今回は以下のステップでの作業となります。
- MySQLに設定したい個別パラメータを「DB Parameter Group」として先に作成
- MySQL DBインスタンスに接続する端末の為に「Security Group」を作成
- MySQL DBインスタンスを作成
- MySQL DBに接続できる事を確認
1.DB Parameter Group を作成
作成するDBインスタンスに対して「character_set_server=utf8」を適用する為に、以下のオペレーションを行います。
まず、AWSにログインして、RDS画面から「Parameter Groups」メニューをクリックします。
「Create DB Parameter Group」で以下を設定します。
- DB Parameter Group Family : mysql5.6
- DB Parameter Group Name : mydbparameter
- DB Parameter Group Description : test
「Yes,Create」ボタンをクリックすると「mydbparameter」パラメータグループが作成されます。
作成した「mydbparameter」を選択して、「Parameters」の箇所でFilterに「character_set_server」と入力すると、デフォルトでは何も設定されていません(Value のところにエントリがない)。
「Edit Parameters」ボタンをクリックして、「utf8」を設定します。
2.Security Group を作成
次に、Security Group を作成します。
メニューの「Security Groups」から「Create DB Security Group」ボタンをクリックし、Name、Description を設定し次の画面へ行きます。
「Connection Type」で、以下の2つから選択できます。
- CIDR/IP
- EC2 Security Group
作成するDBインスタンスへ接続するアクセス元の設定を行います。
3.DBインスタンスを作成する
いよいよ、DBインスタンスを作成します。
「Instances」メニューから「Launch DB Instance」ボタンをクリックします。
「Step 1 : Engine Selection」で、mysql(MySQL Community Edition)を選択します。
「Step 2 : Do you plan to use this database for production purposes?」では、今回は「No」にします。
「Step 3 : DB Instance Details」で、MySQLのバージョンなどを選択します。
今回の最新バージョンは「5.6.13」でした。
「Step 4 : Additional Config」で、作成済のパラメータグループとDBセキュリティグループを選択します。
「Step 5 : Management Options」では、バックアップの設定を行います。自動バックアップは現在はInnoDBだけのサポートらしいです。
必要に応じて、DailyバックアップやWeeklyバックアップの時間指定も可能です。
「Step 6 : Review」では、ここまでの設定を確認できます。
問題なければ「Launch DB Instance」ボタンをクリックすると、DBインスタンスの作成が始まり、しばらくすると、DBインスタンスが使えるようになります。
該当インスタンスの詳細画面も確認できます。
すばらしい!
また、インスタンスに対して、再起動やReadレプリカの作成などもメニューから行えます。
なお、該当DBインスタンスを選択して、「Show Monitoring」をクリックすると、CloudWatch の以下のようなグラフが参照できます。
- CPU Utilization(Percent)
- DB Connections(Count)
- Freeable Space(MB)
- Freeable Memory(MB)
- Write IOPS / Read IOPS(Count/Second)
CloudWatch画面からも参照できます。
4.MySQL DBインスタンスに接続してみる
Security Group で許可している Linux のmysql クライアントから RDS のDBインスタンスに接続してみます。
$ mysql -u (user) -h (RDS) -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 5.6.13-log MySQL Community Server (GPL) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
5.6.13 に接続できています。
作成したDB「mydb」に接続できる事、まだ空っぽである事、パラメータ「character_set_server」が「utf8」で適用されている事を確認します。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | innodb | | mydb | | mysql | | performance_schema | +--------------------+ 5 rows in set (0.03 sec) mysql> use mydb Database changed mysql> show tables; Empty set (0.01 sec) mysql> show variables like 'character_set_server'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | character_set_server | utf8 | +----------------------+-------+ 1 row in set (0.01 sec) mysql>
想定通りとなっています。
備考
「Snapshots」メニューから、手動スナップショットと、自動スナップショットの確認が出来ます。Filterメニューで「Manual Snapshots」と「Automated Snapshots」を選択して確認します。
また、「Events」メニューからは、DBのバックアップイベントやインスタンス操作のイベントが確認できます。