次の方法で共有


Azure カスタム リソース プロバイダーの概要

Important

カスタム リソース プロバイダーは現在パブリック プレビュー段階です。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。

2026 年に、Azure Resource Manager はカスタム リソース プロバイダー (CuRP) サービスを廃止する予定です。

この機能は 2026 年 10 月 31 日までに廃止されます。 この廃止の一環として、2026 年 2 月 24 日に絶叫テストを実行します。 2026 年 7 月 31 日に、カスタム リソースとリソース プロバイダーに対する作成、更新、パッチ、アクションがブロックされます。 カスタム リソースとリソース プロバイダーの読み取りと削除のみが可能です。

この廃止は、お客様とチームに不便を及める可能性があることを理解しています。 既存のワークフローをサポートするために使用できる潜在的な CuRP の代替手段を次に示します。

CuRP シナリオの場合:

  • 永続的なリソース管理を必要とせずにエンドポイントをトリガーする必要がある場合にのみ、 デプロイ スクリプトを検討してください。
  • 永続的なリソース管理を必要とせずにエンドポイントをトリガーするだけで、Bicep を使用する場合は、 Bicep 拡張機能を検討してください。
  • ソリューションに対して複数の異なるエンドポイントまたはサービスをトリガーする必要があります。 Azure Functions を検討してください。

ご質問がある場合は、Microsoft アカウント マネージャーに、名前、会社名、電子メールの連絡先、サブスクリプション ID を使用して curpdeprecation@microsoft.com を電子メールで送信するよう依頼してください。

Azure カスタム リソース プロバイダーは、Azure の拡張性プラットフォームです。 これにより、既定の Azure エクスペリエンスを強化するために使用できるカスタム API を定義できます。 このドキュメントでは、次の内容について説明します。

  • Azure カスタム リソース プロバイダーをビルドしてデプロイする方法。
  • Azure カスタム リソース プロバイダーを使用して既存のワークフローを拡張する方法。
  • 使用を開始するガイドとコード サンプルの場所。

Azure Resource Manager、カスタム リソース プロバイダー、およびリソース間の関係を示す Azure カスタム リソース プロバイダーの図。

カスタム リソース プロバイダーができること

Azure カスタム リソース プロバイダーで実現できる機能の例を次に示します。

  • Azure Resource Manager REST API を拡張して、内部サービスと外部サービスを含めます。
  • 既存の Azure ワークフローに基づいてカスタム シナリオを有効にします。
  • Azure Resource Manager テンプレートの制御と効果をカスタマイズします。

カスタム リソース プロバイダーとは

Azure カスタム リソース プロバイダーは、Azure とエンドポイントの間にコントラクトを作成することによって作成されます。 このコントラクトでは、新しいリソース である Microsoft.CustomProviders/resourceProviders を使用して、新しいリソースとアクションの一覧を定義します。 その後、カスタム リソース プロバイダーは、これらの新しい API を Azure で公開します。 Azure カスタム リソース プロバイダーは、カスタム リソース プロバイダー、エンドポイント、カスタム リソース 3 つの部分で構成されます。

カスタム リソース プロバイダーを構築する方法

カスタム リソース プロバイダーは、Azure とエンドポイントの間のコントラクトの一覧です。 これらのコントラクトでは、Azure がエンドポイントと対話する方法について説明します。 リソース プロバイダーはプロキシのように動作し、指定されたエンドポイントとの間で要求と応答を転送 します。 リソース プロバイダーは、 resourceTypesアクションという 2 種類のコントラクトを指定できます。 これらは、エンドポイント定義によって有効になります。 エンドポイント定義は、 nameroutingType、endpoint の 3 つのフィールドで構成 されます

サンプル エンドポイント:

{
  "name": "{endpointDefinitionName}",
  "routingType": "Proxy",
  "endpoint": "https://{endpointURL}/"
}
プロパティ 必須 Description
名前 はい エンドポイント定義の名前。 Azure では、API を介して '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/ の下でこの名前を公開します。
resourceProviders/{resourceProviderName}/{endpointDefinitionName}'
routingType いいえ エンドポイントを含むコントラクトの種類を決定 します。 指定しない場合、既定値は "Proxy" になります。
エンドポイント はい 要求をルーティングするエンドポイント。 これにより、応答と、要求の副作用が処理されます。

カスタム リソースのビルド

ResourceTypes では、 Azure に追加される新しいカスタム リソースについて説明します。 これらは、基本的な RESTful CRUD メソッドを公開します。 カスタム リソースの作成の詳細

resourceTypes を使用したカスタム リソース プロバイダーのサンプル:

{
  "properties": {
    "resourceTypes": [
      {
        "name": "myCustomResources",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

上記のサンプル用に Azure に追加された API:

HTTPメソッド サンプル URI Description
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
新しいリソースを作成するための Azure REST API 呼び出し。
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
既存のリソースを削除するための Azure REST API 呼び出し。
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
既存のリソースを取得するための Azure REST API 呼び出し。
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources?api-version=2018-09-01-preview
既存のリソースの一覧を取得するための Azure REST API 呼び出し。

カスタム アクションの作成

アクション は、Azure に追加される新しいアクションを記述します。 これらは、リソース プロバイダーの上に公開することも、 resourceType の下に入れ子にすることもできます。 カスタム アクションの作成の詳細

アクションを含むカスタム リソース プロバイダーのサンプル:

{
  "properties": {
    "actions": [
      {
        "name": "myCustomAction",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

上記のサンプル用に Azure に追加された API:

HTTPメソッド サンプル URI Description
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomAction?api-version=2018-09-01-preview
アクションをアクティブ化するための Azure REST API 呼び出し。

ヘルプを探しています

Azure カスタム リソース プロバイダーの開発に関する質問がある場合は、 Stack Overflow で質問してみてください。 同様の質問が既に質問され、回答されている可能性があるため、投稿する前に最初に確認してください。 タグ azure-custom-providers を追加して、迅速な応答を得ます。

次のステップ

この記事では、カスタム リソース プロバイダーについて説明しました。 次の記事に進み、カスタム リソース プロバイダーを作成します。