API Management の論理的な削除 (プレビュー)

適用対象: すべての API Management レベル

API Management の論理的な削除を使用すると、最近削除された API Management インスタンスを回復および復元できます。 この機能により、ご利用の API Management インスタンスが誤って削除されるのを防ぐことができます。

現在、API Management インスタンスに対して論理的な削除が行われ保持期間中は回復可能となるか、それとも完全な削除が行われるかは、インスタンスを削除する方法によって決まります。

  • Azure portal または REST API のバージョン 2020-06-01-preview 以降を使用して API Management インスタンスを削除すると、論理的な削除が行われます。
  • 2020-06-01-preview よりも前の REST API バージョンを使用して API Management インスタンスを削除すると、完全な削除が行われます。
  • Azure PowerShell または Azure CLI で API Management コマンドを使用して API Management インスタンスを削除すると、論理的な削除が行われます。

インターフェイスのサポート

論理的に削除されたインスタンスに対する回復やその他の操作を行うには、REST API のバージョン 2020-06-01-preview 以降、あるいは Azure SDK for .NET、Go、または Python を使用します。

ヒント

API Management に固有の追加情報については、 「Azure REST API Reference」で、 Azure REST API と API Management REST を呼び出すためのヒントとツールを参照してください。

Operation 説明 API Management の名前空間 最小 API バージョン
Create or Update API Management サービスを作成または更新します。 API Management サービス Any
Create or Update (restore プロパティを true に設定) API Management サービスが以前に論理的に削除されている場合に、それを回復します。 restore が指定されていて true に設定されている場合、その他のプロパティはすべて無視されます。 API Management サービス 2020-06-01-preview
削除 既存の API Management サービスを削除します。 API Management サービス 2020-06-01-preview
Get By Name 論理的に削除された API Management サービスを、名前を指定して取得します。 削除されたサービス 2020-06-01-preview
List By Subscription 指定されたサブスクリプションについて削除の取り消しが可能な、論理的に削除されたサービスを一覧表示します。 削除されたサービス 2020-06-01-preview
消去 API Management サービスを消去します (削除を取り消すオプションを使用せずに完全に削除します)。 削除されたサービス 2020-06-01-preview

論理的な削除の動作

API Management インスタンスを作成する場合は、任意の API バージョンを使用できます。 Azure portal、Azure REST API、または API バージョン 2020-06-01-preview 以降を使用した別の Azure ツールによって API Management インスタンスを削除した場合は、自動的に論理的な削除が行われます。

API Management インスタンスを論理的に削除すると、サービスは削除された状態になり、通常の API 管理操作からアクセスできなくなります。

論理的に削除された状態の場合:

  • API Management インスタンスに対して行うことができるのは、一覧表示回復消去 (完全削除) だけです。
  • 事前に定義された保持期間 (48 時間) が経過すると、API Management インスタンスに対応する基になるデータの完全な削除が Azure によってスケジュールされます。
  • API Management インスタンスの名前を再利用することはできません。

API Management インスタンスは、48 時間以内に回復または削除されない場合、自動的に完全に削除されます。

削除された API Management インスタンスを一覧表示する

削除されたサービスの Get By Name または List By Subscription を使用して、論理的に削除された API Management インスタンスを復元 (削除を取り消し) できることを確認できます。

論理的に削除されたインスタンスを名前を指定して取得する

API Management の Get By Name 操作を使用して、{subscriptionId}{location}{serviceName} を Azure サブスクリプション、リソースの場所名、および API Management インスタンス名に置き換えます。

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}?api-version=2021-08-01

削除の取り消しが可能な場合、Azure では API Management インスタンスの deletionDatescheduledPurgeDate を示すレコードを返します。次に例を示します。

{
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ApiManagement/locations/southcentralus/deletedservices/apimtest",
    "name": "apimtest",
    "type": "Microsoft.ApiManagement/deletedservices",
    "location": "South Central US",
    "properties": {
        "serviceId": "/subscriptions/########-####-####-####-############/resourceGroups/apimtestgroup/providers/Microsoft.ApiManagement/service/apimtest",
        "scheduledPurgeDate": "2021-11-26T19:40:26.3596893Z",
        "deletionDate": "2021-11-24T19:40:50.1013572Z"
    }
}

特定のサブスクリプションについて論理的に削除されたすべてのインスタンスを一覧表示する

API Management の List By Subscription 操作を使用して、{subscriptionId} をサブスクリプション ID に置き換えます。

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/deletedservices?api-version=2021-08-01

これにより、指定されたサブスクリプションで削除の取り消しが可能な、論理的に削除されたすべてのサービスの一覧が返され、それぞれ deletionDatescheduledPurgeDate が表示されます。

論理的に削除されたインスタンスを回復する

API Management の Create Or Update 操作を使用して、{subscriptionId}{resourceGroup}{apimServiceName} を Azure サブスクリプション、リソース グループ名、および API Management 名に置き換えます。

PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01

. . 。 要求本文で restore プロパティを true に設定します。 (このフラグが指定されていて true に設定されている場合、その他のプロパティはすべて無視されます。)次に例を示します。

{
  "properties": {
    "publisherEmail": "help@contoso.com",
    "publisherName": "Contoso",
    "restore": true
  },
  "sku": {
    "name": "Developer",
    "capacity": 1
  },
  "location": "South Central US"
}

論理的に削除されたインスタンスを消去する

API Management の Purge 操作を使用して、{subscriptionId}{location}{serviceName} を Azure サブスクリプション、リソースの場所、API Management 名に置き換えます。

Note

論理的に削除されたインスタンスを消去するには、サブスクリプション スコープで、API Management インスタンスへの共同作成者アクセス権に加えて、Microsoft.ApiManagement/locations/deletedservices/delete、Microsoft.ApiManagement/deletedservices/read の RBAC アクセス許可が必要です。

DELETE https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}?api-version=2021-08-01

これにより、API Management インスタンスが Azure から完全に削除されます。

削除後に API Management インスタンス名を再利用する

次の場合、新しいデプロイでは、API Management インスタンスの名前を再利用できます

  • インスタンスが Azure から完全に削除 (消去) された後。

  • 元のインスタンスと同じサブスクリプション内である。

次の場合、新しいデプロイでは、API Management インスタンスの名前を再利用できません

  • インスタンスが論理的に削除されている。

  • 元のインスタンスのデプロイに使用されたもの以外のサブスクリプションである (元のインスタンスが Azure から完全に削除 (消去) された後でも)。 この制限は、使用される新しいサブスクリプションが、同じ Microsoft Entra テナントにあるか、別のものにあるかに関係なく適用されます。 この制限は、サブスクリプションの種類に応じて、削除後、数日以上有効です。

    この制限は、未解決の DNS エントリによるサブドメインの引き継ぎの脅威を防ぐために、Azure が予約期間にわたってサービス ホスト名を顧客のテナントに予約するためです。 詳細については、「未解決の DNS エントリを防ぎ、サブドメインの乗っ取りを回避する」を参照してください。 Microsoft Entra テナント内のサブスクリプションのすべての未解決の DNS エントリを表示するには、「未解決の DNS エントリを識別する」を参照してください。

次のステップ

長期的な API Management のバックアップと回復のオプションについて説明します。