Amazon RDSを使用してデータベースサーバーを構築しよう

実務で、Amazon RDSを使用してデーターベースサーバーを構築することがあったのでその備忘録です。

# はじめに
▼環境
* AWSアカウント
* Windows PC
* Windows Powerhell

# ステップ1: EC2インスタンスを作成する
データベースサーバー用のEC2インスタンスを作成します。
作成の方法は[こちら](https://qiita.com/moeka-k0729/items/09eec46c6e855bfc3fe2#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86)をご覧ください。

# ステップ2: RDSでデータベースを作成する
AWSコンソールにログインをし、サービス検索からRDSを検索し、クリックします。

![スクリーンショット 2024-11-25 210618.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/90c7830f-e876-cb88-24c0-ecd93befa7e6.png)

RDSを開くと`データベースの作成`ボタンがあるのでそちらをクリックします。

![スクリーンショット 2024-11-25 210721.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/abbb118b-9465-0dd6-4453-2b4c9a2c19fc.png)

データベースの作成画面が出てくるので、データベースの作成を行っていきます

#### (1) データベース作成方法を選択
**標準作成**を選択

![スクリーンショット 2024-11-25 211324.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/24308493-427e-593d-1800-3f091ffa3adf.png)

#### (2) 「エンジンのオプション」を設定する
「エンジンのオプション」で「MySQL」を選択します。
さらに、「バージョン」で「MySQL 8.0.39」を選択します。
選択肢に「8.0.39」が存在しない場合には、バージョンが「8.0」から始まるものを選択してください。

#### (3）「テンプレート」を選択する
「テンプレート」で「無料利用枠」を選択します

![スクリーンショット 2024-11-25 211628.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/80baf218-2f99-575c-146d-87263046bd6c.png)
![スクリーンショット 2024-11-25 211652.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/42c06a9c-f48a-93e3-e00d-d424a694984e.png)
![スクリーンショット 2024-11-25 211720.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/7cc28e45-71b2-1c65-4a1c-5793a3941925.png)


#### (4）データベースの詳細を設定する
詳細設定を行っていきます。

* `DB インスタンス識別子: database-practice`
*  `マスターユーザー名: root`
* `認証情報管理: セルフマネージド`
* `マスターパスワード: 作成したパスワード`
* `マスターパスワードを確認: 作成したパスワード`

:::note 

**パスワードは必ずメモするか、パスワード管理ツール等に保存しておいてください。**
:::

![スクリーンショット 2024-11-25 212421.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/95501d20-3e06-b186-c707-9070ed7629da.png)

#### (5）「インスタンスの設定」を行う
「バースト可能クラス」から「db.t3.micro」（無料利用枠）を選択してください。

![スクリーンショット 2024-11-25 212526.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/7833f643-7048-6e2b-42b8-bd5a6dcf3203.png)

#### （6）「ストレージ」を設定する
ストレージの自動スケーリングを有効にする」のチェックを外し、ストレージの割り当ては20を入力してください。

![スクリーンショット 2024-11-25 212724.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/bc7eac94-a7e6-7d77-0e68-9f10cc422710.png)

#### (7)「接続」を設定する

* `コンピューティングリソース: 
EC2 コンピューティングリソースに接続しない`
* `パブリックアクセス: あり`

![スクリーンショット 2024-11-25 213138.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/4e625ec6-73ca-8b54-ba49-89cece274505.png)


![スクリーンショット 2024-11-25 213148.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/2fad3e36-f951-bfa3-9792-094d0a6976d7.png)

### (8) 「追加設定」を行う
「モニタリング」の項目の下にある「追加設定」をクリックして画面を拡張します。

* `最初のデータベース名: practicedb`
* `DB パラメータグループ: default.mysql8.0 `
* `オプショングループ: default.mysql-8-0 `

![スクリーンショット 2024-11-25 213513.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/e689e502-3db6-5b85-47ea-70a92ade6c94.png)

最後に、ページの最下段にスクロールし、**データベースの作成**をクリックします。


# ステップ3: DBインスタンスの詳細を確認する
作成されたデータベースは、RDSダッシュボードの「データベース」で確認できます。
データベース名をクリックすると、このデータベースの詳細が表示されます。
「概要」の「ステータス」が**利用可能**になっていれば、アクセスできる状態です。

![スクリーンショット 2024-11-25 214433.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/b89b8e5f-3649-6bd9-1bc8-82430f8cb900.png)

# ステップ4: 「セキュリティグループのルール」を変更
VPCセキュリティグループ」に表示されている**VPCセキュリティグループ**をクリックします。 

![スクリーンショット 2024-11-25 214636.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/f7368a86-384d-9c81-29dd-8a12a20b5719.png)


「インバウンドルール」タブをクリックし、**インバウンドのルールを編集**をクリックします。
タイプをMySQLを選択し、ソースはカスタム、**0.0.0.0/0**を選択してください。
入力できたら、「ルールを保存」をクリックします。

![スクリーンショット 2024-11-25 215108.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935088/c67db7bb-719f-e1cb-ce00-41311188842d.png)


# ステップ4: EC2からRDSへ接続する
DBインスタンスの起動を確認できたら、次に、EC2から接続します。
作成したインスタンスにログインをします。ログインの仕方がわからない人は[こちら](https://qiita.com/moeka-k0729/items/d2c323c90fcbd5e70515#%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E6%89%8B%E9%A0%86)を参考にしてください。

# ステップ5: MariaDBクライアントをインストール
データベースに接続するには、専用のソフトが必要です。
MySQLの接続に必要なクライアントソフトをインストールします。

```bash
sudo yum install -y mariadb105
```

# ステップ6: MySQLに接続する
「mysql」コマンドで接続します。コマンドは、以下のような構造になっています。
### **mysql -u （マスタユーザ名） -p -h （エンドポイント）**
「-u」はユーザ名、「-p」はパスワードの入力、「-h」は接続先の情報を表すオプションです。「エンドポイント」は、RDSメニューで確認し、入力してください。
※ パスワード入力時に、文字や伏せ字は画面表示されません。

```bash
[ec2-user@ip-xx-xx-xx-xx ~]$ mysql -u root -p -h rds-mysql-server.xxx.ap-northeast-1.rds.amazonaws.com
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.7.22-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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>
```

これで、MySQLに接続することが確認できました。

# おわりに
最後までご覧いただきありがとうございました！