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

  • 247
    いいね
  • 6
    コメント
この記事は最終更新日から1年以上が経過しています。

前回まで

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