search
LoginSignup
339

More than 5 years have passed since last update.

posted at

updated at

Organization

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

前回まで

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
339