障害状況に備えて、DBインスタンスのデータベースを復旧できるように事前に準備できます。必要なときにコンソールでバックアップを実行したり、定期的にバックアップが実行されるように設定できます。バックアップが実行されている間は、当該DBインスタンスのストレージの性能低下が発生する可能性があります。サービスに影響を与えないように、サービスの負荷が少ない時間にバックアップすることを推奨します。
RDS for PostgreSQLではpg_basebackupツールを利用してデータベースをバックアップします。外部PostgreSQLのバックアップに復元したり、RDS for PostgreSQLのバックアップに復元するためには、RDS for PostgreSQLで使うpg_basebackupと同じバージョンを使う必要があります。DBエンジンのバージョンに基づくpg_basebackupのバージョンは次のとおりです。
PostgreSQLバージョン | pg_basebackupバージョン |
---|---|
14.6 | 14.6 |
バックアップ時に適用される設定項目は下記の通りで、自動バックアップと手動バックアップの両方に適用されます。
特定の時点のデータベースを永続的に保存するには、コンソールで手動バックアップを行います。手動バックアップは、自動バックアップと違って、明示的にバックアップを削除しない限り、DBインスタンスが削除される時に一緒に削除されません。 コンソールで手動バックアップを実行するには
❶バックアップするDBインスタンスを選択した後、バックアップをクリックすると、バックアップ作成 ポップアップウィンドウが表示されます。 - DBインスタンスを選択せずにバックアップをクリックすると、バックアップ作成ポップアップウィンドウ内のドロップダウンメニューからDBインスタンスを選択できます。 ❷バックアップの名前を入力します。以下のような制約事項があります。
またはバックアップタブで
❶ + バックアップ作成をクリックすると、バックアップ作成ポップアップウィンドウが表示されます。 ❷バックアップを実行するDBインスタンスを選択します。 ❸バックアップの名前を入力した後、作成をクリックすると、バックアップの作成をリクエストできます。
手動でバックアップを実行する場合以外にも、復元作業のために必要な場合、または自動バックアップスケジュールの設定により、自動バックアップが実行されることがあります。DBインスタンスのバックアップ保管期間を1日以上に設定すると、自動バックアップが有効になり、指定された時間にバックアップが実行されます。自動バックアップはDBインスタンスとライフサイクルが同じです。DBインスタンスが削除されると、保管された自動バックアップはすべて削除されます。自動バックアップでサポートする設定項目は次の通りです。
バックアップ保管期間
バックアップ再試行回数
バックアップ実行時間
自動バックアップの名前は{DBインスタンスの名前}_yyyy-MM-dd-HH-mm
の形で付与されます。
[注意] 前回のバックアップが終了していないなどの状況では、バックアップが実行されない場合があります。
すべてのバックアップファイルは、内部バックアップストレージにアップロードして保存します。手動バックアップの場合、別途削除するまで永続的に保存され、バックアップ容量に応じてバックアップストレージの課金が発生します。自動バックアップの場合、設定した保管期間だけ保存され、自動バックアップファイルの全体サイズのうち、DBインスタンスのストレージサイズを超えた容量に対して課金されます。バックアップファイルが保存されている内部バックアップストレージに直接アクセスすることはできません。
バックアップ後にバックアップファイルをユーザーのオブジェクトストレージにエクスポートできます。
❶バックアップするDBインスタンスを選択後、ドロップダウンメニューでバックアップ後オブジェクトストレージにバックアップファイルをエクスポートをクリックすると、設定のポップアップ画面が表示されます。 ❷バックアップが保存されるオブジェクトストレージのテナントIDを入力します。テナントIDはAPIエンドポイント設定で確認できます。 ❸バックアップが保存されるオブジェクトストレージのNHN CloudアカウントまたはIAMアカウントを入力します。 ❹バックアップが保存されるオブジェクトストレージのAPIパスワードを入力します。 ❺バックアップが保存されるオブジェクトストレージのコンテナを入力します。 ❻コンテナに保存されるバックアップのパスを入力します。フォルダ名は最大255バイト、フルパスは最大1024バイトです。特定の形式(.または..)は使用できず、特殊文字(' " < > ;)や空白は入力できません。
内部バックアップストレージに保存されたバックアップファイルをユーザーオブジェクトストレージにエクスポートできます。
❶バックアップを実行した原本のDBインスタンスの詳細タブでエクスポートするバックアップファイルを選択し、オブジェクトストレージにバックアップをエクスポートをクリックすると、バックアップをエクスポートするためのポップアップ画面が表示されます。
❷またはバックアップタブでエクスポートするバックアップファイルを選択し、オブジェクトストレージにバックアップをエクスポートをクリックします。
[参考] 手動バックアップは、バックアップを実行した原本のDBインスタンスが削除された場合、バックアップをエクスポートできません。
バックアップを利用して希望の時点にデータを復元できます。復元時は常に新しいDBインスタンスが作成され、既存のDBインスタンスに復元することはできません。バックアップを実行した元のDBインスタンスと同じDBエンジンのバージョンにのみ復元できます。バックアップが作成された時点に復元するバックアップ復元、希望する特定の時点に復元する時点復元をサポートします。
[注意] 復元するDBインスタンスのデータストレージサイズがバックアップを実行した元のDBインスタンスのデータストレージサイズより小さい場合や、元のDBインスタンスのパラメータグループと異なるパラメータグループを使用する場合、復元に失敗する可能性があります。
バックアップファイルだけで復元するため、バックアップを実行した元のDBインスタンスが必要ありません。コンソールでバックアップを復元するには
❶DBインスタンスの詳細タブで復元するバックアップファイルを選択した後、バックアップ復元をクリックすると、DBインスタンスの復元画面に移動します。
または
❶バックアップタブで復元するバックアップファイルを選択した後、バックアップ復元をクリックします。
時点復元を利用して、希望する特定の時点またはWALログの特定のLSNに復元できます。時点復元をするためには、バックアップファイルとバックアップを実行した時点から復元を希望する時点までのWALログが必要です。WALログは、バックアップが行われる元のDBインスタンスのストレージに保存されます。WALログの保管期間が短い場合、ストレージ容量をより多く使用できますが、希望する時点への復元が難しい場合があります。下記のような場合、時点復元に必要なWALログがないため、希望の時点に復元できない場合があります。
Webコンソールで時点復元を行うには
❶時点復元するDBインスタンスを選択した後、時点復元をクリックすると、時点復元を設定できるページに移動します。
Timestampを使用した復元の場合は、選択した時点と最も近いバックアップファイルを基準に復元を行った後、希望する時点までのWALログを適用します。
❶復元方法を選択します。
❷復元時刻を選択します。最も最近の時点に復元するか、希望する特定の時点を直接入力できます。
RDS for PostgreSQLからオブジェクトストレージにエクスポートしたバックアップファイルを利用してDBインスタンスを作成できます。
(1) バックアップファイルエクスポート項目を参考にして、RDS for PostgreSQLのバックアップをオブジェクトストレージにエクスポートします。
(2)復元するプロジェクトのコンソールに接続して、DBインスタンスタブでオブジェクトストレージにあるバックアップで復元ボタンをクリックします。
❶バックアップが保存されたオブジェクトストレージのテナントIDを入力します。テナントIDはAPIエンドポイント設定で確認できます。 ❷バックアップが保存されたオブジェクトストレージのNHN CloudアカウントまたはIAMアカウントを入力します。 ❸バックアップが保存されたオブジェクトストレージのAPIパスワードを入力します。 ❹バックアップが保存されたオブジェクトストレージのコンテナを入力します。 ❺コンテナに保存されるバックアップのパスを入力します。フォルダ名は最大255バイト、フルパスは最大1024バイトです。特定の形式(.または..)は使用できず、特殊文字(' " < > ;)や空白は入力できません。 ❻ DBインスタンス作成項目を参照して残りの設定を入力し、オブジェクトストレージにあるバックアップで復元ボタンをクリックします。