このチュートリアルでは、Azure Virtual DesktopおよびAzure Kubernetes Service (AKS)ワークロード用の Azure エンクレーブ環境を作成する手順について説明します。 一般的な依存関係を設定し、適切なサイズのサブネットで個別のエンクレーブを作成し、プライベート DNS ゾーンをデプロイし、ネットワーク接続用にコミュニティエンドポイントとエンクレーブ エンドポイントを構成します。
このチュートリアルでは、以下の内容を学習します。
- 一般的な依存関係 (マネージド ID、Key Vault、暗号化) を設定する
- 管理とセッション ホストのサブネットを使用してAzure Virtual Desktopエンクレーブを作成する
- ノード、API サーバー、プライベート エンドポイント サブネットを使用して AKS エンクレーブを作成する
- プライベート DNS ゾーンをデプロイしてリンクする
- 外部接続用のコミュニティ エンドポイントを作成する
- エンクレーブ間通信用のエンクレーブ エンドポイントと接続を作成する
前提条件
- チュートリアル 2-1 の理解: アーキテクチャを計画する
- コミュニティを含むリソース グループへの共同作成者アクセス
- リソースを作成するためのサブスクリプションへの共同作成者アクセス
始める前の準備
このチュートリアルでは、以下があることを前提としています。
- チュートリアル 1 からデプロイされた既存のコミュニティ
- サブネット サイズを含むアーキテクチャを計画しました (チュートリアル 2-1 を参照)
- お使いのエンクレーブの Azure リージョンを特定しました
Important
このチュートリアルでは、プレースホルダー名を使用します。
myResourceGroup、cmt-fabrikam、avd-enclave、aks-enclaveなどのプレースホルダー名を、独自の命名規則で置き換えてください。
一般的な依存関係を設定する
Azure Virtual Desktopワークロードと AKS ワークロードの両方で、暗号化とセキュリティに共通の依存関係が必要です。 このセクションでは、これらの共有リソースを作成する詳細な手順について説明します。 これらの手順は、暗号化とセキュリティを設定するときに他のチュートリアルから参照できます。
共有サービス ワークロードを作成する
まず、既存のエンクレーブにワークロードを作成 (または新しいエンクレーブを作成) して、共有サービスをホストします。
- Azure ポータルで、Azure エンクレーブ サービスに移動します。
-
[コミュニティ] を選択し、コミュニティを開きます (例:
cmt-fabrikam)。 - 既存のエンクレーブを選択するか、新しい共有サービス エンクレーブを作成します。
-
エンクレーブ名:
shared-services -
アドレス空間:
10.1.0.0/16(コミュニティの IP アドレス範囲に基づいて調整) - 共有リソース用のサブネットを構成する:
SharedServicesSubnet/24IP アドレス範囲のもの
-
エンクレーブ名:
- エンクレーブで、
Workloads>+ Createを選択します。 - ワークロードを構成します。
-
ワークロード名:
shared-workload -
リソース グループの作成: 選択
Create new -
リソース グループ名:
rg-shared-services
-
ワークロード名:
-
Review + createを選択し、Createします。
一般的な依存関係リソースを作成する
必要な依存関係リソースをワークロードに追加します。
- マネージド ID は、Azureリソースが資格情報を格納せずに認証するための ID を提供します。
- Azure Key Vaultは、暗号化キー、シークレット、証明書を安全に格納します。
- カスタマー マネージド キーは、ワークロード内の保存データを暗号化します。
- ディスク暗号化セットは、カスタマー マネージド キー (CMK) ベースの暗号化を仮想マシン (VM) ディスクに適用します。
- Azure ポータルで、共有サービスワークロード名を検索します
-
+Add An Azure Serviceを選択します。 - ドロップダウン リストから
Common Dependencyを選択し、選択したリソース グループを確認して、Nextを選択します。 - リソースを構成します。
-
Key Vault名: 一意のKey Vault名を指定します
kv-ave-shared-<uniqueid> -
CMK キー名: 次のような CMK 名を指定します。
cmk-ave-encryption -
ユーザー割り当てマネージド ID 名: 次のようなマネージド ID リソース名を指定します
id-ave-encryption -
ID の種類: ドロップダウンで
UserAssignedを選択します。 -
ディスク暗号化セット名:
des-ave-encryption
-
Key Vault名: 一意のKey Vault名を指定します
-
Review + createを選択し、Createします。 - デプロイが完了したら、マネージド ID に移動します。
マネージド ID に Key Vault キーへのアクセスを許可する
マネージド ID には、暗号化キーを使用するためのアクセス許可が必要です。
- Key Vaultで、[
Access control (IAM)] を選択します。 -
+ Add選択し、Add role assignmentを選択します。 - [
Role] タブで、次の手順を実行します。-
Key Vault Crypto Service Encryption Userを検索して選択します。 -
Nextを選択
-
- [
Members] タブで、次の手順を実行します。-
Managed identityを選択 -
+ Select membersを選択 - マネージド ID の
User-assigned managed identityを選択する - マネージド ID を選択します。
id-ave-encryption -
Selectを選択 -
Nextを選択
-
- [
Review + assign] タブで [Review + assign] を選択します。
エンクレーブ リソースへのマネージド ID アクセスを許可する
Azure Enclave で管理されるリソースの場合、ID には共同作成者アクセス権が必要です。
- 共有サービス エンクレーブのマネージド リソース グループ (たとえば、
shared-services-HostedResources-<guid>) に移動してください。 -
Access control (IAM)を選択します。 -
+ Add選択し、Add role assignmentを選択します。 -
Contributorロールを割り当てます。-
ロール:
Contributor -
アクセス権の割り当て:
Managed identity -
メンバー: マネージド ID を選択する
id-ave-encryption
-
ロール:
-
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ワークロード用の専用エンクレーブを作成します。
- コミュニティで (たとえば、
cmt-fabrikam)、Enclaves>+ Createを選択します。 - Azure Virtual Desktop エンクレーブを構成します。
-
エンクレーブ名:
avd-enclave - リージョン: コミュニティと同じリージョン
-
アドレス空間:
10.2.0.0/16
-
エンクレーブ名:
-
Next: Subnetsを選択します。 - 管理サブネットを追加します。
-
+ Add subnetを選択 -
サブネット名:
AzureVirtualDesktopManagementSubnet -
サブネットのアドレス範囲:
10.2.1.0/24 -
ネットワーク セキュリティ グループの追加: 選択
Add new -
ネットワーク セキュリティ グループ名:
nsg-avd-management -
OKを選択
-
- セッション ホスト サブネットを追加します。
-
+ Add subnetを選択 -
サブネット名:
AzureVirtualDesktopSessionHostsSubnet -
サブネットのアドレス範囲:
10.2.2.0/24 -
ネットワーク セキュリティ グループの追加: 選択
Add new -
ネットワーク セキュリティ グループ名:
nsg-avd-sessionhosts -
OKを選択
-
-
Review + createを選択し、Createします。
Note
エンクレーブのデプロイには 30 ~ 45 分かかります。 デプロイ中に引き続き AKS エンクレーブを計画できます。
AKS エンクレーブを作成する
Azure Kubernetes Serviceワークロード用の専用エンクレーブを作成します。
- コミュニティで、[
Enclaves>+ Create] を選択します。 - AKS エンクレーブを構成します。
-
エンクレーブ名:
aks-enclave - リージョン: コミュニティと同じリージョン
-
アドレス空間:
10.3.0.0/16
-
エンクレーブ名:
-
Next: Subnetsを選択します。 - ノード サブネットを追加します。
-
+ Add subnetを選択 -
サブネット名:
aksSubnet -
サブネットのアドレス範囲:
10.3.1.0/25(128 IP) -
ネットワーク セキュリティ グループの追加: 選択
Add new -
ネットワーク セキュリティ グループ名:
nsg-aks-nodes -
サブネットの委任:
None(AKS ノード サブネットの委任なし) -
OKを選択
-
- API サーバー サブネットを追加します。
-
+ Add subnetを選択 -
サブネット名:
agentSubnet -
サブネットのアドレス範囲:
10.3.1.128/28(16 IP) -
ネットワーク セキュリティ グループの追加: 既存のものを使用する
nsg-aks-nodes -
サブネットの委任:
None -
OKを選択
-
- プライベート エンドポイント サブネットを追加します。
-
+ Add subnetを選択 -
サブネット名:
AzureVirtualEnclaveSubnet -
サブネット アドレス範囲:
10.3.2.0/26(64 IP) -
ネットワーク セキュリティ グループの追加: 既存のものを使用する
nsg-aks-nodes -
サブネットの委任:
None(重要: プライベート エンドポイントの委任なし) -
OKを選択
-
-
Review + createを選択し、Createします。
Important
両方のエンクレーブデプロイが完了するまで待ってから、次の手順に進みます。
プライベート DNS ゾーンをデプロイする
プライベート DNS ゾーンでは、Azure サービスのプライベート エンドポイント DNS 解決が有効になります。
Azure Virtual Desktopのプライベート DNS ゾーンを作成する
-
Azure Virtual Desktop エンクレーブ (
avd-enclave) に移動します。 -
Workloads選択し、+ Createを選択します。 - ワークロードを作成します。
-
ワークロード名:
avd-workload -
リソース グループを作成します。
Create new -
リソース グループ名:
rg-avd-workload
-
ワークロード名:
- ワークロードで、
+ Add an Azure Serviceを選択します。 - ドロップダウン リストから
プライベート DNS Zonesを選択し、選択したリソース グループを確認して、Nextを選択します。 - プライベート 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"]
-
ストレージ ファイル プライベート DNS Zone を作成:
-
Review + Createを選択し、Createします。 - デプロイが完了するまで待ちます。
AKS のプライベート DNS ゾーンを作成する
-
AKS エンクレーブ(
aks-enclave)に移動します。 -
Workloads選択し、+ Createを選択します。 - ワークロードを作成します。
-
ワークロード名:
aks-workload -
リソース グループを作成します。
Create new -
リソース グループ名:
rg-aks-workload
-
ワークロード名:
- ワークロードで、
+ Add an Azure Serviceを選択します。 - ドロップダウン リストから
プライベート DNS Zonesを選択し、選択したリソース グループを確認して、Nextを選択します。 - プライベート DNS ゾーンのデプロイを構成します。
-
ストレージ ファイル プライベート DNS Zone を作成:
true -
ストレージ キューのプライベート DNS ゾーンを作成:
true -
プライベート DNS ゾーン ストレージ テーブルを作成:
true -
Storage Blob プライベート DNS ゾーンの作成:
true -
Key Vault プライベート DNS ゾーンを作成します。
true -
追加のプライベート DNS ゾーン名:
["privatelink.<region>.azmk8s.io"]、お使いのリージョンで<region>を置き換えます。たとえば、eastus
-
ストレージ ファイル プライベート DNS Zone を作成:
-
Review + Createを選択し、Createします。 - デプロイが完了するまで待ちます。
外部接続用のコミュニティ エンドポイントを作成する
コミュニティ エンドポイントでは、エンクレーブから外部Azure サービスおよびインターネットへのトラフィックを許可します。
コミュニティ エンドポイントAzure Virtual Desktop作成する
自分のコミュニティ(例えば
cmt-fabrikam)に行ってください。Community endpoints選択し、+ Createを選択します。エンドポイントを構成します。
-
名前:
ce-avd-services -
説明:
Azure Virtual Desktop required service endpoints
-
名前:
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
-
名前:
Review + createを選択し、Createします。
AKS コミュニティ エンドポイントを作成する
コミュニティで、[
Community endpoints] を選択し、[+ Create] を選択します。エンドポイントを構成します。
-
名前:
ce-aks-services -
説明:
AKS required service endpoints
-
名前:
[ ルールの追加] を選択し、必要な各エンドポイントを構成します。
規則 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
-
名前:
Review + createを選択し、Createします。
エンクレーブ エンドポイントと接続を作成する
エンクレーブ エンドポイントと接続により、共有サービスにアクセスするためのエンクレーブ間の通信が可能になります。
共有サービスのエンクレーブ エンドポイントを作成する
共有サービス エンクレーブ (
shared-services) に移動します。Enclave endpoints選択し、+ Createを選択します。エンドポイントを構成します。
-
名前:
ee-shared-services -
説明:
Allow access to shared Key Vault and monitoring
-
名前:
共有サービスの規則を追加します。
規則 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
-
名前:
Review + createを選択し、Createします。
エンクレーブ接続を作成する
エンクレーブ接続を作成してエンクレーブをリンクします。
Azure Virtual Desktop エンクレーブ (
avd-enclave) に移動します。Enclave connections選択し、+ Createを選択します。接続を構成します。
-
名前:
conn-avd-to-shared -
ソースエンクレーブ:
avd-enclave(現在) -
宛先エンクレーブ エンドポイント: 共有サービス エンクレーブから
ee-shared-servicesを選択する
-
名前:
Review + createを選択し、Createします。AKS エンクレーブについても同様に繰り返します。
-
AKS エンクレーブ (
aks-enclave) に移動します -
conn-aks-to-sharedからee-shared-servicesへの接続を作成する
-
AKS エンクレーブ (
環境を検証する
環境の構成を確認します。
- 共有サービス ワークロードにデプロイされる一般的な依存関係
- 管理ホスト用およびセッション ホスト用のサブネットを備えた Azure Virtual Desktop エンクレーブが作成されました
- ノード、API サーバー、およびプライベート エンドポイント サブネットを使用して作成された AKS エンクレーブ
- 展開され、エンクレーブにリンクされたプライベート DNS ゾーン
- Azure Virtual Desktopと AKS 外部接続用に作成されたコミュニティ エンドポイント
- 共有サービス用に作成されたエンクレーブ エンドポイント
- Azure Virtual Desktop と AKS から共有サービスへのエンクレーブ接続
次のステップ
Azureエンクレーブ環境が正しく構成されたら、ワークロードをデプロイする準備が整いました。 次のチュートリアルでは、Azure Virtual Desktopのデプロイについて説明します。