Amazon Aurora DSQL が GA されていたので AWS Backup を使ったバックアップと復元を試してみた
いわさです。
今朝 Amazon Aurora DSQL が GA されましたね。
昨年の re:Invent 2024 で登場した非常に注目度の高い新サービスです。
この Aurora DSQL ですが、バックアップ機能は AWS Backup に依存しており、AWS Backup のアップデート情報としても Aurora DSQL サポートがアナウンスされていました。
バックアップの設定方法とその復元手順を確認してみたので紹介します。
Aurora DSQL の作成とバックアップ設定
まずは Aurora DSQL を作成します。ほとんどパラメータもない上に数分で立ち上がるので非常に簡単に使い始めることが出来ますね。
今回は CloudShell を使って接続し、適当なテーブルとレコードを作成しておきました。
~ $ dsql-connect --hostname 7yabudmwsnmu7dyuu3zmrbtdre.dsql.ap-northeast-1.on.aws --region ap-northeast-1 --database postgres --username admin
postgres=> create database hogedb;
ERROR: unsupported statement: Createdb
postgres=> create table hogetbl (hoge integer, fuga varchar(10));
postgres=> insert into hogetbl values (1, "aaa");
ERROR: column "aaa" does not exist
LINE 1: insert into hogetbl values (1, "aaa");
^
postgres=> insert into hogetbl values (1, 'aaa');
postgres=> insert into hogetbl values (2, 'bbb');
postgres=> select * from hogetbl;
hoge | fuga
------+------
1 | aaa
2 | bbb
(2 rows)
で、バックアップの設定です。
Aurora DSQL コンソール上のアクションメニューに「オンデマンドバックアップを作成」と「バックアップのスケジュールを設定」がありますが、どちらも AWS Backup の各機能へのリンクとなっています。
今回はオンデマンドバックアップを作成してみます。
AWS Backup の保護されたリソース機能で、新しいリソースタイプ「Aurora DSQL」を選択できます。
リソースタイプ選択後にクラスタ ID を選択しましょう。
ただし、私の環境では初回はオンデマンドバックアップの作成に失敗しました。
次のエラーメッセージが出力されています。AWS Backup のリソースタイプはオプトイン必要なものがあるみたいですね。
Resource type is not opted in. Opt in to the resource type using update region settings.
AWS Backup の設定メニューからサービスのオプトイン設定が可能です。
たしかに Aurora DSQL のステータスが無効になっていました。
上部の「リソースを設定」から Aurora DSQL をオプトインしましょう。
オプトイン後はオンデマンドバックアップ作成ジョブを開始することが出来ました。
復元
しばらく待つとオンデマンドバックアップが作成されたので、次は復元を行ってみます。
Aurora DSQL コンソールの「クラスターを作成」メニューに「バックアップから復元」という操作が可能なのですが、このボタンも AWS Backup コンソールへのリンクになっています。
AWS Backup コンソール上ではボールト画面から復旧ポイントを選択し復元操作を行うだけです。
そうすると、Aurora DSQL のクラスター設定を指定して復元操作を行うことが出来ます。
新規クラスターが作成される形になります。
デフォルトで作成したクラスターに最小のテーブルとレコードを少し作成したくらいですが、復元まで 5 分くらいかかりました。
復元後接続してみると、、旧環境のレコードが取得できました。
エンドポイントは変わっていますね。
~ $ dsql-connect --hostname 2fs4kgkzq2rf3vmokhhpbqhruy.dsql.ap-northeast-1.on.aws --region ap-northeast-1 --database postgres --username admin
postgres=> select * from hogetbl;
hoge | fuga
------+------
1 | aaa
2 | bbb
(2 rows)
さいごに
本日は Amazon Aurora DSQL が GA されていたので AWS Backup を使ったバックアップと復元を試してみました。
冒頭の GA ブログでも AWS Backup で実現しているという情報があったので、試してみましたがイメージどおりでした。
オプトイン必要だというところだけ知らなかったので、試して良かったです。