長期保有を指定した Azure Database for PostgreSQL のバックアップ

この記事では、Azure Database for PostgreSQL サーバーをバックアップする方法について説明します。 開始する前に、サポートされている構成、機能に関する考慮事項、既知の制限事項を確認してくださ

Azure PostgreSQL データベースでバックアップを構成する

複数の Azure PostgreSQL サーバーにある複数のデータベースのバックアップを構成できます。 Azure Backup を使用して Azure PostgreSQL データベースでバックアップを構成するには、次の手順を行います。

  1. [バックアップ コンテナー] ->[+ バックアップ] に移動します。

    バックアップを追加するオプションが表示されているスクリーンショット。

    バックアップ情報を追加するオプションが表示されているスクリーンショット。

    また、バックアップ センターからこのページに移動することもできます。

  2. バックアップ スケジュールとデータ保持期間を定義するバックアップ ポリシーを、選択または作成します。

    バックアップ ポリシーを追加するオプションが表示されているスクリーンショット。

  3. バックアップする Azure PostgreSQL データベースを選択する: コンテナーと同じリージョンにある場合は、サブスクリプション全体で Azure PostgreSQL サーバーの 1 つを選択します。 矢印を展開して、サーバー内のデータベースの一覧を表示します。

    Note

    • データベース azure_maintenanceazure_sys は、バックアップする必要はありません。 また、既にバックアップ コンテナーにバックアップされているデータベースをバックアップすることはできません。
    • プライベート エンドポイント対応の Azure PostgreSQL サーバーは、ネットワーク設定で信頼された Microsoft サービスを許可することでバックアップできます。

    Azure PostgreSQL データベースを選択するオプションが表示されているスクリーンショット。

    Azure PostgreSQL サーバーを選択する方法が表示されているスクリーンショット。

  4. 選択したデータベースに接続するための資格情報を格納する Azure キー コンテナーを割り当てます。 キー コンテナーに既に関連するシークレットを作成してある必要があります。 個々の行レベルでキー コンテナーを割り当てるには、[Select a key vault and secret] (キー コンテナーとシークレットを選択) をクリックします。 また、行を複数選択してキー コンテナーを割り当て、グリッドの上部メニューの [Assign key vault](キー コンテナーの割り当て) をクリックすることもできます。

    Azure Key Vault の割り当て方法が表示されているスクリーンショット。

  5. シークレット情報を指定するには、次のいずれかのオプションを使用します。

    1. シークレット URI を入力する: このオプションは、シークレット URI が共有されている、または既知の場合に使用します。 シークレット URI を [キー コンテナー] ->[シークレット] (シークレットを選択する) ->[シークレット識別子] からコピーすることができます。

      シークレット URI の入力方法が表示されているスクリーンショット。

      ただし、このオプションを使用すると、参照しているキー コンテナーについて、Azure Backup に表示されません。 そのため、キー コンテナーに対するアクセス許可をインラインで付与することができません。 バックアップ管理者は、Postgres またはキー コンテナーの管理者、あるいはその両方と共に、バックアップ操作を成功させるために、バックアップの構成フローの外で、バックアップ コンテナーのキー コンテナーに対するアクセス権が手動で付与されているようにする必要があります。

    2. キー コンテナーを選択する: このオプションは、キー コンテナーとシークレット名がわかっている場合に使用します。 このオプションを使用すると、ユーザー (キー コンテナーに対する書き込みアクセス権を持つバックアップ管理者) は、キー コンテナーに対するアクセス許可をインラインで付与することができます。 キー コンテナーとシークレットは、事前に存在しているものを利用するか、途中で作成することもできます。 シークレットが、サーバーで "バックアップ" 権限が付与されているデータベース ユーザーの資格情報を使って更新される、ADO.net 形式の PG サーバー接続文字列であるようにします。 キー コンテナー内にシークレットを作成する方法について説明します。

      シークレット ストアを割り当てる方法が表示されているスクリーンショット。

      Azure Key Vault のシークレットの選択が表示されているスクリーンショット。

  6. シークレット情報の更新が完了すると、キー コンテナー情報が更新された後で検証が開始されます。

    Note

    • ここで、キー コンテナーからシークレットの詳細を読み取り、データベースに接続するために必要なすべてのアクセス許可があるかどうかが、バックアップ サービスによって検証されます。
    • 1 つまたは複数のアクセス許可が見つからない場合は、"ロールの割り当てが完了していません、または、ユーザーがロールを割り当てることができません" というエラー メッセージのいずれかが表示されます。

     シークレットの検証が表示されているスクリーンショット。

    • ユーザーはロールを割り当てることができません: このメッセージは、 [詳細の表示] に一覧表示されているように、不足している権限を割り当てるため、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方への書き込みアクセス権をユーザー (バックアップ管理者) が持っていない場合に表示されます。 アクション ボタンから割り当てテンプレートをダウンロードし、PostgreSQL またはキー コンテナー管理者、あるいはその両方が実行するようにします。これは、必要なリソースに対して必須のアクセス許可を割り当てるのに役立つ ARM テンプレートです。 テンプレートが正常に実行されたら、[バックアップの構成] ページで [再検証] をクリックします。

      ロールの割り当てテンプレートをダウンロードするオプションが表示されているスクリーンショット。

    • ロールの割り当てが行われていません: このメッセージは、 [詳細の表示] に一覧表示されているように、不足している権限を割り当てるため、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方への書き込みアクセス権をユーザー (バックアップ管理者) が持っている場合に表示されます。 上部のアクション メニューの [Assign missing roles](不足しているロールの割り当て) アクション ボタンを使用して、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方に対するアクセス許可をインラインで付与します。

      ロールの割り当てが完了していないというエラー メッセージが表示されているスクリーンショット。

  7. 上部のメニューで [Assign missing roles](不足しているロールの割り当て) を選択し、ロールを割り当てます。 プロセスが開始されると、KV または PG サーバー、あるいはその両方に対する不足しているアクセス許可がバックアップ コンテナーに付与されます。 アクセス許可を付与するスコープを定義できます。 アクションが完了すると、再検証が開始されます。

    不足しているロールを割り当てるオプションが表示されているスクリーンショット。

    アクセス許可のスコープの定義が表示されているスクリーンショット。

    バックアップ コンテナーからキー コンテナーのシークレットへのアクセスが表示されているスクリーンショット。

    テスト接続を開始するプロセスが表示されているスクリーンショット。

    テストを実行するためのユーザー認証情報を提供する方法が表示されているスクリーンショット。

  8. バックアップの準備ができているレコードを成功として保持して、操作を送信する最後の手順に進みます。

    バックアップの準備が正常に完了したことが表示されているスクリーンショット。

    バックアップの構成の確認ページが表示されているスクリーンショット。

  9. バックアップの構成操作を送信し、バックアップ インスタンスの進行状況を追跡します。

    バックアップ構成の送信と進行状況の追跡が表示されているスクリーンショット。

バックアップ ポリシーを作成する

バックアップ ポリシーは、バックアップの構成フローの途中で作成できます。 または、[バックアップ センター] ->[バックアップ ポリシー] ->[追加] に移動します。

  1. 新しいポリシーの名前を入力します。

    新しいポリシーの名前を入力するプロセスが表示されているスクリーンショット。

  2. バックアップ スケジュールを定義します。

    現時点では、毎週のバックアップ オプションのみを使用できます。 ただし、バックアップを複数の曜日にスケジュールすることができます。

  3. 保持の設定を定義します。

    保持規則を 1 つ以上追加できます。 各保持規則は、特定のバックアップの入力と、それらのバックアップのデータ ストアと保持期間を前提とします。

  4. バックアップを 2 つのデータ ストア (または層) のいずれかに保存するには、バックアップ データ ストア (標準層) またはアーカイブ データ ストア (プレビュー段階) を選択します。

  5. [On-expiry](期限切れ時) を選択して、バックアップ データ ストアで期限切れになったときにバックアップをアーカイブ データ ストアに移動します。

    Note

    他の保持規則が存在しない場合、既定の保持規則が適用されます。既定値は 3 か月です。

    • バックアップ データ ストアでは、保持期間の範囲は 7 日から 10 年です。
    • アーカイブ データ ストアでは、保持期間の範囲は 6 か月から 10 年です。

    [期限切れ時] を選択して、期限切れになったときにバックアップをアーカイブ データ ストアに移動することが表示されているスクリーンショット。

Note

保持規則は、事前に決められた優先順位で評価されます。 優先順位は、高い方から順に、年単位の規則、月単位の規則、週単位の規則となります。 他の規則が適用されない場合、既定の保持設定が適用されます。 たとえば、最初に成功した週単位のバックアップと、最初に成功した月単位のバックアップで、復旧ポイントが同じになる場合があります。 しかし、月単位の規則の方が週単位の規則よりも優先順位が高いため、毎月最初に成功したバックアップに対応する保持が適用されます。

キー コンテナーにシークレットを作成する

シークレットは、サーバーでバックアップ権限が付与されているデータベース ユーザーの資格情報を使って更新される ADO.net 形式の PG サーバー接続文字列です。 PG サーバーから接続文字列をコピーし、テキスト エディターで編集して、"ユーザー ID とパスワード" を更新します。

PG サーバーの接続文字列がシークレットとして表示されているスクリーンショット。

シークレット PG サーバーの接続文字列を作成するオプションが表示されているスクリーンショット。

PowerShell スクリプトを実行してデータベース ユーザーに権限を付与する

バックアップの構成中に PowerShell スクリプトが動的に生成され、データベース ユーザーが PG 管理者の資格情報と共に入力として受け入れられ、データベースでデータベース ユーザーにバックアップ関連の特権が付与されます。

PSQL ツールはコンピューター上に存在する必要があり、PATH 環境変数が PSQL ツールのパスに適切に設定されている必要があります。

環境設定アプリケーションを検索するオプションが表示されているスクリーンショット。

[システムのプロパティ] で環境を設定するオプションが表示されているスクリーンショット。

既定の環境変数が表示されているスクリーンショット。

設定が必要な環境変数が表示されているスクリーンショット。

ネットワーク接続を許可するコンピューターの IP アドレスが、Azure PostgreSQL インスタンスの接続セキュリティ設定の許可リストに載っていることを保証します。

オンデマンド バックアップを実行する

ポリシーで指定されたスケジュールにないバックアップをトリガーするには、[バックアップ インスタンス] ->[今すぐバックアップ] に移動します。 関連するバックアップ ポリシーで定義された保持規則の一覧から選択します。

関連するバックアップ ポリシーに定義された保持規則の一覧に移動するオプションが表示されているスクリーンショット。

関連するバックアップ ポリシーに定義された保持規則を選択するオプションが表示されているスクリーンショット。

バックアップ ジョブを追跡する

追跡のためにオンデマンド バックアップ操作をトリガーする場合のみ、スケジュールされたバックアップ用のジョブが Azure Backup サービスによって作成されます。 バックアップ ジョブの状態を表示するには、次の手順に従います。

  1. [バックアップ インスタンス] 画面に移動します。

    ここには、過去 7 日間の操作と状態を含むジョブのダッシュボードが表示されます。

    ジョブ ダッシュボードを示すスクリーンショット。

  2. バックアップ ジョブの状態を表示するには、[すべて表示] を選択して、このバックアップ インスタンスの進行中および過去のジョブを表示します。

    [すべて表示] オプションの選択を示すスクリーンショット。

  3. バックアップおよび復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。

    ジョブを選択して詳細を表示する画面を示すスクリーンショット。

次のステップ