Azure Backup for PostgreSQL Flexible Server and Elastic Cluster v2(プレビュー版)は、既存のv1ソリューションの主要な制限に対応するための強化されたバックアップ機能を提供し、より幅広いバックアップニーズをサポートします。 V2はマネージドディスクスナップショットに基づく物理バックアップを採用し、v1で使われていた論理 pg_dump バックアップ方式に代わります。
なぜAzure PostgreSQLのフレキシブルサーバーとエラスティッククラスターのヴォールトバックアップ(v2)を使うのか
v2バックアップソリューションは、Azure PostgreSQLのFlexible ServerやElastic Clusterワークロードの保護と復旧において、より柔軟性を提供します。 これは、v1で使われていた論理的バックアップ方式の代わりに、基盤となる管理ディスクのインクリメンタルスナップショットを使用し、サーバーサイズ、バックアップ頻度、復旧オプションに関する制限に対応しています。
以下の表は、v1とv2バックアップで利用可能な機能を比較したものです。
| 能力 | v1(一般公開) | v2(プレビュー) |
|---|---|---|
| バックアップ技術 | 論理バックアップ(pg_dump) |
マネージドディスクスナップショットからの物理的バックアップ |
| 保護されたデータソース | フレキシブル サーバー | フレキシブルサーバーとエラスティッククラスター |
| 最大サイズ | 1 TB (テラバイト) | プレミアムSSD v1で32TB;プレミアムSSD v2で64TB |
| バックアップ頻度 | 週に1回のバックアップ | 日次および週次スケジュール(1日RPO) |
| バックアップの種類 | 完全なバックアップのみ | 最初のバックアップは満杯です。その後のバックアップはインスタントです |
| Restore | ファイルをストレージコンテナに復元し、ネイティブツールでインポートします | サーバーとして直接ターゲットの柔軟なサーバーやエラスティッククラスタに復元 |
| 最大リテンション | 最長10年 | 最長10年 |
Azure PostgreSQL flexible server および elastic cluster vaulted backup (v2) の主な機能
この機能には以下の主要な機能が含まれます:
ヴォールトされた孤立した長期バックアップ: テナント内でスナップショットを取得し、バックアップヴォルトにストリーミングします。 この機能により、バックアップデータを元のサブスクリプションやアカウントから分離できます。 ボールトはAzureロールベースのアクセス制御(RBAC)、ソフト削除、マルチユーザー認証(有効時)でデータを保護します。
WORM不変バックアップ: バックアップボールト上で 不可変性(WORM) を有効にし、保持期間終了前にユーザー(ヴォールト管理者を含む)が回復ポイントを変更、上書き、削除するのを防ぎます。 この保護はランサムウェアや誤って・悪意のある削除からバックアップを守り、WORM準拠要件をサポートします。
柔軟なバックアップポリシー:保護設定後の日次または週次スケジュールバックアップとオンデマンドバックアップをサポートします。 毎日、週ごと、月ごと、年間の回復期間を7 日から10年まで、独立した保持期間を設定することができます。
増分データ移動: 最初のバックアップ時にディスク全体データを転送し、その後のバックアップでは変更されたデータブロックのみを転送するため、数テラバイトサーバーでのバックアップ効率を最大化します。 前のスナップショットが利用できない場合、Azure Backupはユーザーの介入なしに自動的に初期のレプリケーションを再開始します。
サーバーとして復元: 復元ポイントを事前に作成された目標のPostgreSQLフレキシブルサーバーまたはエラスティッククラスタに直接復元します。 復元には中間ストレージアカウントや手動
pg_restore操作は必要ありません。集中型バックアップ管理:Azureのレジリエンシーを通じて、バックアップ・復元ジョブ、保護されたアイテム、アラート、レポート、その他のAzure Backupで保護されたワークロードを閲覧・管理できる集中型体験を提供します。
Azure PostgreSQL フレキシブル サーバーおよび Elastic Cluster の Vaulted Backup (v2) におけるバックアップ フロー
Azure PostgreSQLのフレキシブルサーバーおよびエラスティッククラスターのヴォールトドバックアップ(v2)のバックアップフローは以下の通りです:
- バックアップボールトの管理IDに、ソースの柔軟なサーバーやエラスティッククラスタで必要な権限を付与します。 Azureポータルでは、設定時に不足している役割をインラインで割り当てることができます。
- スケジュールと保持ルールを定義するバックアップポリシーを設定し、保護するデータソースを選択します。
- 各スケジュールされた実行時に、Azure BackupはPostgreSQLリソースプロバイダーにサーバーのディスクのマネージドディスクスナップショットを作成するよう求め、スナップショットが完全にハイルテリングされるのを待ちます。
- Azure Backupは現在のスナップショットと前のスナップショットに時間制限のあるアクセス権を取得し、その差を計算して差額のみをバックアップボールトに移します。 最初のバックアップには以前のスナップショットがないため、全内容が転送されます。
- Azure Backupはスナップショットデータがボールトにコピーされるとバックアップジョブを成功とマークします。 その後、リカバリーポイントはポリシー内のリテンションルールに従って保持および剪定されます。
Azure Database for PostgreSQL のフレキシブル サーバーおよびエラスティック クラスターの Vaulted Backup (v2) のフローを復元する
Azure Database for PostgreSQL flexible serverまたはelastic cluster vaulted backup(v2)の復元フローは以下の通りです:
- バックアップを復元する必要があるAzure Database for PostgreSQLの柔軟なサーバーやエラスティッククラスタをターゲットに作成します。 Azure Backupは既存のターゲットにディスク内容を復元しますが、ターゲットの場所を自動的に作成するわけではありません。
- バックアップ金庫でリカバリーポイントを選び、ターゲットを選びます。 Azure Backupは復元操作をトリガーする前に、復元ポイント(PostgreSQLのメジャーバージョン、ディスクサイズ、ディスクタイプ、SKU階層、ネットワーク構成を含む)に対してターゲットを検証します。
- Azure Backupはターゲットサーバーのディスクにリカバリーポイントの内容を書き込みます。
- PostgreSQLリソースプロバイダーは復元されたサーバーを起動し、復元されたサーバーはトランザクション的に整合した状態でオンラインになります。
復元は完全なディスクイメージを書き込むため、復元時間は復元ポイントのサイズに応じてスケールします。 数テラバイトのサーバーの場合は、数分ではなく数時間から数日単位でリカバリータイムを目標に設定しましょう。
PostgreSQL サーバーでの Azure Backup 認証
Azure BackupサービスはPostgreSQLリソースプロバイダーを通じて、バックアップボールトのマネージデンティティを利用してソースサーバーに接続します。 ボールトのアイデンティティはバックアップのためにソースサーバーの権限と復元のためのターゲットサーバーの権限を必要とします。 保護設定やAzureポータルから復元をトリガーすると、Azure Backupが必要な権限を検証し、不足している役割をインラインで割り当てる権限を提供します。 サーバーに書き込み権限がない場合は、ロール割り当てテンプレートをダウンロードしてデータベース管理者に実行してもらうことができます。
また、ユーザー割り当ての管理IDを使ってデータソースやバックアップボールトの権限を付与することもできます。
Azure Backupは管理型アイデンティティを使ってPostgreSQLサーバーと認証し、以下の権限を必要とします:
| IDの種類 | Description |
|---|---|
| バックアップ コンテナーのマネージド ID | バックアップボールトの管理IDにバックアップ用のソースサーバーと復元用のターゲットサーバーに必要な権限を付与します。 バックアップや復元を設定すると、Azure Backupが必要な権限を検証し、欠けている役割を割り当てることができます。 |
| ユーザー指定のマネージド ID | ユーザー割り当ての管理IDを使って、データソースとバックアップボールトに必要な権限を付与します。 |
カスタマー マネージド キーのサポート
Azure Backupは顧客管理キー(CMK)で暗号化されたサーバーをサポートしています。 Azure Backupは復号化されたスナップショットデータを読み取り、プラットフォーム管理キーかバックアップボールト上で設定したCMKで静止状態で暗号化した状態で保管します。 復元時には、データはターゲットサーバーのディスクに書き込まれ、そのサーバーのキーでレスト時に再暗号化されます。 独自のキーでエンドツーエンドでデータを保護したい場合は、ソースサーバー、ターゲットサーバー、バックアップボールトでCMKを設定しましょう。
v1エクスペリエンスからv2エクスペリエンスへの移行
既存のv1保護アイテムをv2に移しても、同じバックアップポリシーとバックアップボールトを使い続けることができます。 保護されたアイテムは変更されず、既存のv1リカバリーポイントも引き続き利用可能です。
Important
v2への移行は一方通行です。 v1に戻るには、保護を停止しバックアップインスタンスを削除し、その後v1で再度バックアップを設定しなければなりません。
保護対象品をv2に移行する前に、以下の前提条件を満たしていることを確認してください。
- PostgreSQLバージョン:サーバーがPostgreSQL 14以前で動作している場合は、 PostgreSQL 15以降にアップグレードしてください。
- コンピュートティア:サーバーがBurstable計算層を使用している場合は、 汎用またはメモリ最適化にスケーリングしてください。
サーバーがこれらの前提条件を満たさなければ、ユーザーエラーで移動が失敗します。
保護アイテムをv2に移動しても、既存のv1リカバリーポイントは引き続き利用可能です。 復元方法は、復元ポイントを作成するために使用されたバックアップバージョンによって異なります:
- v1で作成されたリカバリーポイントについては 、Restore as Filesを使ってください。
- v2で作成されたリカバリーポイントには、Restore as Server を使用してください。
各リカバリーポイントに示されているバックアップタイプを使って、それがv1かv2かを識別できます。
既存のv1保護アイテムをv2(プレビュー)に移行する方法を学びましょう。
Azure PostgreSQL フレキシブル サーバーおよびエラスティック クラスターの Vaulted Backup (v2) の価格を確認する
Azure PostgreSQLのフレキシブルサーバーおよびエラスティッククラスターのvaulted backup(v2)は以下の料金を課します:
- 保護インスタンス料金:データソースのサイズに基づき、ユニット単位で保護されたインスタンスごとに課されます。
- バックアップストレージ料金:バックアップ保管庫に設定された冗長性に基づいて、保管庫に保存されたデータ総数に対して課金されます。
料金の詳細や請求内容については、 価格ページをご覧ください。
v2は大規模サーバーのデイリーバックアップをサポートするため、保存設定が主にストレージコストを決定します。 毎日の回復ポイントは数ヶ月保持でき、週次、月次、年次の回復ポイントで長期保持が可能です。