【学習記録】マネジメントコンソールからRDS作成

マネジメントコンソールからRDSを作成した内容をまとめました。
手順自体を覚えるだけでなく、RDSがどういうサービスでどういう設定が必要なのかをしっかり理解して応用力をつけていきたいと思います。

サブネットグループの作成
  • サブネットグループの概要
    VPC内にあるサブネットを複数指定して、RDSが起動するサブネットを指定するもの。(CloudFormationのRDSのプロパティではVPCの指定はないようで、サブネットグループを指定してそのサブネットグループが指定しているVPC内にRDSインスタンスができるっぽい)
    RDSインスタンスを起動する時DBサブネットグループを指定する。->マルチAZで複数のサブネットを使用するため。

RDSのマネジメントコンソールからSubnet groupsを選択しCreate DB Subnet Groupをクリック
f:id:JunpeiNakasone:20210211152751p:plain

Create DB Subnet Groupの画面でサブネットグループ名、説明を入力し、VPC、サブネットを選択する(ここでは既にCloudFormationで作成していたVPCとサブネットを選択しています。ap-northeast-1aとap-northeast-1cにサブネットがある)
f:id:JunpeiNakasone:20210211153131p:plain

サブネットが正しく選択されていることを確認してCreateをクリック
f:id:JunpeiNakasone:20210211153258p:plain

サブネットグループが追加されていることを確認
f:id:JunpeiNakasone:20210211153353p:plain

サブネットグループができたので、RDSを作成する時にこのサブネットグループを選択すると、このサブネットグループに含まれているサブネットの中でRDSインスタンスが起動する。

  • 疑問点メモ
    サブネットグループで指定したサブネット内でRDSが起動するのはわかったけど、RDSインスタンスがひとつの場合はどちらのサブネットかランダムに選択されるのか
パラメータグループの作成
  • パラメータグループの概要
    RDSではDBの設定ファイルを直接編集できないので、代わりにDBの設定値を指定するもの。

RDSのマネジメントコンソールからParameter groupを選択し、Create parameter groupsをクリック
f:id:JunpeiNakasone:20210211154117p:plain

Parameter group familyをmysql8.0にして、Group nameとDescriptionを入力してCreateをクリック f:id:JunpeiNakasone:20210211154527p:plain

作成されたParameter Groupを選択してEditをクリックするとパラメータを設定できる(パラメーターの数はかなり多い)
f:id:JunpeiNakasone:20210211154744p:plain f:id:JunpeiNakasone:20210211154803p:plain ModifiableがTrueのパラメータは変更可能、falseは変更不可

オプショングループの作成
  • オプショングループの概要
    プラグインを使うなど、DBの機能を設定するもの。

マネジメントコンソールでOption Groupsを選択しCreate groupsをクリック
f:id:JunpeiNakasone:20210211160608p:plain

Create Option Groupの画面でName、Description、Engine、Major Engine Versionを選択しCreateをクリック
f:id:JunpeiNakasone:20210211160821p:plain

オプショングループが追加されていることを確認
f:id:JunpeiNakasone:20210211160930p:plain

RDSの作成

RDSのマネジメントコンソールからDashboardを選択し、Create databaseをクリック
f:id:JunpeiNakasone:20210211161205p:plain

Create databaseの画面でstandard createとEngine typeはmysqlを選択 f:id:JunpeiNakasone:20210211164008p:plain

MySQLのVersionは8.0を指定し、テンプレートはDev/Testを選択 f:id:JunpeiNakasone:20210211164241p:plain

Settingsの項目でDB識別子とMaster username、Master passwordを入力
f:id:JunpeiNakasone:20210211164416p:plain

DBインスタンスサイズはBurstable classes (includes t classes)※バースト可能クラスを選択し、db.t3.microに設定。
StorageはGeneral purpose(SSD)※汎用でAllocated storageは20に設定
f:id:JunpeiNakasone:20210211164849p:plain

Storage autoscalingは練習用なのでEnable storage autoscalingのチェックマークを外しておく->チェックするとDBに一定以上の負荷がかかった時自動でスケーリングする
Availability & durabilityもDo not create a standby instanceにしておく->Create a standby instance (recommended for production usage)の方を選択するとマルチAZでRDSが作成されるっぽい
f:id:JunpeiNakasone:20210211165234p:plain

Connectivityの項目でRDSを置きたいVPCとSubnetGroupを選択する(VPCに含まれているサブネットグループしか表示されない。試しにサブネットグループが作成されてないVPCを選択するとサブネットグループのプルダウンにはCreate New SubnetGroupしか表示されなかった)
f:id:JunpeiNakasone:20210211165705p:plain

RDS用のセキュリティグループをまだ作ってなかったのでここで作成する
セキュリティグループのマネジメントコンソールに移動し、セキュリティグループ名、説明を入力し、VPCを選択、そしてインバウンドルールとアウトバウンドルールを設定します
f:id:JunpeiNakasone:20210211171011p:plain インバウンドルールはECSタスクのセキュリティグループからの3306ポート宛の通信のみを許可するようにし、アウトバウンドはECSタスクのセキュリティグループへの全ての通信を許可するようにしました。
ちょっとRDSのセキュリティとして十分か自信ないのですが、このあたりの設定は別途勉強していきます。

RDSの設定画面に戻り、Public accessはNoを選択し、セキュリティグループは先ほど作成したものを選択、アベイラビリティーゾーンはap-northeast-1aを選択します。(プルダウンからはap-northeast-1aとap-northeast-1cが表示されていたので、サブネットグループに含まれるアベイラビリティーゾーンからひとつ選ぶ形になっているはず)
Database portは3306に設定
f:id:JunpeiNakasone:20210211171610p:plain

Database authenticationはPassword authenticationにしておく
f:id:JunpeiNakasone:20210211171914p:plain

Additional configurationでInitial database nameは空にしておいて、DB parameter groupとOption groupを先に作成していたものを選択する
f:id:JunpeiNakasone:20210211172056p:plain

Backupの項目でEnable automatic backupsにチェックを入れておき自動でバックアップが取得されるようにしておく。
Backup retention periodでバックアップの保持期間が設定でき、最長で35daysが選択できました。
f:id:JunpeiNakasone:20210211172734p:plain

Backup windowで自動バックアップの開始時間が設定できる。->スナップショットを取得する時刻
指定はUTC(日本時間から-9時間)なので注意
f:id:JunpeiNakasone:20210211173139p:plain

Enable encryptionはチェックを入れておく。けどよくわかってないので後から勉強したい
f:id:JunpeiNakasone:20210211173527p:plain docs.aws.amazon.com

MonitoringやLog Exportsにチェックを入れるとより詳しいモニタリングができたりCloud watchmにログを出力できたりする。今回は検証目的でインスタンスはすぐ消すのでチェックは外しておく
f:id:JunpeiNakasone:20210211173738p:plain

MaintenanceのMaintenanceはMySQLのマイナーバージョンのリリース時に自動でRDSインスタンスをアップグレードするかの設定ができる。
またMaintenance windowでそのアップグレードを行う時間を指定できる。
Deletion protectionで削除保護機能を有効にできるが、今回はすぐ削除するので外しておく。 f:id:JunpeiNakasone:20210211174202p:plain

上記設定完了後、概算の月間コストを確認し、Create databaseをクリックするとRDSが作成される
f:id:JunpeiNakasone:20210211174435p:plain

しばらくするとRDSのstatusがAvailableになりました。
f:id:JunpeiNakasone:20210211202440p:plain

長くなってきたので次の記事で設定情報などを確認してみたいと思います。