チュートリアル 2-2: ワークロード用Azureエンクレーブ環境を作成する

このチュートリアルでは、Azure Virtual DesktopおよびAzure Kubernetes Service (AKS)ワークロード用の Azure エンクレーブ環境を作成する手順について説明します。 一般的な依存関係を設定し、適切なサイズのサブネットで個別のエンクレーブを作成し、プライベート DNS ゾーンをデプロイし、ネットワーク接続用にコミュニティエンドポイントとエンクレーブ エンドポイントを構成します。

このチュートリアルでは、以下の内容を学習します。

  • 一般的な依存関係 (マネージド ID、Key Vault、暗号化) を設定する
  • 管理とセッション ホストのサブネットを使用してAzure Virtual Desktopエンクレーブを作成する
  • ノード、API サーバー、プライベート エンドポイント サブネットを使用して AKS エンクレーブを作成する
  • プライベート DNS ゾーンをデプロイしてリンクする
  • 外部接続用のコミュニティ エンドポイントを作成する
  • エンクレーブ間通信用のエンクレーブ エンドポイントと接続を作成する

前提条件

始める前の準備

このチュートリアルでは、以下があることを前提としています。

  • チュートリアル 1 からデプロイされた既存のコミュニティ
  • サブネット サイズを含むアーキテクチャを計画しました (チュートリアル 2-1 を参照)
  • お使いのエンクレーブの Azure リージョンを特定しました

Important

このチュートリアルでは、プレースホルダー名を使用します。 myResourceGroupcmt-fabrikamavd-enclaveaks-enclaveなどのプレースホルダー名を、独自の命名規則で置き換えてください。

一般的な依存関係を設定する

Azure Virtual Desktopワークロードと AKS ワークロードの両方で、暗号化とセキュリティに共通の依存関係が必要です。 このセクションでは、これらの共有リソースを作成する詳細な手順について説明します。 これらの手順は、暗号化とセキュリティを設定するときに他のチュートリアルから参照できます。

共有サービス ワークロードを作成する

まず、既存のエンクレーブにワークロードを作成 (または新しいエンクレーブを作成) して、共有サービスをホストします。

  1. Azure ポータルで、Azure エンクレーブ サービスに移動します。
  2. [コミュニティ] を選択し、コミュニティを開きます (例: cmt-fabrikam)。
  3. 既存のエンクレーブを選択するか、新しい共有サービス エンクレーブを作成します。
    • エンクレーブ名: shared-services
    • アドレス空間: 10.1.0.0/16 (コミュニティの IP アドレス範囲に基づいて調整)
    • 共有リソース用のサブネットを構成する: SharedServicesSubnet/24 IP アドレス範囲のもの
  4. エンクレーブで、 Workloads>+ Createを選択します。
  5. ワークロードを構成します。
    • ワークロード名: shared-workload
    • リソース グループの作成: 選択 Create new
    • リソース グループ名: rg-shared-services
  6. Review + createを選択し、Createします。

一般的な依存関係リソースを作成する

必要な依存関係リソースをワークロードに追加します。

  • マネージド ID は、Azureリソースが資格情報を格納せずに認証するための ID を提供します。
  • Azure Key Vaultは、暗号化キー、シークレット、証明書を安全に格納します。
  • カスタマー マネージド キーは、ワークロード内の保存データを暗号化します。
  • ディスク暗号化セットは、カスタマー マネージド キー (CMK) ベースの暗号化を仮想マシン (VM) ディスクに適用します。
  1. Azure ポータルで、共有サービスワークロード名を検索します
  2. +Add An Azure Service を選択します。
  3. ドロップダウン リストから Common Dependency を選択し、選択したリソース グループを確認して、 Nextを選択します。
  4. リソースを構成します。
    • Key Vault名: 一意のKey Vault名を指定しますkv-ave-shared-<uniqueid>
    • CMK キー名: 次のような CMK 名を指定します。 cmk-ave-encryption
    • ユーザー割り当てマネージド ID 名: 次のようなマネージド ID リソース名を指定します id-ave-encryption
    • ID の種類: ドロップダウンで UserAssigned を選択します。
    • ディスク暗号化セット名: des-ave-encryption
  5. Review + createを選択し、Createします。
  6. デプロイが完了したら、マネージド ID に移動します。

マネージド ID に Key Vault キーへのアクセスを許可する

マネージド ID には、暗号化キーを使用するためのアクセス許可が必要です。

  1. Key Vaultで、[Access control (IAM)] を選択します。
  2. + Add選択し、Add role assignmentを選択します。
  3. [ Role ] タブで、次の手順を実行します。
    • Key Vault Crypto Service Encryption User を検索して選択します。
    • Next を選択
  4. [ Members ] タブで、次の手順を実行します。
    • Managed identity を選択
    • + Select members を選択
    • マネージド ID の User-assigned managed identity を選択する
    • マネージド ID を選択します。 id-ave-encryption
    • Select を選択
    • Next を選択
  5. [Review + assign] タブで [Review + assign] を選択します。

エンクレーブ リソースへのマネージド ID アクセスを許可する

Azure Enclave で管理されるリソースの場合、ID には共同作成者アクセス権が必要です。

  1. 共有サービス エンクレーブのマネージド リソース グループ (たとえば、shared-services-HostedResources-<guid>) に移動してください。
  2. Access control (IAM) を選択します。
  3. + Add選択し、Add role assignmentを選択します。
  4. Contributor ロールを割り当てます。
    • ロール: Contributor
    • アクセス権の割り当て: Managed identity
    • メンバー: マネージド ID を選択する id-ave-encryption
  5. Review + assign を選択します。

一般的な依存関係を検証する

すべてのリソースが正しく作成および構成されていることを確認します。

  • ユーザー割り当てマネージド ID id-ave-encryption 作成済み
  • Key Vault kv-ave-shared-<uniqueid> が作成されました
  • Key Vaultで作成されたカスタマー マネージド キー cmk-ave-encryption
  • マネージド ID には、キーに対する Key Vault Crypto Service Encryption User ロールがあります
  • ディスク暗号化セット des-ave-encryption 作成され、キーと ID にリンクされます
  • マネージド ID には、エンクレーブ マネージド リソース グループに対する Contributor ロールがあります

Azure Virtual Desktop エンクレーブを作成する

次に、Azure Virtual Desktopワークロード用の専用エンクレーブを作成します。

  1. コミュニティで (たとえば、 cmt-fabrikam)、 Enclaves>+ Createを選択します。
  2. Azure Virtual Desktop エンクレーブを構成します。
    • エンクレーブ名: avd-enclave
    • リージョン: コミュニティと同じリージョン
    • アドレス空間: 10.2.0.0/16
  3. Next: Subnets を選択します。
  4. 管理サブネットを追加します。
    • + Add subnet を選択
    • サブネット名: AzureVirtualDesktopManagementSubnet
    • サブネットのアドレス範囲: 10.2.1.0/24
    • ネットワーク セキュリティ グループの追加: 選択 Add new
    • ネットワーク セキュリティ グループ名: nsg-avd-management
    • OK を選択
  5. セッション ホスト サブネットを追加します。
    • + Add subnet を選択
    • サブネット名: AzureVirtualDesktopSessionHostsSubnet
    • サブネットのアドレス範囲: 10.2.2.0/24
    • ネットワーク セキュリティ グループの追加: 選択 Add new
    • ネットワーク セキュリティ グループ名: nsg-avd-sessionhosts
    • OK を選択
  6. Review + createを選択し、Createします。

Note

エンクレーブのデプロイには 30 ~ 45 分かかります。 デプロイ中に引き続き AKS エンクレーブを計画できます。

AKS エンクレーブを作成する

Azure Kubernetes Serviceワークロード用の専用エンクレーブを作成します。

  1. コミュニティで、[ Enclaves>+ Create] を選択します。
  2. AKS エンクレーブを構成します。
    • エンクレーブ名: aks-enclave
    • リージョン: コミュニティと同じリージョン
    • アドレス空間: 10.3.0.0/16
  3. Next: Subnets を選択します。
  4. ノード サブネットを追加します。
    • + Add subnet を選択
    • サブネット名: aksSubnet
    • サブネットのアドレス範囲: 10.3.1.0/25 (128 IP)
    • ネットワーク セキュリティ グループの追加: 選択 Add new
    • ネットワーク セキュリティ グループ名: nsg-aks-nodes
    • サブネットの委任: None (AKS ノード サブネットの委任なし)
    • OK を選択
  5. API サーバー サブネットを追加します。
    • + Add subnet を選択
    • サブネット名: agentSubnet
    • サブネットのアドレス範囲: 10.3.1.128/28 (16 IP)
    • ネットワーク セキュリティ グループの追加: 既存のものを使用する nsg-aks-nodes
    • サブネットの委任: None
    • OK を選択
  6. プライベート エンドポイント サブネットを追加します。
    • + Add subnet を選択
    • サブネット名: AzureVirtualEnclaveSubnet
    • サブネット アドレス範囲: 10.3.2.0/26 (64 IP)
    • ネットワーク セキュリティ グループの追加: 既存のものを使用する nsg-aks-nodes
    • サブネットの委任: None (重要: プライベート エンドポイントの委任なし)
    • OK を選択
  7. Review + createを選択し、Createします。

Important

両方のエンクレーブデプロイが完了するまで待ってから、次の手順に進みます。

プライベート DNS ゾーンをデプロイする

プライベート DNS ゾーンでは、Azure サービスのプライベート エンドポイント DNS 解決が有効になります。

Azure Virtual Desktopのプライベート DNS ゾーンを作成する

  1. Azure Virtual Desktop エンクレーブ (avd-enclave) に移動します。
  2. Workloads選択し、+ Createを選択します。
  3. ワークロードを作成します。
    • ワークロード名: avd-workload
    • リソース グループを作成しますCreate new
    • リソース グループ名: rg-avd-workload
  4. ワークロードで、 + Add an Azure Serviceを選択します。
  5. ドロップダウン リストから プライベート DNS Zones を選択し、選択したリソース グループを確認して、 Nextを選択します。
  6. プライベート DNS ゾーンのデプロイを構成します。
    • ストレージ ファイル プライベート DNS Zone を作成: true
    • ストレージ キューのプライベート DNS ゾーンを作成: true
    • プライベート DNS ゾーン ストレージ テーブルを作成: true
    • Storage Blob プライベート DNS ゾーンの作成: true
    • Key Vault プライベート DNS ゾーンを作成しますtrue
    • その他のプライベート DNS ゾーン名:["privatelink.wvd.microsoft.com","privatelink-global.wvd.microsoft.com"]
  7. Review + Createを選択し、Createします。
  8. デプロイが完了するまで待ちます。

AKS のプライベート DNS ゾーンを作成する

  1. AKS エンクレーブaks-enclave)に移動します。
  2. Workloads選択し、+ Createを選択します。
  3. ワークロードを作成します。
    • ワークロード名: aks-workload
    • リソース グループを作成しますCreate new
    • リソース グループ名: rg-aks-workload
  4. ワークロードで、 + Add an Azure Serviceを選択します。
  5. ドロップダウン リストから プライベート DNS Zones を選択し、選択したリソース グループを確認して、 Nextを選択します。
  6. プライベート DNS ゾーンのデプロイを構成します。
    • ストレージ ファイル プライベート DNS Zone を作成: true
    • ストレージ キューのプライベート DNS ゾーンを作成: true
    • プライベート DNS ゾーン ストレージ テーブルを作成: true
    • Storage Blob プライベート DNS ゾーンの作成: true
    • Key Vault プライベート DNS ゾーンを作成しますtrue
    • 追加のプライベート DNS ゾーン名: ["privatelink.<region>.azmk8s.io"]、お使いのリージョンで <region> を置き換えます。たとえば、eastus
  7. Review + Createを選択し、Createします。
  8. デプロイが完了するまで待ちます。

外部接続用のコミュニティ エンドポイントを作成する

コミュニティ エンドポイントでは、エンクレーブから外部Azure サービスおよびインターネットへのトラフィックを許可します。

コミュニティ エンドポイントAzure Virtual Desktop作成する

  1. 自分のコミュニティ(例えば cmt-fabrikam)に行ってください。

  2. Community endpoints選択し、+ Createを選択します。

  3. エンドポイントを構成します。

    • 名前: ce-avd-services
    • 説明: Azure Virtual Desktop required service endpoints
  4. Add ruleを選択し、必要な各エンドポイントを構成します。

    規則 1: AVD コントロール プレーン

    • 名前: avd-control-plane
    • 宛て先: *.wvd.microsoft.com,*.prod.warm.ingest.monitor.core.windows.net
    • プロトコル: HTTPS
    • ポート: 443

    規則 2: 認証

    • 名前: authentication
    • 宛て先: login.microsoftonline.com,login.windows.net
    • プロトコル: HTTPS
    • ポート: 443

    規則 3: Azure Resource Manager

    • 名前: arm
    • 宛て先: management.azure.com
    • プロトコル: HTTPS
    • ポート: 443

    ルール 4: エージェントの更新

    • 名前: agent-updates
    • 宛て先: mrsglobalstb2prod.blob.core.windows.net,gcs.prod.monitoring.core.windows.net
    • プロトコル: HTTPS
    • ポート: 443

    規則 5: ゲスト構成

    • 名前: guest-config
    • 宛て先: *.guestconfiguration.azure.com
    • プロトコル: HTTPS
    • ポート: 443
  5. Review + createを選択し、Createします。

AKS コミュニティ エンドポイントを作成する

  1. コミュニティで、[ Community endpoints ] を選択し、[ + Create] を選択します。

  2. エンドポイントを構成します。

    • 名前: ce-aks-services
    • 説明: AKS required service endpoints
  3. [ ルールの追加] を選択し、必要な各エンドポイントを構成します。

    規則 1: コンテナー レジストリ

    • 名前: mcr
    • 宛て先: mcr.microsoft.com,*.data.mcr.microsoft.com
    • プロトコル: HTTPS
    • ポート: 443

    規則 2: クラスター管理

    • 名前: aks-management
    • 宛先: *.hcp.<region>.azmk8s.io ( <region> をリージョンに置き換えます (例: eastus)
    • プロトコル: HTTPS
    • ポート: 443

    規則 3: Azure Resource Manager

    • 名前: arm
    • 宛て先: management.azure.com
    • プロトコル: HTTPS
    • ポート: 443

    規則 4: 認証

    • 名前: authentication
    • 宛て先: login.microsoftonline.com
    • プロトコル: HTTPS
    • ポート: 443

    規則 5: パッケージ リポジトリ

    • 名前: packages
    • 宛て先: packages.microsoft.com,acs-mirror.azureedge.net
    • プロトコル: HTTPS
    • ポート: 443
  4. Review + createを選択し、Createします。

エンクレーブ エンドポイントと接続を作成する

エンクレーブ エンドポイントと接続により、共有サービスにアクセスするためのエンクレーブ間の通信が可能になります。

共有サービスのエンクレーブ エンドポイントを作成する

  1. 共有サービス エンクレーブ (shared-services) に移動します。

  2. Enclave endpoints選択し、+ Createを選択します。

  3. エンドポイントを構成します。

    • 名前: ee-shared-services
    • 説明: Allow access to shared Key Vault and monitoring
  4. 共有サービスの規則を追加します。

    規則 1: Key Vault

    • 名前: key-vault
    • プロトコル: HTTPS
    • ポート: 443
    • ソース IP/CIDR: 10.2.0.0/16,10.3.0.0/16 (Azure Virtual Desktopと AKS エンクレーブの IP アドレス範囲)

    規則 2: DNS

    • 名前: dns
    • プロトコル: TCP
    • ポート: 53
    • ソース IP/CIDR: 10.2.0.0/16,10.3.0.0/16
  5. Review + createを選択し、Createします。

エンクレーブ接続を作成する

エンクレーブ接続を作成してエンクレーブをリンクします。

  1. Azure Virtual Desktop エンクレーブ (avd-enclave) に移動します。

  2. Enclave connections選択し、+ Createを選択します。

  3. 接続を構成します。

    • 名前: conn-avd-to-shared
    • ソースエンクレーブ: avd-enclave(現在)
    • 宛先エンクレーブ エンドポイント: 共有サービス エンクレーブから ee-shared-services を選択する
  4. Review + createを選択し、Createします。

  5. AKS エンクレーブについても同様に繰り返します。

    • AKS エンクレーブ (aks-enclave) に移動します
    • conn-aks-to-shared から ee-shared-services への接続を作成する

環境を検証する

環境の構成を確認します。

  • 共有サービス ワークロードにデプロイされる一般的な依存関係
  • 管理ホスト用およびセッション ホスト用のサブネットを備えた Azure Virtual Desktop エンクレーブが作成されました
  • ノード、API サーバー、およびプライベート エンドポイント サブネットを使用して作成された AKS エンクレーブ
  • 展開され、エンクレーブにリンクされたプライベート DNS ゾーン
  • Azure Virtual Desktopと AKS 外部接続用に作成されたコミュニティ エンドポイント
  • 共有サービス用に作成されたエンクレーブ エンドポイント
  • Azure Virtual Desktop と AKS から共有サービスへのエンクレーブ接続

次のステップ

Azureエンクレーブ環境が正しく構成されたら、ワークロードをデプロイする準備が整いました。 次のチュートリアルでは、Azure Virtual Desktopのデプロイについて説明します。

チュートリアル 2-3: Azure Virtual Desktop ワークロードをデプロイする