Azure Database for PostgreSQL は、高可用性の PostgreSQL データベースをクラウドで実行、管理、スケールできるマネージド サービスです。 このクイックスタートでは、Azure VM で実行されている Azure Database for PostgreSQL サーバーを Azure Backup Recovery Services コンテナーにバックアップする方法を示します。 Azure Database for PostgreSQL サーバーを作成するには、チュートリアルを参照してください。
前提条件
Azure PostgreSQL データベースのバックアップを構成する前に、次を行います。
- Azure Database for PostgreSQL サーバー インスタンスをバックアップするのと同じリージョン内で、バックアップ コンテナーを特定するか、作成します。
- Azure Database for PostgreSQL サーバーの名前が、Azure Backup の名前付けガイドラインに従って付けられていることを確認します。 詳細情報
- キー コンテナー内にシークレットを作成します。
- PowerShell スクリプトを使用して、データベース ユーザーに権限を付与します。
- 関連するキー コンテナーに対するアクセス許可を付与します。
- データベースに対するデータベース ユーザーのバックアップ権限を提供します。
- PostgreSQL サーバーに対するアクセス許可を付与します。
- バックアップポリシーを作成します。
Azure Database for PostgreSQL データベースについてのサポートされるシナリオとよく寄せられる質問の詳細を確認してください。
データベースでバックアップを構成する
複数の Azure PostgreSQL サーバーにある複数のデータベースのバックアップを構成できます。 Azure Backup を使用して Azure PostgreSQL データベースでバックアップを構成するには、次の手順を行います。
[バックアップ コンテナー] ->[+ バックアップ] に移動します。
また、バックアップ センターからこのページに移動することもできます。
バックアップ スケジュールとデータ保持期間を定義するバックアップ ポリシーを、選択または作成します。
バックアップする Azure PostgreSQL データベースを選択する: コンテナーと同じリージョンにある場合は、サブスクリプション全体で Azure PostgreSQL サーバーの 1 つを選択します。 矢印を展開して、サーバー内のデータベースの一覧を表示します。
Note
データベース azure_maintenance と azure_sys は、バックアップする必要はありません。 また、既にバックアップ コンテナーにバックアップされているデータベースをバックアップすることはできません。
選択したデータベースに接続するための資格情報を格納する Azure Key Vault を割り当てます。 個々の行レベルでキー コンテナーを割り当てるには、[キー コンテナーとシークレットの選択] をクリックします。 また、複数行を選択して、グリッドの上部メニューの [キー コンテナーの割り当て] をクリックすることでも、キー オンテナーを割り当てることができます。
シークレット情報を指定するには、次のいずれかのオプションを使用します。
シークレット URI を入力する: このオプションは、シークレット URI が共有されている、または既知の場合に使用します。 シークレット URI を [キー コンテナー] ->[シークレット] (シークレットを選択する) ->[シークレット識別子] からコピーすることができます。
ただし、このオプションを使用すると、参照しているキー コンテナーについて、Azure Backup に表示されません。 そのため、キー コンテナーに対するアクセス許可をインラインで付与することができません。 バックアップ管理者は、Postgres またはキー コンテナーの管理者、あるいはその両方と共に、バックアップ操作を成功させるために、バックアップの構成フローの外で、バックアップ コンテナーのキー コンテナーに対するアクセス権が手動で付与されているようにする必要があります。
キー コンテナーを選択する: このオプションは、キー コンテナーとシークレット名がわかっている場合に使用します。 このオプションを使用すると、ユーザー (キー コンテナーに対する書き込みアクセス権を持つバックアップ管理者) は、キー コンテナーに対するアクセス許可をインラインで付与することができます。 キー コンテナーとシークレットは、事前に存在しているものを利用することも、途中で作成することもできます。 シークレットが、サーバーで バックアップ 権限が付与されているデータベース ユーザーの資格情報を使って更新される、ADO.net 形式の PG サーバー接続文字列であるようにします。 キー コンテナー内にシークレットを作成する方法について説明します。
シークレット情報の更新が完了すると、キー コンテナー情報が更新された後で検証が開始されます。
Note
- ここで、Azure Backup サービスによって、キー コンテナーからシークレットの詳細を読み取り、データベースに接続するために必要なすべてのアクセス許可() があるかどうかが検証されます。
- 1 つ以上のアクセス許可が不足していることが判明すると、"ロールの割り当てが完了していません" または "ユーザーがロールを割り当てることができません" といういずれかのエラー メッセージが表示されます。
ユーザーはロールを割り当てることができません: このメッセージは、[詳細の表示] に一覧表示されているように、不足している権限を割り当てるため、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方への書き込みアクセス権をユーザー (バックアップ管理者) が持っていない場合に表示されます。 アクション ボタンから割り当てテンプレートをダウンロードし、PostgreSQL 管理者またはキー コンテナー管理者に実行してもらいます。これは、必要なリソースについての必要なアクセス許可を割り当てるのに役立つ ARM テンプレートです。 テンプレートが正常に実行されたら、[バックアップの構成] ページで [再検証] をクリックします。
ロールの割り当てが行われていません: このメッセージは、[詳細の表示] に一覧表示されているように、不足している権限を割り当てるため、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方への書き込みアクセス権をユーザー (バックアップ管理者) が持っている場合に表示されます。 上部のアクション メニューの [不足しているロールの割り当て] アクション ボタンを使用して、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方に対するアクセス許可をインラインで付与します。
上部のメニューで [不足しているロールの割り当て] を選択し、ロールを割り当てます。 プロセスが開始されると、KV または PG サーバー、あるいはその両方に対する不足しているアクセス許可がバックアップ コンテナーに付与されます。 アクセス許可を付与するスコープを定義できます。 アクションが完了すると、再検証が開始されます。
バックアップ コンテナーにより、キー コンテナーのシークレットへのアクセスとデータベースへのテスト接続が実行され、資格情報が正しく入力されているかどうかが検証されます。 データベース ユーザーの権限は、データベース ユーザーがデータベースに対するバックアップ関連の権限を持っているかどうかも確認されます。
PostgreSQL 管理者は、既定では、データベースに対するバックアップと復元のすべての権限を持ちます。 その結果、検証は成功します。
権限の低いユーザーには、データベースに対するバックアップ/復元権限がない可能性があります。 その結果、検証は失敗します。 PowerShell スクリプトが動的に生成されます (レコード、または選択されたデータベースごとに 1 つ)。 PowerShell スクリプトを実行して、データベースのデータベース ユーザーにこれらの特権を付与します。 または、PG 管理または PSQL ツールを使用してこれらの権限を割り当てることもできます。
バックアップの準備ができているレコードを成功として保持して、操作を送信する最後の手順に進みます。
バックアップの構成操作を送信し、バックアップ インスタンスの進行状況を追跡します。
オンデマンド バックアップを実行する
オンデマンド バックアップ (ポリシーで指定されているスケジュールには含まれないもの) をトリガーするには、次の手順に従います。
バックアップ ジョブを追跡する
Azure Backup サービスは、スケジュールされたバックアップ用に、つまり、ユーザーが追跡のためにオンデマンド バックアップ操作をトリガーした場合に、ジョブを作成します。 バックアップ ジョブの状態を表示するには、次の手順に従います。
[バックアップ インスタンス] 画面に移動します。
ここには、過去 7 日間の操作と状態を含むジョブのダッシュボードが表示されます。
バックアップ ジョブの状態を表示するには、[すべて表示] を選択して、このバックアップ インスタンスの進行中および過去のジョブを表示します。
バックアップ ジョブと復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。