App Service Function App をサービス カタログからワークロードにデプロイする

Azure エンクレーブは、機密性の高いデータを組織に提供するクラウド ネットワーク サービスであり、商用クラウドやエアギャップされたAzure クラウド全体にワークロードをすばやくデプロイして管理する機能を大規模に提供します。 この記事では、あなたが次のことを行います。

  • App Service Function App のサービス カタログ テンプレートをポータルから既存のワークロードにデプロイします。

Note

このサンプルデプロイはデモ目的のものであり、ネットワーク、システム、またはアプリケーションの管理に関するすべてのベスト プラクティスを表すわけではありません。

始める前の準備

前提条件

エンクレーブ リソースが Customer-Managed キー (CMK) 暗号化を使用していることを確認するために、エンクレーブにガードレール要件があります。 これには、エンクレーブ内からキーにアクセスできるようにするためのキーと ID が必要です。 共通依存関係サービス カタログ テンプレートで CMK (省略可能なKey Vault) とマネージド ID を作成する

  1. プライベート エンドポイントのサブネット: エンクレーブの作成時にサブネットを作成するか、エンクレーブの作成後に 新しいサブネットを作成 することができます。 プライベート エンドポイント サブネットには、プライベート エンドポイントが正常に機能するための サブネット委任 は必要ありません。
  • エンクレーブのサブネット管理機能を使用して、サイズ /26 を持つ 2 つのサブネットを作成します (例: 10.0.2.0/26 [10.0.2.0 - 10.0.2.63] と 10.0.2.128/26 [10.0.2.128 - 10.0.2.191])
  • 最初のサブネットは、"サブネット名" テンプレート パラメーターに使用されます。 FunctionAppSubnetのような名前のサブネット名を作成し、以下のデプロイ手順 5 で名前を使用します。
    • サブネット委任を追加する Microsoft.Web/serverFarms
  • 2 番目のサブネットは、"Private Link サブネット名" テンプレート パラメーターに使用されます。 PrivateLinkSubnetのようなサブネット名を作成し、以下のデプロイ手順 5 で名前を使用します。

Note

サブネット内にリソースがデプロイされると、サブネットのサイズを変更することはできません。 2 つの "/26" サブネットは、より多くのサブネット (たとえば、別の "/26") のエンクレーブ サブネットにスペースを残します。 これら 2 つのサブネットがエンクレーブで必要な唯一のサブネットである場合は、ニーズに応じてサイズを変更できます。

  1. 次に作成した内容に基づいて、これらの プライベート DNS Zones をすばやく作成します。
    • Key VaultこのテンプレートからKey Vaultを作成する場合、またはよりカスタマイズ可能なKey Vault テンプレートを作成する場合に必要です。
    • Storage FileStorage QueueStorage Blob、および Storage Table は、このテンプレートまたはよりカスタマイズ可能なストレージ アカウント テンプレートからストレージ アカウントを作成するときに必要です。
    • 関数アプリにプライベートにアクセスするために必要な Additional プライベート DNS Zone namesprivatelink.azurewebsites.net
  2. このテンプレートには、Key Vault、カスタマー マネージド キー (CMK)、およびマネージド ID が必要です。 Common Dependencies サービス カタログのクイック スタートで、Key Vault、CMK、およびマネージド ID を作成するか、独自の ID を作成します。
    • これらのリソースは、 ワークロード リソース グループ内に作成する必要があります。
    • ユーザー マネージド ID を作成した後、CMK キーにアクセスできることを確認します
      • 次の手順を使用して、キー コンテナーをスコープとするマネージド ID に Key Vault Crypto Service Encryption User RBAC ロールを割り当てます。 これにより、マネージド ID を仮想マシンなどの別のリソースに割り当てることができ、その仮想マシンは、最小限の特権に従ってキー コンテナーに対して他の操作を行うアクセス許可を持たずに、キー コンテナー内の CMK を使用してオペレーティング システム ディスクを暗号化できます。

テンプレートをデプロイする

  1. 対象のデプロイのワークロードに移動します。
  2. [ Add Service ] ボタンを選択します。
  3. サービス Function Appドロップダウンから サービス テンプレートを選択し、必要なバージョン (既定: latest) を確認し、Nextを選択します。

サービス カタログの一覧から選択された Function App テンプレートを示すスクリーンショット。

  1. [基本] タブで、必要なすべてのパラメーターを入力します。 ストレージ アカウント名は、新しいストレージ アカウントの名前です。
  2. 2 つのサブネットが作成されたら、[ネットワーク] タブに新しいサブネット名を入力します。
  3. [暗号化] タブで、カスタマー マネージド キー (CMK) セットアップのKey Vaultに追加された新しいキーの名前を入力します。
  4. CMK のセットアップ中に作成されたユーザー マネージド ID 名を入力します。
  5. 必要に応じて、事前設定されたパラメーターまたは既定のパラメーターのいずれかを調整します。
  6. Review + Create選択し、Createします。

すべてのリソースの作成が完了するまでに 10 分かかる場合があります。 デプロイされたリソース内でアクションを実行する前に、デプロイが正常に完了するまで待ちます。

デプロイメントを検証する

指定したリソース グループに移動して、目的のリソースが作成されたことを確認します。 含む: Function App と新しいストレージ アカウント

Function App リソースを開く

  1. Function App リソースを開く
  2. 概要ページで、関数を確認します

デプロイメントを削除する

これらのリソースを保持する予定がない場合は、不要なリソースをクリーンアップして、Azure料金を回避します。 リソース グループに他のデプロイが存在しない場合は、リソース グループ全体を削除できます。

Recommendations

  • サービス カタログのデプロイにタグを追加して、次のようなそのリソースの重要な情報を追跡します。
    • 所有者: <main POC>
    • デプロイヤー: <yourName>
    • 目的: <automation function>
    • サービス カタログ名: <App Service Function App>
    • サービス カタログのバージョン: <version you deployed>
  • タグを適用して継承するAzure Policyを追加することを検討してください