opswitchで取得したRDSバックアップをリストアする

2020.01.26

しばたです。

前の記事ではopswitchで取得したEC2バックアップのリストア方法を紹介しましたが、今回はRDSバックアップのリストア方法を解説します。

opswitch RDSバックアップの基本

opswitchではRDSのバックアップのために

タスクが提供されています。
本日(2020年1月26日)時点でMySQL、MariaDB、PostgreSQL、Oracle、SQL Serverのデータベースエンジンで利用可能です。
(Amazon Aurora MySQLとAmazon Aurora PostgreSQLは未サポート)

リストアシナリオ

バックアップの実体としてはAWSのAPIを通じてDBスナップショット(手動)を取る形となっておりリストア方法は手作業でDBスナップショットと取った場合と同様です。

このためシナリオとしては非常に単純で、

No. opwitchタスク バックアップ対象 リストア対象 リストアシナリオ
1 DBスナップショットの作成 DBスナップショット(手動) DBスナップショット(手動) 1.DBスナップショットの復元

の1パターンのみとなります。

opswitchで取得したRDSバックアップをリストアする

ここから本題のリストア手順を紹介します。

検証環境について

本記事では以下のopswitchタスクを作り、適当なRDSインスタンスをバックアップしています。
前回同様ターゲット指定に独自のタグを使っているくらいであとは特筆すべき点は無いごく普通の定義としています。

インスタンスは私の検証環境に作成したOracle Databaseインスタンス(test-db)としています。

1. DBスナップショットの復元

DBスナップショットの復元手順はAWSの公式ドキュメントに記載されていますし、Developsers.IOでも幾つか記事が公開されています。

本記事では公式の手順に倣った手順を紹介します。
DBスナップショットをリストアする際は運用者がリストア先の環境を事前に把握しておく必要があり、最低限以下の情報が必要です。

  • DBインスタンス識別子
  • インスタンスタイプ
  • サブネットグループ
  • VPCセキュリティグループ
  • アベイラビリティゾーン
  • パラメーターグループ
  • オプショングループ

opswitchでDBスナップショットタスクを実行した結果のスナップショットはAWSマネジメントコンソールの手動スナップショットから確認できます。
基本的に手動でスナップショットを取った場合と違いはありませんが、EC2バックアップの時と同様にタグにcm-Jobcreation_infoといった独自のタグが付きますのでそれで識別可能です。

はじめにリストアしたいスナップショットを選択し「アクション」から「スナップショットの復元」を選びます。

すると復元ウィザードが開始されますので必要な情報を設定していきます。

設定の内、DBインスタンス識別子は既存の名称を使えないため、バックアップ元の名称とは違う名前にする必要があります。
(バックアップ元の識別子を引継ぎたい場合はリストア前にバックアップ元の識別子をリネームしておく必要があります)

その他パラメーターについてはデータベースエンジンにより微妙にことなりますので適宜適切な値を設定します。

最後に「DBインスタンスの復元」ボタンをクリックするとRDSインスタンスのリストアが開始されます。

しばらく待ってステータスが「利用可能」になればリストアは完了です。

【補足】DBインスタンス識別子のリネーム方法

DBインスタンス識別子のリネームはマネジメントコンソールの「変更」から行えます。

「変更」ボタンをクリックすると当該インスタンスの各種設定変更ができますが、その中の「DBインスタンス識別子」欄を新しい名前に変更します。

 ↓

その他の設定は一切変更せず変更画面を進めていき、「変更のスケジュール」は「すぐに適用」として「DBインスタンスの変更」ボタンをクリックします。

するとインスタンスの状態が「名前変更」となり、インスタンスの再起動を経て新しい識別子で動作します。

リネーム後の識別子でステータスが「利用可能」になれば完了です。

最後に

以上となります。
前回同様こちらも既知の手順ではありますがopswitchを使った運用の手順としてまとめてみました。

既にopswitchをお使いの方やこれからopswitchを使ってみようかと検討されているお客様の役に立てば幸いです。