ドロップした Azure Database for PostgreSQL サーバーを復元する

適用対象: Azure Database for PostgreSQL - 単一サーバー

重要

Azure Database for PostgreSQL - シングル サーバーは廃止パスにあります。 Azure Database for PostgreSQL - フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for PostgreSQL - フレキシブル サーバーへの移行の詳細については、Azure Database for PostgreSQL 単一サーバーの現状に関するページをご覧ください。

サーバーが削除されると、データベース サーバーのバックアップをサービスで最大 5 日間保持できます。 データベースのバックアップは、元々サーバーをホストしている Azure サブスクリプションからのみアクセスおよび復元できます。 以下の推奨手順に従って、サーバーの削除時から 5 日以内に削除された PostgreSQL サーバーリソースを復旧できます。 推奨される手順は、サーバーのバックアップがまだ使用可能であり、システムから削除されていない場合にのみ機能します。

前提条件

ドロップした Azure Database for PostgreSQL サーバーを復元するには、次のことを行う必要があります。

  • 元のサーバーをホストしている Azure サブスクリプションの名前
  • サーバーが作成された場所

復元の手順

  1. Azure ポータルにアクセスします。 Azure Monitor サービスを選択し、 [アクティビティ ログ] を選択します。

  2. [アクティビティ ログ] で、次のように [フィルターの追加] を選択し、次のフィルターを設定します。

    • サブスクリプション = 削除されたサーバーをホストしているサブスクリプション
    • リソースの種類 = Azure Database for PostgreSQL サーバー (Microsoft.DBforPostgreSQL/servers)
    • 操作 = [Delete PostgreSQL Server](PostgreSQL Server の削除) (Microsoft.DBforPostgreSQL/servers/delete)

    PostgreSQL サーバーの削除操作のためにフィルター処理されたアクティビティ ログ

  3. PostgreSQL サーバーの削除イベントを選択し、 [JSON] タブを選択します。JSON 出力の resourceId 属性と submissionTimestamp 属性をコピーします。 resourceId の形式は次のとおりです: /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/deletedserver

  4. PostgreSQL の [Create Server REST API](サーバー REST API の作成) ページを参照し、緑色で強調表示されている [試してみる] タブを選択します。 Azure のアカウントを使用してサインインします。

  5. 前の手順 3 でキャプチャした resourceId 属性の JSON 値に基づいて、resourceGroupNameserverName (削除されたサーバー名)、subscriptionId の各プロパティを指定します。 次の図に示すように、api-version プロパティはあらかじめ設定されており、そのまま残すことができます。

    REST API を使用したサーバーの作成

  6. 要求本文セクションで下にスクロールし、"Dropped server Location" (CentralUS、EastUS など)、"submissionTimestamp"、"resourceId" を置き換えて次のように貼り付けます。 "restorePointInTime" については、コマンドがエラーにならないように、"submissionTimestamp" の値から 15 分だけ引いた値を指定します。

    {
      "location": "Dropped Server Location",  
      "properties": 
      {
        "restorePointInTime": "submissionTimestamp - 15 minutes",
        "createMode": "PointInTimeRestore",
        "sourceServerId": "resourceId"
      }
    }
    

    たとえば、現在の時刻が 2020-11-02T23:59:59.0000000Z の場合は、過去の復元ポイントの 15 分以上前の時刻の 2020-11-02T23:44:59.0000000Z を指定することをお勧めします。 下の例を参照して、復元の要件に合わせて 3 つのパラメーター (location、restorePointInTime、sourceServerId) を調整していることを確認します。

    {
      "location": "EastUS",  
      "properties": 
      {
        "restorePointInTime": "2020-11-02T23:44:59.0000000Z",
        "createMode": "PointInTimeRestore",
        "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
      }
    }
    

    重要

    サーバーがドロップされてから 5 日間の時間制限があります。 5 日が経過すると、バックアップ ファイルが見つからないため、エラーが発生します。

  7. 応答コード 201 または 202 が表示された場合は、復元要求が正常に送信されています。

    サーバーの作成には、元のサーバーでプロビジョニングされたデータベースのサイズとコンピューティング リソースによって時間がかかることがあります。 復元の状態は、次をフィルター処理することによって、アクティビティ ログから監視できます。

    • サブスクリプション = 自分のサブスクリプション
    • リソースの種類 = Azure Database for PostgreSQL サーバー (Microsoft.DBforPostgreSQL/servers)
    • 操作 = PostgreSQL Server 作成の更新

次のステップ

  • 5 日以内にサーバーを復元しようとしても、前述の手順に正確に従った後もエラーが発生する場合は、サポート インシデントを開いて支援を求めてください。 削除されたサーバーを 5 日後に復元しようとすると、バックアップファイルが見つからないため、エラーが発生します。 このシナリオでは、サポート チケットを開かないでください。 バックアップがシステムから削除された場合、サポート チームはサポートを提供できません。
  • サーバーが誤って削除されないように、リソース ロックを使用することを強くお勧めします。