次の方法で共有


Azure portal を使用して Azure Database for PostgreSQL をバックアップする

この記事では、Azure portal を使用して Azure Database for PostgreSQL サーバーをバックアップする方法について説明します。 Azure PowerShellAzure CLIおよび PostgreSQL データベース用の REST API を使用してバックアップを構成することもできます。

開始する前に、 サポートされている構成、機能に関する考慮事項、既知の制限事項と、 よく寄せられる質問を確認してください

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

複数の Azure Database for PostgreSQL サーバーにまたがる複数の PostgreSQL データベースに対してバックアップを構成できます。 Azure Backup を使用してこの種のバックアップを構成するには、次の手順に従います。

  1. [バックアップ コンテナー] に移動し、コンテナーを選択して、[バックアップ] を選択します

    バックアップを追加するためのボタンを示すスクリーンショット。

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

  2. [基本] タブで、必要な情報を入力します。

    基本的なバックアップ情報を入力するためのタブを示すスクリーンショット。

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

    バックアップ ポリシーを追加するオプションを示すスクリーンショット。

  4. [データソース] タブ 、[ 追加/編集] を選択します。

    PostgreSQL データベースを追加または編集するためのボタンを示すスクリーンショット。

  5. サブスクリプションがコンテナーと同じリージョンにある場合は、[ バックアップするリソースの選択 ] ウィンドウで、サブスクリプション間で Azure Database for PostgreSQL サーバーのいずれかを選択します。 矢印を選択すると、サーバー内のデータベースの一覧が表示されます。

    Azure Database for PostgreSQL サーバーを選択するためのペインを示すスクリーンショット。

    データベース azure_maintenanceazure_sys は、バックアップする必要はありません。 さらに、バックアップ コンテナーに既にバックアップされているデータベースをバックアップすることはできません。

    ネットワーク設定で信頼できる Microsoft サービスを許可することで、プライベート エンドポイント対応の Azure Database for PostgreSQL サーバーをバックアップできます。

  6. [ キー コンテナーの割り当て ] を選択して、選択したデータベースに接続するための資格情報を格納するキー コンテナーを選択します。 キー コンテナーに既に関連するシークレットを作成してある必要があります。

    個々の行レベルでキー コンテナーを割り当てるには、[キー コンテナーとシークレットの選択] をクリックします。 複数の行を選択してから、アクション メニューで キー コンテナーを割り当て を選択することによって、キー コンテナーを割り当てることもできます。

    キーボルトを割り当てるための選択を示すスクリーンショット。

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

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

      シークレット U R I を取得する方法を示すスクリーンショット。

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

    • キー コンテナーから選択する: キー コンテナーとシークレット名がわかっている場合は、このオプションを使用します。 次に、[ キー コンテナーとシークレットの選択 ] をクリックし、詳細を入力します。

      シークレット ストアを割り当てるための選択を示すスクリーンショット。

      Azure Key Vault からのシークレットの選択を示すスクリーンショット。

      このオプションを使用すると、(キー コンテナーに対する書き込みアクセス権を持つバックアップ管理者として) キー コンテナーに対するアクセス許可をインラインで付与できます。 キー ボールトとシークレットは、事前に存在している場合も、必要に応じて作成される場合もあります。

      シークレットが Azure Database for PostgreSQL サーバーの接続文字列 ADO.NET 形式であることを確認します。 この文字列は、サーバーでバックアップ特権を持つデータベース ユーザーの資格情報で更新する必要があります。 キー コンテナーでシークレットを作成する方法の詳細について説明します

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

    Azure Backup サービスは、キー コンテナーからシークレットの詳細を読み取り、データベースに接続するために必要なすべての アクセス許可 があることを検証します。 このプロセス中に、[ バックアップの構成 ] ウィンドウで選択したデータ ソースの状態が [検証中] として表示されます。

    シークレットの進行中の検証を示すスクリーンショット。

    1 つ以上のアクセス許可がない場合、サービスには次のいずれかのエラー メッセージが表示されます。

    • ユーザーがロールを割り当てることができません:このメッセージは、(バックアップ管理者として) Azure Database for PostgreSQL サーバーまたはキー コンテナーに書き込みアクセス権がない場合に表示され、[ 詳細の表示] の一覧に示されているように、不足しているアクセス許可を割り当てます。

      アクション メニューの [ ロールの割り当てテンプレートのダウンロード] ボタンを選択して割り当てテンプレートをダウンロード し、PostgreSQL またはキー コンテナー管理者に実行してもらう。 これは、必要なリソースに必要なアクセス許可を割り当てるのに役立つ Azure Resource Manager テンプレートです。

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

      テンプレートが正常に実行されたら、[バックアップの構成] ウィンドウで [再検証] を選択します。

    • ロールの割り当てが完了していません:このメッセージは、(バックアップ管理者として) Azure Database for PostgreSQL サーバーまたはキー コンテナーに書き込みアクセス権があり、[ 詳細の表示] の一覧に示されているように、不足しているアクセス許可を割り当てるときに表示されます。 アクション メニューの [ 不足しているロールの割り当て ] ボタンを使用して、Azure Database for PostgreSQL サーバーまたはキー コンテナーに対するアクセス許可をインラインで付与します。

      ロールの割り当てが完了していないというエラーを示すスクリーンショット。

  9. アクション メニューで [ 不足しているロールの割り当て ] を選択し、ロールを割り当てます。 プロセスが開始されると、キー コンテナーまたは Azure Database for PostgreSQL サーバーに対する 不足しているアクセス許可 が Backup コンテナーに付与されます。 [スコープ] 領域で、アクセス許可を付与するスコープを定義できます。 アクションが完了すると、再有効化が開始されます。

    不足しているロールを割り当てるボタンを示すスクリーンショット。

    アクセス許可のスコープを定義するためのボックスを示すスクリーンショット。

    Backup コンテナーは、キー コンテナーからシークレットにアクセスし、データベースへのテスト接続を実行して、資格情報が正しく入力されたことを検証します。 データベース ユーザーの権限もチェックされ、 データベース ユーザーがデータベースに対するバックアップ関連のアクセス許可を持っているかどうかも確認されます。

    低い特権を持つユーザーがデータベースに対するバックアップ/復元アクセス許可を持っていない場合、検証は失敗します。 PowerShell スクリプトは、レコードまたは選択したデータベースごとに動的に生成されます。 PowerShell スクリプトを実行して、データベースのデータベース ユーザーにこれらの特権を付与します。 または、pgAdmin または PSQL ツールを使用して、これらの特権を割り当てることができます。

    キー コンテナーからシークレットにアクセスするバックアップ コンテナーを示すスクリーンショット。

    テスト接続を開始するプロセスを示すスクリーンショット。

    テスト接続を実行するためのユーザー資格情報を指定する方法を示すスクリーンショット。

  10. バックアップの準備が[成功] と表示されたら、[確認と構成] タブを選択して、操作を送信する最後の手順に進みます。

    バックアップの準備が成功したことを示すスクリーンショット。

    バックアップ構成を確認するためのタブを示すスクリーンショット。

  11. [ バックアップの構成] を選択します。 次に、[ バックアップ インスタンス ] ウィンドウで進行状況を追跡します。

    構成されたバックアップの詳細を示すスクリーンショット。

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

バックアップを構成するためのフロー中にバックアップ ポリシーを作成できます。 または、 [バックアップ センター]>[バックアップ ポリシー]>[追加] に移動します。 REST API を使用して PostgreSQL データベースのバックアップ ポリシーを作成することもできます。

  1. [ バックアップ ポリシーの作成 ] ウィンドウの [ 基本 ] タブで、新しいポリシーの名前を入力します。

    バックアップ ポリシーを作成するためのウィンドウのポリシー名のボックスを示すスクリーンショット。

  2. [ スケジュールと保持] タブで、バックアップ スケジュールを定義します。

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

  3. [ 保持ルールの追加] を選択して、保持設定を定義します。

    保持規則を 1 つ以上追加できます。 各保持ルールでは、特定のバックアップの入力と、それらのバックアップのデータストアとリテンション期間が想定されます。

  4. 2 つのデータストア (または層) のいずれかにバックアップを格納するには、 Vault-standard または Vault-archive (プレビュー) を選択します。

  5. バックアップ データストアの有効期限が切れたときにバックアップをアーカイブ データストアに移動するには、[ オン/期限切れ] を選択します。

    有効期限が切れたときにバックアップをアーカイブ データストアに移動するために選択したオプションを示すスクリーンショット。

    既定の保持ルールは、他の保持ルールがない場合に適用されます。 既定値は 3 か月です。

    バックアップ データストアでは、リテンション期間は 7 日から 10 年の範囲です。

    アーカイブ データストアでは、保持期間は 6 か月から 10 年の範囲です。

  6. [ 追加] を選択し、ポリシーの確認と作成のプロセスを完了します。

保持ルールは、所定の優先順位で評価されます。 優先順位は、高い方から順に、年単位の規則、月単位の規則、週単位の規則となります。

既定の保持設定は、他のルールが適用されない場合に適用されます。 たとえば、毎週最初に成功したバックアップと、毎月最初に成功したバックアップがそれぞれ別の復旧ポイントになる可能性があります。 ただし、月単位の規則の優先順位は週単位の規則の優先順位よりも高いため、最初に成功した月単位のバックアップに対応するデータ保持が適用されます。

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

シークレットは、 ADO.NET 形式の Azure Database for PostgreSQL サーバー接続文字列です。 サーバーのバックアップ特権を付与されたデータベース ユーザーの資格情報で更新されます。

Azure Database for PostgreSQL サーバー接続文字列をシークレットとして示すスクリーンショット。

Azure Database for PostgreSQL サーバーから接続文字列をコピーします。 テキスト エディターを使用して、ユーザー ID とパスワードを更新します。

接続文字列を含むシークレットとメモ帳ファイルを作成するためのウィンドウを示すスクリーンショット。

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

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

スクリプトを実行するには、 PSQL ツール がコンピューター上にあることを確認します。 また、 PATH 環境変数が PSQL ツールのパスに適切に設定されていることを確認します。

  1. コントロール パネル で [システム環境変数の編集] を開きます。

    システム環境変数を編集するためのコントロール パネル項目の検索を示すスクリーンショット。

  2. >で、[環境変数]を選択します

    [システム プロパティ] で環境変数を設定するためのボタンを示すスクリーンショット。

  3. 既定の環境変数が表示されます。

    既定の環境変数を示すスクリーンショット。

    [編集] ボタンを使用して、必要な変数を設定します。

    設定する必要がある環境変数を示すスクリーンショット。

ネットワーク接続を許可するには、Azure Database for PostgreSQL インスタンスの 接続セキュリティ設定 に、許可リスト内のマシンの IP アドレスが含まれていることを確認します。

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

ポリシーで指定されたスケジュールに含まれていないバックアップをトリガーするには:

  1. [バックアップ インスタンス] に移動し、[今すぐバックアップ] を選択します。

    [今すぐバックアップ] ボタンを含むバックアップ インスタンスのペインを示すスクリーンショット。

  2. 関連付けられているバックアップ ポリシーが定義した保持ルールの一覧から選択します。

    バックアップ ポリシーで定義された保持ルールを示すスクリーンショット。

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

Azure Backup サービスは、スケジュールされたバックアップのジョブを作成するか、オンデマンド バックアップ操作をトリガーして追跡する場合に作成します。 バックアップ ジョブの状態を表示するには:

  1. [バックアップ インスタンス] ウィンドウに移動します。 [ ジョブ ] ダッシュボードに、過去 7 日間の操作と状態が表示されます。

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

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

    進行中のジョブと過去のジョブを表示するためのボタンを示すスクリーンショット。

  3. バックアップ ジョブと復元ジョブとその状態の一覧を確認します。 ジョブを選択して詳細を表示します。

    選択したジョブの詳細を示すスクリーンショット。