AWSでDBサーバーを作成する

[前回](https://qiita.com/r_saiki/items/cc1d7ed9864ce07501f2)はWebサーバーを作成したので、次はDBサーバーを作成する。

#プライベートサブネット作成
レプリケーションを実現するために、[VPCでネットワークを作成した時](https://qiita.com/r_saiki/items/573f5b8659152936b912)とは別にプライベートサブネットを作成する。
VPCのダッシュボードを開いて、左側のメニューのサブネットを選択してサブネット作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/5fdb5136-cc16-9d37-8013-463aeaf43c21.png)
以下のように入力して作成。VPCは自分で作成したVPCを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/08ddd4cd-9cc5-37f7-1cec-db719ea511ef.png)
作成が完了したので閉じる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/31ba62e4-aba0-5a56-590e-bafa50f1dc96.png)

#RDSの作成
ここからRDSを作成していく。RDSは、簡単に説明すると、AWSが最適な設定をしたDBサーバーである。さらにバージョンアップなどの運用もやってくれるので、EC2に一からインストールして環境構築するより遥かに楽！
RDSは、自由な設定変更はできないようになっている。設定変更したい時は、いくつかの設定グループを編集する必要がある。そのグループを最初に作成する。

##セキュリティグループ作成
ここでは、WebサーバーからのみDBサーバーにアクセスできるようにセキュリティグループを作成する。
EC2のダッシュボードを開いて、左側のメニューのセキュリティグループを選択して、セキュリティグループを作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/d384a506-87aa-82c9-b0a7-7d9691a6e951.png)
以下のように入力。VPCは自分が作成したVPC。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/acabbd54-e9fe-3e67-d0d8-342e4fe2ecd8.png)
下にスクロールして、インバウンドルールを追加する。カスタムには[自分で追加したセキュリティグループ](https://qiita.com/r_saiki/items/dfc6122aaeb830256cf8#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E8%A8%AD%E5%AE%9A)を入力する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/58c5f5f3-1060-4dcc-1227-1a7f92986069.png)
一番下までスクロールして、セキュリティグループを作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/d86319c1-1784-b584-4ad1-43856233566a.png)
作成が完了。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/b8c5d75e-4b30-5460-1e0e-a27d05dbf05f.png)
セキュリティグループメニューに戻り、設定できたことを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/0047ec22-c9e4-be61-1a90-e1b2e502ac4e.png)

##DBサブネットグループ作成
ここでレプリケーションするサブネットグループを作成する。
RDSのダッシュボードを開き、左側のメニューのサブネットグループを選択し、DBサブネットグループを作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/8e50fa0c-a46c-37f6-6532-89febf5251f0.png)
以下のように入力。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/345bec32-719e-18ba-978a-859e6d61d3e0.png)
プライベートサブネット作成時に追加したアベイラビリティゾーンとサブネットを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/1dc01a8f-2e7d-f25e-178f-77cc6f94d415.png)
作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/131de272-0599-ebbd-f3be-cf80404785a2.png)
作成が完了。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/92c89cb7-edb7-9aea-b08c-0f3dd8189d7e.png)

##パラメータグループ作成
パラメータグループはいくつか設定を入れることができる。
左側のメニューからパラメータを選択して、パラメータグループの作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/1b6f1bce-8e1d-0d0b-219c-e76d87350bae.png)
以下のように入力して、作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/8e65bd11-94a1-6038-aff2-34d60ac42237.png)
作成が完了したら、以下のようにグループに対して設定を入れることができるが、今回は割愛する。

##オプショングループ作成
オプショングループはDBの機能を追加できる。
左側のメニューからオプショングループを選択して、グループを作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/a6eda2e2-89e0-1378-d400-da9cb119ab19.png)
以下のよう入力して作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/35de09cb-3701-d620-eb2c-5c9e0cbaafeb.png)
作成が完了。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/0166e02c-4057-4f0f-be87-8bda8282d73e.png)

##データベース作成
ここからDBを作成する。
左側のメニューからデータベースを選択して、データベースの作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/cc39c4f5-0cd5-ec32-9356-b52f676dfbb8.png)
以下のように設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/bbb3675e-8d69-0cee-6f05-536fa2c385c9.png)
多少料金がかかるが、設定に制限が出ないようにするためにテンプレートは開発/テストを選択した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/2fb80d4b-c357-dc12-c2b0-e4b6b3ca9ffc.png)
以下は任意の設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/98ac3163-54c9-ce40-0d5d-7b3d701c4178.png)
料金を抑えるため以下の設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/d48276ce-b28d-d7e8-e94e-72afeccc89a8.png)
料金を抑えるためチェックを外す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/888c4659-e850-0c32-b22a-b8b5ccf66edf.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/e9e31317-a5db-5dd3-212e-b14a8c95ef50.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/aabf7bbc-7267-8624-f419-5bd7a4b86d1e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/0438e417-d1d1-2be4-6a0f-071edf1d0a30.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/40112b81-60de-8652-2395-35ec1e91c34f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/72164086-14b6-93aa-f5e8-094764782a4f.png)
バックアップ時間は時差が9時間ほどあるので、朝4時にバックアップしたい時は9時間前の19時に設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/4f711d09-0d1e-a5dc-9991-b126eca12683.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/f807aab2-d114-7461-ab9e-3f539a1ccd36.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/b9b5fa44-d02b-a0f5-948b-d6aa36ac296c.png)
料金を確認後、データベースの作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/edf254c5-bdbd-0fc8-df55-6551e927064c.png)
作成後、設定の確認をする。特にVPCセキュリティグループが間違っていると、[前回作成したWebサーバー](https://qiita.com/r_saiki/items/cc1d7ed9864ce07501f2)で接続できなくなるので注意。変更ボタンで変更可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/5a55521b-0915-38df-11cc-70a50b95ab37.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/e5e412d3-3cef-b415-6191-d9f8e67cb61a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/e7915e46-02ed-6d15-0c11-6f0be1355c8d.png)
これでRDSの作成完了！！

#Webサーバーから接続する
EC2を起動して、SSHで接続する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/441d559c-2d97-347a-dac4-b075572c6d0e.png)

~~~:UbuntuでSSH接続
$ sudo ssh -i /(ファイルパス)/aws-key-webserver.pem ec2-user@18.177.125.119
[sudo] r-saiki のパスワード: 
Last login: Sat May 16 08:21:27 2020 from fs96f9c6f1.tkyc217.ap.nuro.jp

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
3 package(s) needed for security, out of 8 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-10-10 ~]$ 
~~~

mysqlクライアントをインストールし、RDSに接続する。mysqlコマンドのオプションhには、RDSのデータベース設定画面のエンドポイントを値として渡す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/49118973-a1cb-1308-bf71-3a5a274d6d1f.png)

接続成功！！

~~~
[ec2-user@ip-10-0-10-10 ~]$ sudo yum -y install mysql
[ec2-user@ip-10-0-10-10 ~]$ mysql -h database-web.cnxaaqg6tow9.ap-northeast-1.rds.amazonaws.com -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.17 Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> 
~~~


#終わりに
WebサーバーとDBサーバーをAWSで一通り作り終える事ができた^^
次はWordPressの環境構築をする！