RDSの基礎知識と使い方についてまとめた備忘録
概要
AWSが提供するサービス「RDS」について、
簡単な座学と実際の操作について備忘録として残します。
RDS(RelationalDatabaseService)とは
- リレーショナルデータベースのマネージドサービス
- Slave構成の構築が容易
- IPではなくエンドポイントでターゲットを指定
- リードレプリカ対応
- 更新用と参照用でDBをレプリケーションしながら運用
- 自動バックアップ対応
- スナップショットを定期的に取得
- 日時を指定してパッチを設定(メンテナンスウィンドウ)
- RDSにはSSH接続できない
- パラメータ設定はGUI上で行う(パラメータグループ)
- RDSインスタンスを停止しても7日後に自動起動
- 対応DB
マネージドサービスとは
- 機能をサービスとして提供するため構築工数が掛からない
- 構築ではなく開発に専念することができる
- 例)AWSが提供しているマネージドサービス(一部)
- Amazon S3
- Amazon Route53
- Amazon CloudFront
- Amazon SES
実際に触ってみた
サブネットグループを作成する
DBインスタンスを起動するサブネットを定義する
- RDS>サブネットグループ作成
- サブネットグループ名を入力
- VPCを選択
- サブネットを選択(privateサブネット推奨)
サブネットグループは複数サブネット(異なるアベイラビリティゾーン)に属す必要がある
パラメータグループを作成する
privateサブネットにはSSH接続できないのでGUI上で設定する
デフォルト値から変更する場合に必要なグループ設定
- RDS>パラメータグループ作成
- パラメータグループファミリーを選択(例:mysql5.7)
- パラメータグループ名を入力
DBインスタンスを作成する
- RDS>ダッシュボード>DBインスタンス起動
- エンジンを選択(mysqlなど)
- ユースケースを選択(開発/テスト:無料枠)
- DBエンジンのバージョン(マイナーまで指定可能)
- マルチAZ配置(別のゾーンにレプリカを作成:MasterSlave構成にする場合)
- DBインスタンス識別子を入力
- VPCを選択
- サブネットグループを選択(事前に作成しているサブネットグループ)
- パブリックアクセシビリティを選択(はい:GIP持たせて外部接続可能にする場合)
- アベイラビリティゾーンを選択(指定なし:Master-Slave構成の場合)
- セキュリティグループを選択(DBサーバ用のSGを選択)
- DBパラメータグループを選択(事前に作成しているパラメータグループ)
- バックアップ保存期間
- バックアップウィンドウ(〜以内にバックアップを終了させるか)
- モニタリング(CloudWatchによるモニタリング可否:有料機能)
- マイナーバージョン自動アップグレード(エンジンバージョンを最新化)
- メンテナンスウィンドウ(〜以内にアップグレードを終了させるか)
RDS(MySQL)にEC2インスタンスから接続する
エンドポイントはDBの配置場所(IPアドレス)のような意味合いで使用する
$ mysql -h エンドポイント -u root -p $ rootパスワード
RDS(MySQL)のスナップショットを取得する
スナップショットはバックアップの役割を持つ
- RDS>データベースから該当するRDSインスタンスの詳細へ遷移する
- メンテナンスとバックアップ>スナップショットを取得
- 識別子を入力して作成する
スナップショットから復元する
スナップショット対象のRDSとエンドポイントは異なる
- RDS>スナップショットからスナップショットを選択してスナップショットの復元
- インスタンスの復元で設定値を入力してインスタンス復元
- RDS>データベースから復元したRDSインスタンスの詳細へ遷移する
- セキュリティグループがデフォルト値なのでインスタンスの変更へ遷移する
- セキュリティグループをデフォルトから変更して、すぐに適用でインスタンスの変更