8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SRAAdvent Calendar 2020

Day 23

RDSコンソールからとAWS backupからのAuroraクラスターリストア時の挙動の違い

Last updated at Posted at 2020-12-22

はじめに

DX 技術本部の yu-yama@sra です。

AWS 環境で DB(Aurora)のバックアップ・リストアを検証した際に、
AWS Backup で復旧ポイントからリストアする時の挙動が思っていたのと違ったのでここに記します。

TL;DR

AWS Backup からリストアするとインスタンスが作成されないのでそのままではDBにアクセスできません。RDS コンソールからリストアしましょう

Aurora クラスターを AWS Backup の復元ジョブにて復旧ポイントからリストアする場合の挙動

  • AWS backup のコンソールから復元する場合
    awsbackupからクラスターを復元2020-12-04_14h45_48.png

  • クラスターは作成されるのだが、0インスタンスとなってしまう。
    0インスタンス_2020-12-04_15h38_50.png

  • DBクラスターのエンドポイント作成ステータスはずっと作成中のまま...
    もちろんDBにはアクセスできない。
    エンドポイント作成中のまま_2020-12-04_15h40_45.png

  • これはどういう状況かというと、DB クラスターのみが作成され、クラスターのプライマリインスタンスやレプリカインスタンスが作成されていない状態1になります2
    インスタンスが作成されない_AuroraArch001.png
    Amazon Aurora DB クラスター - Amazon Aurora

  • リストアを行うと復旧ポイント時点での状態で新規にクラスターが立ち上がり、DBアクセスできる状態になっていることを期待していました。

この状態からDBアクセスするためにやること

  • インスタンスがないのでインスタンスを作成する必要があります。
  • マネジメントコンソールの現在の動作として、 RDSコンソールからプライマリインスタンスを追加する操作を実施できないため、AWS CLI の create-db-instance などの API にてクラスターに対して DB インスタンスを追加します。

参考:Amazon Aurora DB クラスターの作成 - Amazon Aurora

コンソールを使用して DB クラスターを作成する場合、Amazon RDS は自動的に使用する DB クラスターのプライマリインスタンス (ライター) を作成します。AWS CLI を使用して DB クラスターを作成する場合、使用する DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリ インスタンスは、DB クラスターで作成される最初の DB インスタンスです。

DB クラスターのプライマリインスタンスを作成するには、create-db-instance AWS CLI コマンドを呼び出します。--db-cluster-identifier オプション値として DB クラスターの名前を含めます。

Linux、macOS、Unix の場合:
aws rds create-db-instance --db-instance-identifier sample-instance --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.large
Windows の場合:
aws rds create-db-instance --db-instance-identifier sample-instance --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.large

  • インスタンスを作成することで、やっとDBにアクセスできる状態になります。

Aurora クラスターを RDS コンソールにて DB スナップショットから DB クラスターをリストアした場合の挙動

  • AWS backupで取得したスナップショットはRDSコンソールからも参照できるので「RDS-スナップショット-バックアップサービス-対象のスナップショットを選択-スナップショットを復元」と復元する

RDSコンソールからクラスターを復元2020-12-04_14h45_48.png

  • インスタンスが作成された状態で新規にクラスターが立ち上がる3
    インスタンスが作成されている_2020-12-04_17h37_36.png

  • DBアクセスできる状態になっています。
    AuroraArch001.png

まとめ

AWS backupでバックアップの一元管理できるようになったが、リストアの仕様が各サービスのコンソールと違う恐れがあるため、AWS backup でリストアする際は要確認。

  1. クラスターボリュームは復旧している

  2. AWSサポートに確認したところ、仕様とのことでした

  3. インスタンスも自動で作成されています

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?