Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

【AWS】Auroraクラスターでポイントインタイムリカバリをやってみた

はじめに

RDSのインスタンスを過去の状態に復元する方法は複数ありますが、その内の1つ、ポイントインタイムリカバリを試してみる機会があったので、AWSマネジメントコンソールからの操作方法と結果を画面交えて紹介します。

ポイントインタイムリカバリでは、Auroraの自動バックアップを利用して、指定した過去時点のインスタンスを作成できます。(特定時点への復元)
元のインスタンスとは別で作成されるため、このリカバリを使用して過去のデータを復元したり、検証用のDBとして使用できます。

この記事では、Auroraクラスターを対象とし、元のクラスターと同じ構成で復元してみます。

前提

今回は東京リージョンのAZ2つにまたがるAuroraクラスターを作成しました。

test用のAuroraクラスターが表示されているAWSマネジメントコンソール画面

特定時点への復元を行うためには、Auroraクラスターの設定「バックアップ保持期間」が設定されている必要があります。
現在、Auroraクラスターを作成する際には、デフォルトとして設定されるようになっています。
(追加設定の欄にあります)

AWSマネジメントコンソールでのAuroraクラスター作成時、バックアップ保持期間を1日間に設定している画面

バックアップ保持期間の設定は、特定時点への復元時に参照できる期間に影響します。
たとえばバックアップ保持期間を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クラスターを選択し、メンテナンスとバックアップタブのバックアップ欄を確認します。

Auroraクラスターの詳細、メンテナンスとバックアップの画面で、バックアップの復元可能な時刻が表示されている

  • 最も早い復元可能な時刻
  • 最も遅い復元可能な時刻

の2つが表示されています。
ポイントインタイムリカバリ(特定時点への復元)で使用できるのは、この間の時刻になります。

ポイントインタイムリカバリ(特定時点への復元)をやってみる

では、ここから実際にポイントインタイムリカバリを実施してみます。

データベース一覧画面から対象のAuroraクラスターを選択した状態で、アクション特定時点への復元を選択します。

AWSマネジメントコンソールの画面で、特定時点への復元、を押している

復元時刻を復元可能な最新時刻で設定します。
また、DBインスタンス識別子を以下に設定します。

  • DBインスタンス識別子:pitr-test-database-1

※これはDBクラスター識別子ではなく、1台目のインスタンスに設定される識別子です。

特定時点への復元画面で、復元可能な最新時刻とDBインスタンス識別子を設定している

他の設定項目は元のクラスターと同じに設定し、最後に特定時点への復元を押します。

これで復元が始まります。

今回は元のクラスターと同じ設定で復元したので、以下のようにマルチAZのAuroraクラスターがもう1つ作成されます。

AWSマネジメントコンソールのRDSデータベース一覧で、復元したAuroraクラスターが作成中になっている

クラスター・インスタンスのステータスが"利用可能"になれば、復元作業は完了になります。

おわりに

Auroraクラスターのポイントインタイムリカバリ機能は知っていても、実際にどう操作して、マネジメントコンソール画面上はどうなるのかを具体的に知らなかったため、確認してまとめてみました。
DBの復元にはいくつかの方法があるため、ご自身の環境・要件に合わせたものを選ぶ必要があります。
この記事でポイントインタイムリカバリという方法の実施イメージが伝われば幸いです。

参考

  1. DBクラスターを指定の時点の状態に復元する(AWS公式ドキュメント) https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html