マネジメントコンソールからRDSを作成した内容をまとめました。
手順自体を覚えるだけでなく、RDSがどういうサービスでどういう設定が必要なのかをしっかり理解して応用力をつけていきたいと思います。
サブネットグループの作成
- サブネットグループの概要
VPC内にあるサブネットを複数指定して、RDSが起動するサブネットを指定するもの。(CloudFormationのRDSのプロパティではVPCの指定はないようで、サブネットグループを指定してそのサブネットグループが指定しているVPC内にRDSインスタンスができるっぽい)
RDSインスタンスを起動する時DBサブネットグループを指定する。->マルチAZで複数のサブネットを使用するため。
RDSのマネジメントコンソールからSubnet groupsを選択しCreate DB Subnet Groupをクリック
Create DB Subnet Groupの画面でサブネットグループ名、説明を入力し、VPC、サブネットを選択する(ここでは既にCloudFormationで作成していたVPCとサブネットを選択しています。ap-northeast-1aとap-northeast-1cにサブネットがある)
サブネットが正しく選択されていることを確認してCreateをクリック
サブネットグループが追加されていることを確認
サブネットグループができたので、RDSを作成する時にこのサブネットグループを選択すると、このサブネットグループに含まれているサブネットの中でRDSインスタンスが起動する。
- 疑問点メモ
サブネットグループで指定したサブネット内でRDSが起動するのはわかったけど、RDSインスタンスがひとつの場合はどちらのサブネットかランダムに選択されるのか
パラメータグループの作成
- パラメータグループの概要
RDSではDBの設定ファイルを直接編集できないので、代わりにDBの設定値を指定するもの。
RDSのマネジメントコンソールからParameter groupを選択し、Create parameter groupsをクリック
Parameter group familyをmysql8.0にして、Group nameとDescriptionを入力してCreateをクリック
作成されたParameter Groupを選択してEditをクリックするとパラメータを設定できる(パラメーターの数はかなり多い)
ModifiableがTrueのパラメータは変更可能、falseは変更不可
オプショングループの作成
- オプショングループの概要
プラグインを使うなど、DBの機能を設定するもの。
マネジメントコンソールでOption Groupsを選択しCreate groupsをクリック
Create Option Groupの画面でName、Description、Engine、Major Engine Versionを選択しCreateをクリック
オプショングループが追加されていることを確認
RDSの作成
RDSのマネジメントコンソールからDashboardを選択し、Create databaseをクリック
Create databaseの画面でstandard createとEngine typeはmysqlを選択
MySQLのVersionは8.0を指定し、テンプレートはDev/Testを選択
Settingsの項目でDB識別子とMaster username、Master passwordを入力
DBインスタンスサイズはBurstable classes (includes t classes)※バースト可能クラスを選択し、db.t3.microに設定。
StorageはGeneral purpose(SSD)※汎用でAllocated storageは20に設定
Storage autoscalingは練習用なのでEnable storage autoscalingのチェックマークを外しておく->チェックするとDBに一定以上の負荷がかかった時自動でスケーリングする
Availability & durabilityもDo not create a standby instanceにしておく->Create a standby instance (recommended for production usage)の方を選択するとマルチAZでRDSが作成されるっぽい
Connectivityの項目でRDSを置きたいVPCとSubnetGroupを選択する(VPCに含まれているサブネットグループしか表示されない。試しにサブネットグループが作成されてないVPCを選択するとサブネットグループのプルダウンにはCreate New SubnetGroupしか表示されなかった)
RDS用のセキュリティグループをまだ作ってなかったのでここで作成する
セキュリティグループのマネジメントコンソールに移動し、セキュリティグループ名、説明を入力し、VPCを選択、そしてインバウンドルールとアウトバウンドルールを設定します
インバウンドルールはECSタスクのセキュリティグループからの3306ポート宛の通信のみを許可するようにし、アウトバウンドはECSタスクのセキュリティグループへの全ての通信を許可するようにしました。
ちょっとRDSのセキュリティとして十分か自信ないのですが、このあたりの設定は別途勉強していきます。
RDSの設定画面に戻り、Public accessはNoを選択し、セキュリティグループは先ほど作成したものを選択、アベイラビリティーゾーンはap-northeast-1aを選択します。(プルダウンからはap-northeast-1aとap-northeast-1cが表示されていたので、サブネットグループに含まれるアベイラビリティーゾーンからひとつ選ぶ形になっているはず)
Database portは3306に設定
Database authenticationはPassword authenticationにしておく
Additional configurationでInitial database nameは空にしておいて、DB parameter groupとOption groupを先に作成していたものを選択する
Backupの項目でEnable automatic backupsにチェックを入れておき自動でバックアップが取得されるようにしておく。
Backup retention periodでバックアップの保持期間が設定でき、最長で35daysが選択できました。
Backup windowで自動バックアップの開始時間が設定できる。->スナップショットを取得する時刻
指定はUTC(日本時間から-9時間)なので注意
Enable encryptionはチェックを入れておく。けどよくわかってないので後から勉強したい
docs.aws.amazon.com
MonitoringやLog Exportsにチェックを入れるとより詳しいモニタリングができたりCloud watchmにログを出力できたりする。今回は検証目的でインスタンスはすぐ消すのでチェックは外しておく
MaintenanceのMaintenanceはMySQLのマイナーバージョンのリリース時に自動でRDSインスタンスをアップグレードするかの設定ができる。
またMaintenance windowでそのアップグレードを行う時間を指定できる。
Deletion protectionで削除保護機能を有効にできるが、今回はすぐ削除するので外しておく。
上記設定完了後、概算の月間コストを確認し、Create databaseをクリックするとRDSが作成される
しばらくするとRDSのstatusがAvailableになりました。
長くなってきたので次の記事で設定情報などを確認してみたいと思います。