Amazon Linux (RDB) 2

本ハンズオンは3部構成となっています。
[Amazon Linux (EC2) 1](https://qiita.com/leomaro7/items/efd059559ce4551b4324)
[Amazon Linux (RDB) 2](https://qiita.com/leomaro7/items/5978ed2e709aa19c8ee0)
[Amazon Linux (WordPress) 3](https://qiita.com/leomaro7/items/987d35d6e4cd9a0b10e9)


---
###1.パラメータグループの作成###

パラメータとは？
MySQL におけるさまざまな設定値のことです。
Apache でいうhttpd.conf という設定ファイルのようなものです。
MySQL にはmy.cnf という設定ファイルがあり、RDS ではmy.cnf を直接書き換える代わりにこのパラメータを編集します。

RDSを開き、「パラメータグループ」から「パラメータグループの作成」をクリックします。
![スクリーンショット 2018-10-29 19.21.44.png](https://qiita-image-store.s3.amazonaws.com/0/280929/c0f80fe3-4551-6565-4487-a853b25f2544.png)

以下のように設定し、「作成」します。
パラメータグループファミリー：「mysql5.7」
グループ名：「start-aws-parameter-group」
説明：「Supports Japanese」
![スクリーンショット 2018-10-29 19.23.50.png](https://qiita-image-store.s3.amazonaws.com/0/280929/92954240-fca4-dc78-76fc-3c57884c15e4.png)


###2.パラメータグループの作成###

**1.character_set**
「フィルタパラメータ」と表示されているところに「character_set」と入力して検索。
検索結果が表示されたら右上にある「パラメータの編集」ボタンをクリックします。
下記、5つのパラメータを「utf8mb4」にします。

character_set_client : クライアントから送られてくるSQL ステートメントの文字コード
character_set_connection : クエリ実行時にリテラル及び数字から文字列への変換に使用される文字コード
character_set_database : デフォルトデータベースで使用される文字コード
character_set_results : クライアントへ返す実行結果やエラーメッセージで使用される文字コード
character_set_server : サーバのデフォルト文字コード

utf8mb4とは？
日本語や絵文字が文字化けしなくなるようにします。

以下の値は設定不要です。
character_set_filesystem : ファイルシステムの文字コード。デフォルト設定のままでよいため設定不要。
![スクリーンショット 2018-10-29 19.36.39.png](https://qiita-image-store.s3.amazonaws.com/0/280929/6afdc4d2-db8f-3d54-68bb-0f4346332623.png)

**2.collation**
「フィルタパラメータ」と表示されているところに「collation」と入力して検索。
検索結果が表示されたら右上にある「パラメータの編集」ボタンをクリックします。
下記、2つのパラメータを「utf8mb4_general_ci」にします。

collation_server : character_set_server に対する照合順序
collation_connection : character_set_connection に対する照合順序
![スクリーンショット 2018-10-29 19.37.40.png](https://qiita-image-store.s3.amazonaws.com/0/280929/f6be5a15-9c3a-7284-ea16-efc4cc871de7.png)

**3.init_**
「フィルタパラメータ」と表示されているところに「init_」と入力して検索。
検索結果が表示されたら右上にある「パラメータの編集」ボタンをクリックします。
下記、1つのパラメータを「SET NAMES utf8mb4;」にします。

init_connect : サーバから接続元の各クライアントに対して実行される文字列
![スクリーンショット 2018-10-29 19.38.42.png](https://qiita-image-store.s3.amazonaws.com/0/280929/2a23fc26-cb35-71bf-f893-3efece997c2d.png)


###3.オプショングループの作成###

オプショングループとは
[オプショングループを使用する](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html)

「オプショングループ」から、「グループの作成」をクリックします。
![スクリーンショット 2018-10-29 19.41.53.png](https://qiita-image-store.s3.amazonaws.com/0/280929/e3d79416-ffc9-29d5-fcf3-789994fad4cf.png)

以下のに入力し、「作成」します。
名前：「start-aws-option-group」
説明：「for WordPress」
エンジン：「mysql」
メジャーエンジンのバージョン：「5.7」
![スクリーンショット 2018-10-29 19.43.20.png](https://qiita-image-store.s3.amazonaws.com/0/280929/98a9fbdb-6d91-eaf6-bd63-c33812ac12e6.png)

###4.RDSインスタンスの作成###

「インスタンス」から、「データベースの作成」をクリックします。
![スクリーンショット 2018-10-29 19.44.40.png](https://qiita-image-store.s3.amazonaws.com/0/280929/16a4330d-7bbe-3439-8f52-11ca49a890bf.png)

「RDS 無料利用枠の対象オプションのみを有効化」にチェックをいれ、MySQL を選択したら「次へ」。
![スクリーンショット 2018-10-29 19.46.19.png](https://qiita-image-store.s3.amazonaws.com/0/280929/70a39a4d-62de-eaac-8b8d-c105fba8436a.png)

以下のように設定し、「次へ」。
DB インスタンス識別子：start-aws-db-instance
マスターユーザの名前：rdsuser
マスターパスワード：password
パスワードの確認：マスターパスワードと同じ
![スクリーンショット 2018-10-29 19.48.23.png](https://qiita-image-store.s3.amazonaws.com/0/280929/0890d717-753f-ef45-bd4c-fc074e84ceef.png)

以下のように入力し、「データベースの作成」をクリック。
データベースの名前：start_aws_wordpress_dbname
DB パラメータグループ：start-aws-parameter-group を選択
オプショングループ：start-aws-option-group を選択
![スクリーンショット 2018-10-29 19.52.07.png](https://qiita-image-store.s3.amazonaws.com/0/280929/24815c5e-25dd-1538-81a8-c5551955f072.png)

###5.セキュリティグループの作成###
セキュリティグループで3306 番ポートをあけておきます。
EC2 のインスタンスからRDS の「MySQL（ポート番号3306 番）」へ通信できるように許可する設定です。

出来上がったインスタンスを開き、[設定]の[セキュリティグループ]から「rds-launch-wizard」をクリックします。
![スクリーンショット 2018-10-29 19.55.58.png](https://qiita-image-store.s3.amazonaws.com/0/280929/d56013a6-c880-351d-b820-6cb2fc04b44a.png)

「インバウンド」の「編集」をクリックし、EC2 のセキュリティグループIDを選択し、「保存」します。
![スクリーンショット 2018-10-29 19.59.14.png](https://qiita-image-store.s3.amazonaws.com/0/280929/c607f1b6-e482-72d2-da82-08cc77b54512.png)

###6.エンドポイントの確認###

[接続]の[エンドポイント]をどこかに保存しておきましょう。
![スクリーンショット 2018-10-29 20.03.22.png](https://qiita-image-store.s3.amazonaws.com/0/280929/c64fc6b2-aefd-74a6-336e-ce577d887958.png)

###7.ウェブサーバからデータベースへの疎通確認###
EC2からRDSへの疎通を確認していきます。

EC2にsshで接続後、以下のコマンドを実行、マスターパスワードを入力します。
`mysql -h エンドポイント-u マスターユーザの名前-p`

成功です！
![スクリーンショット 2018-10-29 20.07.27.png](https://qiita-image-store.s3.amazonaws.com/0/280929/fdf8bd89-746a-87fc-bc29-a9a92aba444b.png)

データベースが作成されていることも確認してみましょう。
`show databases;`
![スクリーンショット 2018-10-29 20.08.23.png](https://qiita-image-store.s3.amazonaws.com/0/280929/bd1248ec-80b4-bcf6-b928-9dd298a71ea8.png)