Amazon RDSでインスタンスを作成する方法

Amazon RDSでDBサーバを構築する方法を勉強したのでメモしておく。

仮想DBサーバーのインスタンスを作成する

  • AWS Management Consoleにログインしたら,RDSを選択する。
  • 画面右上のメニュー(アカウント管理メニューの隣)から使用するリージョンを選択する。今回はAsia Pacific (Tokyo) を選択する。
  • 画面左側のDatabasesメニューから,課金タイプのメニューを選択する。

※課金タイプには,DB Instances, Reserved DB Purchasesの2つのタイプが存在するが,今回は一番シンプルなDB Instancesを使用する。DB InstancesLaunch DB Instanceからインスタンスの作成メニューへ移動する。

ENGINE SELECTION

使用したいDBMSを選択する。

DB INSTANCE DETAILS

インスタンスのスペックなど,詳細を決めていく。

  • License ModelDB Engine Versionはデフォルトのままでよい。これはライセンスやDBのバージョンを設定する項目である。
  • DB Instance Classでは,作成したいインスタンスのスペックを選択する。今回は一番安価なdb.t1.microを選択する。
  • Multi-AZ Deploymentでは,DBの冗長化として,マスター(プライマリ)とスレーブ(セカンダリ)の構成で,2つのデータセンター(Availability Zone)に渡ってDBを構築することができる。このオプションを使用する場合は追加課金が発生する。今回は使用しないのでNoを選択する。

Multi-AZ Deploymentについてはこちらで説明されている。

  • Auto Minor Version Upgradeではマイナーバージョンへの自動アップデートを使用するかを決める。今回はYesを選択する。
  • Allocated Storageでは使用したいストレージの容量を決める。最小が5GB,最大が3072GBなので,今回は最小の5GBを使用するので5と入力する。
  • Use Provisioned IOPSではプロビジョニング(空いているリソースを自動的に割り当てること)によりサーバが1秒間に処理できる能力が向上する(冗長化構成)。使用する場合は追加課金が発生する。今回は使用しないので,そのままにする。

Use Provisioned IOPSについてはこちらで説明されている。

  • DB Instance IdentifierにはDBサーバの識別に使用する任意のIDを入力する。
  • Master UsernameにはDBサーバへの接続に使用する任意のユーザ名を入力する。
  • Master PasswordにはDBサーバへの接続に使用する任意のパスワードを入力する。
  • Continueを選択する。

ADDITIONAL CONFIGURATION

  • Database NameにはDBに付ける任意の名前を入力する。

※その他の項目はデフォルトのままにする。
DB Security Group(s) の項目のみ後述にて変更を加える。

MANAGEMENT OPTIONS

  • Enabled Automatic Backupsでは自動バックアップ機能を有効にするかどうかを選択する。今回はバックアップを取りたいのでYesを選択する。
  • Backup Retention Periodでは自動バックアップで保存したデータの保存期間を選択する。今回は1日だけ保存したいので1を選択する。
  • Backup Windowでは自動バックアップを実行する時間を設定する。No Preferenceでは任意のタイミングでバックアップを実行することができるが,サーバが数分間無応答となる。Multi-AZ Deploymentを使用している場合はこれは発生しない。可能な限り,バックアップを取りたい場合はSelect Windowを選択し,バックアップの実行時間を指定した方が良い。今回は日本時間(JST)で午前5時に実行したいので,Start Timeには20:00を指定し,Durationではバックアップの完了までにかけて良い時間を決めるので0.5(30分間)を指定する。
  • Continueを選択する。

REVIEW

設定の内容に問題が無ければ,Launch DB Instanceを選択してインスタンスの作成を開始する。

Security Groupを作成する

Security Groupを作成し,EC2のインスタンスから接続ができるようにする。

  • DB Security GroupsからCreate DB Security Groupsを選択し,Security Groupを作成する。
  • NameにはSecurity Groupに付ける任意の名前を入力する。DescriptionにはSecurity Groupに付ける説明を入力する。
  • Yes, Createを選択する。
  • 作成したSecurity Groupを選択し,Descriptionタブからルールを追加する。

今回のSecurity Groupの設定では,既に作成済みのEC2のインスタンスからのアクセスを許可したいので,以下のようにルールを追加する。

Connection Type Details Status
CIDR/IP CIDR/IP:0.0.0.0/0 authorized
EC2 Security Group AWS Account ID:000000000000000 Security Group:test-ec2-sg authorized

※これを設定するにはEC2側でもSecurity Groupを作成する必要がある。

作成したDBインスタンスにSecurity Groupを割り当てる

  • DatabasesメニューからDB Instancesを選択する。一覧から作成したインスタンスを選択し,右クリックからModifyを選択する。
  • Security Groupにて,先程作成したSecurity Groupを選択する。
  • Continueを選択する。

ここまで手順通りに上手く設定できていれば,DBのインスタンスを作成することができる。

おまけ

リードレプリカとは

Amazon RDSには,「リードレプリカ」を作成する機能がある。リードレプリカとは,読み取り専用として利用する複製DBのことである。リードレプリカは,マスターのデータを非同期にレプリケーション(同じ内容を複製)する。リードレプリカは,非同期なので常にマスターと完全に内容が一致しているわけではない。なので,マスターの負荷分散用として使用することが推奨される。つまり,更新系はマスターで行い,参照系はレプリカで行うという使い方が想定されている。
リードレプリカの作成方法は,マスターDBを右クリックし,メニューからCreate Read Replicaを選択する。基本的なDBの情報を入力し,Yes, Create Read Replicaを選択することで,リードレプリカを作成することができる。

参考
Amazon RDSで仮想DBインスタンスを作成する
RDSインスタンスの設定を変更する
Amazon RDSによるレプリケーションについて理解する | Developers.IO