【AWS】RDS(Aurora)作成(2018年UI版)

# 【AWS】RDS(Aurora)作成(2018年UI版)




前回の投稿から期間が空いてしまい申し訳ございません。


前回は「[【AWS】VPC作成(2018年UI版)](https://qiita.com/joe_hirata/items/0f2cc6eeeb2052cfc284)」という記事を書きました。

今回はその続きというわけではないですが、~~defaultのVPC以外の~~ default以外のVPCを利用してRDS(Aurora)を立ち上げます。

>次回は、作成したVPCを対象に、Elastic Beanstalkで実際にサーバーを構築して行きたいと思います。

前回こんなことを言ってましたが、忘れてください。順番変えます。RDSを優先的にやりたいんです。




### 作成するRDS
|インスタンスのクラス|エンジン|
|:-----------------|------------------:|
|db.t2.small|Aurora MySQL 5.7.12|




## まずはじめに
予めセキュリティグループを作成しておきましょう。
RDSを立ち上げる際にセキュリティグループを作成するの面倒ですし。

今回は割愛しますが、社内のIP、特定のEC2インスタンスからのトラフィックを許可する設定にしています。

## サブネットグループ
RDS立ち上げ中でも作成できますが、面倒なのでこちらも先に**サブネットグループ**を作成します。
<img width="1130" alt="001.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/0fd38682-dc0e-e29a-566c-64b72f387c3c.png">
**トップページ > RDS > サブネットグループ**の順に進み、**DBサブネットグループの作成**をクリックします。

<img width="763" alt="002.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/14eec85f-320d-455e-49d0-18a5080048dc.png">
<img width="730" alt="003.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/6c1bd0f1-4885-f634-87c5-9f08ea432074.png">

- サブネットグループ名(適当な名前)
- 軽い説明
- 利用するVPC(前回作成したVPC)を選択
- 「このVPCに関連するすべてのサブネットを追加します」をクリック
- 不要なサブネットを削除(必要なサブネットのみ追加しても構いません)

上記の内容を入力しましたら作成ボタンをクリックし、サブネットグループを作成します。




## RDS(Aurora)立ち上げ

さてさて。
サブネットグループの作成が完了したので、RDSを立ち上げましょう。
<img width="662" alt="004.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/f3fd28ed-18ce-2de9-6425-520a9aadc465.png">

「Amazon Aurora」、「MySQL 5.7 との互換性」をチェックし、次の項目へ進みます。

<img width="687" alt="005.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/34775f0d-e711-dd59-e239-1056c93b324b.png">
スペックを選択し、**マルチAZ配置**の項目を任意で選択します。
今回はマルチAZ配置を「いいえ」と選択しました。

<img width="657" alt="006.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/3ec3ebed-d5f8-0dd8-8445-56f5487a0350.png">
次に、DBインスタンスの名前等を記入します。なんでも良いです。
パスワードをランダム生成する際、僕は[こちら](http://www.graviness.com/temp/pw_creator/)のサイトを利用しています。

<img width="655" alt="007.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/a3e774e3-96bf-e9a1-03cf-9459769b8404.png">

- VPC
- 先ほど作成したサブネットグループ
- パブリックアクセスの可否
- アベイラビリティゾーン
- VPCセキュリティグループ

上記の内容を入力します。




<img width="654" alt="008.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/69f0881b-97df-2f95-644b-d656133547aa.png">
続きましてクラスターの設定をします。
以下の項目を入力しましょう。

- クラスター名
- DB名
- ポート
- パラメーターグループ(今回はデフォルト)
- クラスターのパラメータグループ(こちらもデフォルト)

以下、暗号化/パフォーマンスインサイト/モニタリング/バックアップなどの項目はお任せします。
用途に応じて入力しましょう。

## 長い道のりを経て。。。

全ての項目の入力が済み、漏れがないか確認しましたら、「データベースの作成」をクリックしましょう。
5分ほどでDBが利用できるようになります。




## 【おまけ】RDSへ疎通確認を行う3つの方法

DBサーバーを立ち上げたのは良いが、疎通確認はどのようにやるべきか。
僕は大体以下のパターンのいずれか(複数)の手法で疎通確認してます。

通信元のインスタンスはRDSに対してインバウンド許可されていることが前提です。

1. EC2にmysql-clientを`yum install`してサーバー上からアクセス
2. ローカルからEC2へSSHトンネリングしながらMysqlログイン(MysqlWorkbench等)
3. EC２から`nc`コマンドを利用する

時と場合にもよりますが、最近はEC２上でncコマンドを利用することが多いです。
pingコマンドのように手っ取り早く疎通確認ができるので楽ですね。
こんな感じ。

```
  $nc -zv <DB-instance-endpoint> <port> 
```


「pingで良いじゃん」と思うかもしれませんが、RDSはping系のコマンドが利用できないです。[AWSのトラブルシューティング](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_Troubleshooting.html)にも以下のように記載がありました。

>Amazon RDS では ping も含めて Internet Control Message Protocol (ICMP) トラフィックを受け入れません。

また、社内IPアドレスをインバウンド許可しているならば、ローカルからでもncコマンドで疎通確認ができます。しかし本来の目的は「ローカルからの疎通確認」ではなく「サービスで利用する環境の構築」なのであまりお勧めできません。きちんとサーバー上で実行しましょう。


以上、RDSの立ち上げでした。
次回こそElasticBeanstalkを利用してサーバーを立ち上げたいと思います。
(もうすでにサーバー立ち上がってるけど記事の準備がぁぁぁぁ...)

### あなたへオススメするかもしれない記事☆

- [【AWS】VPC作成(2018年UI版)](https://qiita.com/joe_hirata/items/0f2cc6eeeb2052cfc284)
- [スタバで逆ナンされる方法(＊´・∀・＊)](https://qiita.com/joe_hirata/items/372212f1a5d9fd5b98cd)
- [アクセスログからAPIごとにカウント取ったり成形したり
](https://qiita.com/joe_hirata/items/ef2990deb300605dbd83)