Amazon Timestreamのバックアップを試してみる
Timestreamが発表されたのは2020年ですが、バックアップがありませんでした。ドキュメントでは「自力で頑張るように」という無慈悲な記述もありましたが・・・このたびAWS Backupと統合されました。
ドキュメントより
できること
- スケジュール実行
- クロスアカウント、クロスリージョン
- Lifecycleでコールドストレージに移行可
- タグ付け
- 暗号化
- AWS Backup Valut LockでWORM(write-once-read-many)
実行に関して
(制限はAWS Backupのものが効く)
- console、SDK、CLIで可
- Backup
- バックアップするのは、テーブル単位
- 停止、キャンセルできない
- バックアップソースを消せない
- バックアップをDiableできない
- 1リソースに対して同時に1つのみ
- 1アカウントの対して同時に4つのバックアップのみ
- Restore
- 事前にtable設定のリテンションピリオドを合算後の時間幅より長くする
- 1テーブルごとしかできない
- 実行中に別データを挿入できない
バックアップしてみる
AWS Backupでの設定をONにする
Timestreamコンソールに入って左側を見ると、Backupsの項目がNewで表示されています。
AWS BackupをTimestreamに対してをEnableしてよいか聞いてくるので、押します。
enabledされました。
これはAWS Backupの設定をTimestream側でやったということです。本来は、AWS Backup -> Setting -> Service opt-in -> Configure resources のページでON/OFFできます。diabledにする場合はこのページに行ってください。
項目設定
Create on-demand backupでソースのDatabase, Tableを選びます。ここでは、サンプルで作成したものをセットしています。
AWS Backupの設定です。今すぐするかスケジュールにするか、コールドストレージを使うか、リテンション期間、Backup Vaultの設定など。
Creation time
時間がかかるかも、という表示が出ますが、サンプルデータでは2分弱で完了しました。
リストアしてみる
どれをどこにリストアするか
バックアップを選択してリストア押します。
新しく作るテーブル名、どのデータベースに作るかを設定します。
リテンション設定
Timestreamでは、データのタイムスタンプに応じて保存場所をMemory storeからMagnetic storeに変えたり、時間が経過したら破棄したりします。そのため、リストアするデータのタイムスタンプに気をつける必要があります。
下記のOldest timestamp(2022-09-10 15:13:23)がリストアするデータの最も古いタイムスタンプです。リストアを実行する時刻(2022-12-18 17:23)からの差分は99日3時間なので、それよりリテンションを長くしないと消えます、と表示されています。
数分で完了しました(データが少ないからですが)。
(ちなみに、上記のリテンションをデータないところまで短くしてリストアすると、無事に何も入っていない空のテーブルが作成できました。データが削られるだけでエラーにはならないです。)
Clean up
Backup -> Delete -> AWS Backupに移動
Backup vaults -> Defaultに移動して当該のRecorvery Pointを消します。
・・・リカバリーポイントは消せるんですが、何故かTimestream側のBackupが消えずに残っています。そこからはリストアできないので、表示が残っているだけのようです。
まとめ
TimestreamがAWS Backupに対応したので試してみました。クリックするだけでバックアップできて便利そうです。
Discussion