AWS
RDS

0から始めるAWS入門④:RDS編

More than 3 years have passed since last update.


前回まで

0から始めるAWS入門:概要

0から始めるAWS入門①:VPC編

0から始めるAWS入門②:EC2編

0から始めるAWS入門③:ELB編


概要

AWSのデータベースサービスRDSの作成を行っていく。

初回の概要に記述したように、MySQL、Oracle、Microsoft SQL Server、PostgreSQLと選択できる。今回はMySQLで構築していく。


下準備

コンソールの[Database]カテゴリからRDSを選択。


DB用サブネットの登録

VPC編で作成したサブネットをRDSで使える用に予め登録しておく必要がある。

[Subnet Groups]を選択後、[Create DB Subnet Group]をクリック。

[Name]は、識別子なので分かりやすい名前を入力する。続いて[Description]に説明を入力後、[VPC ID]でVPC編で作成したVPCを選択する。

その後、[add all the subnets]ボタンをクリックすればVPC内のサブネット全てがDB用のサブネットとしても登録される。

4-0_subnet.png

ちなみに、複数のAZにまたがるサブネットを持たないVPCを選択することはできないので注意。


DBのパラメータグループの作成

RDSでは、各DBのパラメーターの設定(mysqlならmy.cnfの内容)をテンプレートとして登録しておける。今回は日本語を扱う上で最低限必要な文字コードの設定をしておく。

[Parameter Groups]を選択後、[Create DB Parameter Group]をクリック。

各項目を設定していく。

項目
内容

DB Parameter Group Family
どのデータベース向けの設定か
要件に合わせて設定

DB Parameter Group Name
パラメータグループ名
適当に(今回は日本語向けなのでjapansese)

DB Parameter Group Description
パラメータグループ説明
適当に

4-0-4_parameter.png

今作成したグループを選択後、[Edit Parameters]をクリック。

そうすると設定できるパラメーターの一覧と選択肢がでてくる。

以下の項目を設定していく。

項目

character_set_client
utf8

character_set_connection
utf8

character_set_database
utf8

character_set_server
utf8

character_set_system
utf8

4-0-7_paramters.png


DB用セキュリティグループの作成

EC2のセキュリティーグループを作成したように、DB用のセキュリティグループも作成する。

コンソールより[VPC]を選択。[Security]カテゴリの[Security Group]を選択する。

上部[Create Security Group]クリックでセキュリティーグループを作成するモーダルが表示される。各項目に下記の値を設定していく。

項目

Name tag
識別子に使うので分かりやすい名前

Group name
上記と同様

Description
適当な説明文

VPC
VPC編で作成したVPCを選択

4-0-1_security_group.png

続いて実際にポリシーを設定していく。

今作成したセキュリティーグループを選択後、[Inbound Rules]タブを選択。

[Edit]ボタンをクリックして編集する。

今回はVPC内からのみDBへのアクセスを許可するようなポリシーとする。

Type
Protocol
Port Range
Source

Mysql
TCP
3306
10.0.0.0/16


RDSの作成4-0-3_sg_rules_fix.png

再度、コンソールの[Database]カテゴリからRDSを選択。[Get Started Now]ボタンから作成を始める。


エンジンの選択

Mysqlを選択する。

4-1_engine.png


プロダクション環境か?

次に、このDBをプロダクション(本番)環境として使うかを聞かれます。今回は、学習目的として[No]を選択します。また[No]を選択することにより、無料枠の1つの条件となります。

4-2_production.png

では、今回選択しなかったプロダクション環境の場合何が変わるのか?

まず、ストレージが[Provisioned IOPS Storage]となります。これはEC2編で説明したとおり、一定のIOPSを保証した大規模DB向けのストレージです。

もう一点、[Multi-AZ Deployment]が有効になります。これがRDSの特徴とも言えます。


Multi-AZ Deployment

Multi-AZ Deploymentを選択すると、ホストしているAZとは別のAZに同期・物理レプリケーションを自動で作成してくれます。

また、マスターが死んだとしても、2,3分でフェイルオーバーを行ってくれます。

ただし、リードレプリカ用途では使えないため、別途設定する必要があります。


DB設定

各DBの設定項目を入力していきます。

項目
内容

License Model
ライセンス
general-public-license

DB Engine Version
DBバージョン
要件に合わせて選択

DB Instance Class
インスタンスのクラス(スペック)
無料枠適用のためdb.t1.micro

Multi-AZ Deployment
Multi-AZ Deploymentを適用するか
No

Storage Type
ストレージタイプ
General Purpose (SSD)

Allocated Storage
何GBストレージに割り当てるか
要件に合わせて設定(20GBまで無料)

DB Instance Identifier
DB識別子
分かりやすいDBの識別子を設定

Master Username
マスターユーザー名
適当なマスター(ルート)ユーザー名

Master Password
マスターユーザーパスワード
適当なマスター(ルート)パスワード

Confirm Password
パスワード再入力
パスワード再入力

4-3_specify.png


DB詳細設定

次に詳細設定をしていく。

項目
内容

VPC
どのVPCに配置するか
VPC編で作成したVPCを選択

Subnet Group
サブネット
下準備で登録したサブネット

Public Accessible
インターネット経由で接続可能にするか
No

Availabillity Zone
配置先AZ
ap-northeast-1a

VPC Security Group
セキュリティーグループ
下準備で作成したセキュリティーグループ

Database Name
デフォルトで作成するデータベース名
要件にあわせて設定

Database Port
データベースポート
3306(変更するならセキュリティグループも要変更)

Parameter Group
mysqlの設定
下準備で作成した日本語パラメータグループ

4-5-1configure.png

項目
内容

Backup Retention Period
何日バックアップを維持するか
1(0を指定した場合、バックアップ無効)

Backup Window
毎日何時にバックアップを取るか
No Preference(指定したい場合は任意で)

Auto Minor Verion Upgrade
マイナーバージョンアップを自動で行うか
Yes

Maintenance Window
バージョンアップのメンテナンスを何曜日の何時に行うか
No Preference(指定したい場合は任意)

注意しなければいけないのは、[Auto Minor Verion Upgrade]をYesにした場合、Multi-AZ構成を選択してなければ、当然バージョンアップ中はDBは停止してアクセスできない。

4-5-3_configure.png


作成!

[Launch DB Instance]で作成完了。

実際にインスタンスが立ち上がるまで、少し時間がかかるので正座してコンソールを眺めておく。


リードレプリカ

最後に、0から始めるAWS入門:概要の図で示したリードレプリカをAZ-Cに作っておく。アプリ等で、参照専用用途に使う想定。


リードレプリカの作成

インスタンスリストから対象のRDSインスタンスを右クリック。[Create Read Replica]を選択。

4-6-1_create_read_replica.png

続いて、設定。[DB Instance Identifier]に適当な名前、[Availabillity Zone]にAZ-Cを選択して[Create Read Replica]をクリックして作成完了まで少々まつ。

4-6-4_configure.png