はじめに
RDSのインスタンスを過去の状態に復元する方法は複数ありますが、その内の1つ、ポイントインタイムリカバリを試してみる機会があったので、AWSマネジメントコンソールからの操作方法と結果を画面交えて紹介します。
ポイントインタイムリカバリでは、Auroraの自動バックアップを利用して、指定した過去時点のインスタンスを作成できます。(特定時点への復元)
元のインスタンスとは別で作成されるため、このリカバリを使用して過去のデータを復元したり、検証用のDBとして使用できます。
この記事では、Auroraクラスターを対象とし、元のクラスターと同じ構成で復元してみます。
前提
今回は東京リージョンのAZ2つにまたがるAuroraクラスターを作成しました。
特定時点への復元を行うためには、Auroraクラスターの設定「バックアップ保持期間」が設定されている必要があります。
現在、Auroraクラスターを作成する際には、デフォルトとして設定されるようになっています。
(追加設定の欄にあります)
バックアップ保持期間の設定は、特定時点への復元時に参照できる期間に影響します。
たとえばバックアップ保持期間を1日間で設定した場合、復元時点として指定できるのは約1日前までになります。
バックアップ保持期間は35日間まで設定できますので、ポイントインタイムリカバリで復元できる期間も35日までになります。
Auroraクラスター作成時の主要設定項目は以下にしています。
- エンジン:Aurora MySQL 3.05.2(compatible with MySQL 8.0.32)
- DBクラスター識別子:test-database-1
- インスタンスクラス:db.t3.medium
- マルチAZ配置:別のAZでAuroraレプリカ/リーダーノードを作成する
- DBサブネットグループ:(※プライベートサブネット2つを設定したもの)
- パブリックアクセス:なし
- DBクラスターのパラメータグループ:default.aurora-mysql8.0
- DBパラメータグループ:default.aurora-mysql8.0
- 暗号化:有効(aws/rds)
復元可能な時刻を確認する
まず、復元可能な時刻を確認してみます。
対象のAuroraクラスターを選択し、メンテナンスとバックアップ
タブのバックアップ
欄を確認します。
- 最も早い復元可能な時刻
- 最も遅い復元可能な時刻
の2つが表示されています。
ポイントインタイムリカバリ(特定時点への復元)で使用できるのは、この間の時刻になります。
ポイントインタイムリカバリ(特定時点への復元)をやってみる
では、ここから実際にポイントインタイムリカバリを実施してみます。
データベース一覧画面から対象のAuroraクラスターを選択した状態で、アクション
>特定時点への復元
を選択します。
復元時刻を復元可能な最新時刻
で設定します。
また、DBインスタンス識別子を以下に設定します。
- DBインスタンス識別子:pitr-test-database-1
※これはDBクラスター識別子ではなく、1台目のインスタンスに設定される識別子です。
他の設定項目は元のクラスターと同じに設定し、最後に特定時点への復元
を押します。
これで復元が始まります。
今回は元のクラスターと同じ設定で復元したので、以下のようにマルチAZのAuroraクラスターがもう1つ作成されます。
クラスター・インスタンスのステータスが"利用可能"になれば、復元作業は完了になります。
おわりに
Auroraクラスターのポイントインタイムリカバリ機能は知っていても、実際にどう操作して、マネジメントコンソール画面上はどうなるのかを具体的に知らなかったため、確認してまとめてみました。
DBの復元にはいくつかの方法があるため、ご自身の環境・要件に合わせたものを選ぶ必要があります。
この記事でポイントインタイムリカバリという方法の実施イメージが伝われば幸いです。
参考
- DBクラスターを指定の時点の状態に復元する(AWS公式ドキュメント) https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html