AzureでのCloud Execution for Desktop
このガイドに従って、Azureプライベートデータ処理用にCloud Execution for Desktopモジュールをデプロイします。
必要条件
Cloud Execution for Desktopモジュールを展開する前に、プライベートデータ用のAzureサブスクリプションとVnetの設定ページで次の手順を完了する必要があります。
「リソースグループの作成」セクションで説明されているように、Alteryx One Platform専用のリソースグループが設定されている。
「仮想プライベートネットワークの設定」セクションで説明されているように、Alteryx One専用のVnetが設定されている。
「IAMの設定」セクションで説明されているように、アプリ登録とサービスアカウントに紐付いたベースIAMポリシーが作成されている。
「プライベートデータ処理のプロビジョニングをトリガーする」セクションで説明されているように、プライベートデータ処理のプロビジョニングが正常にトリガーされている。
サブスクリプションのセットアップ
ステップ1: IAMの設定
ステップ1a: IAMカスタムロールの作成
注記
AAC_CEFD_SA_Roleは、ロール名の一例です。ロールには任意の名前を指定できますが、名前は「AAC_CEFD」で始まる必要があります。
カスタムIAMロールを作成する必要があります。名前を「AAC_CEFD_SA_Role」とし、次のロールドキュメントを使用します。ビジュアルエディターではなくJSONタブを使用することをお勧めします。実行するには、Alteryx Oneに一部*権限が必要です。ロールを作成するときに、セキュリティ警告が複数発生することがあります。
重要
このカスタムロールのassignableScopesスコープを更新します。スコープはサブスクリプションIDである必要があります。
{
"properties": {
"roleName": "AAC_CEFD_SA_Role",
"description": "Custom role for provisioning AAC private data handling",
"assignableScopes": [
"/subscriptions/<subscription ID>"
],
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.Authorization/roleAssignments/delete",
"Microsoft.Authorization/roleAssignments/write",
"Microsoft.Compute/availabilitySets/*",
"Microsoft.Compute/cloudServices/*",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/locations/*",
"Microsoft.Compute/virtualMachineScaleSets/*",
"Microsoft.Compute/virtualMachines/*",
"Microsoft.Insights/autoScaleSettings/delete",
"Microsoft.Insights/autoScaleSettings/read",
"Microsoft.Insights/autoScaleSettings/write",
"Microsoft.KeyVault/*",
"Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
"Microsoft.ManagedIdentity/userAssignedIdentities/delete",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/delete",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/read",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write",
"Microsoft.ManagedIdentity/userAssignedIdentities/read",
"Microsoft.ManagedIdentity/userAssignedIdentities/write",
"Microsoft.Network/applicationGateways/backendAddressPools/join/action",
"Microsoft.Network/loadBalancers/backendAddressPools/join/action",
"Microsoft.Network/loadBalancers/inboundNatPools/join/action",
"Microsoft.Network/loadBalancers/inboundNatRules/join/action",
"Microsoft.Network/loadBalancers/probes/join/action",
"Microsoft.Network/loadBalancers/read",
"Microsoft.Network/locations/*",
"Microsoft.Network/networkInterfaces/*",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/publicIPAddresses/join/action",
"Microsoft.Network/publicIPAddresses/read",
"Microsoft.Network/routeTables/read",
"Microsoft.Network/routeTables/routes/read",
"Microsoft.Network/routeTables/routes/write",
"Microsoft.Network/routeTables/write",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.RecoveryServices/locations/*",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/subscriptions/operationresults/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Web/serverFarms/write",
"Microsoft.Web/serverFarms/read",
"Microsoft.Web/serverFarms/delete",
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/write",
"Microsoft.OperationalInsights/workspaces/delete",
"Microsoft.Insights/components/*",
"Microsoft.Web/sites/*"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}ステップ1b: サブスクリプションでアプリ登録にカスタムロールをバインドする
プライベートデータ用のAzureサブスクリプションとVnetの設定ページで作成したaac_automation_saサービスアカウントに、AAC_CEFD_SA_Role IAMカスタムロールを追加します。
ステップ1c: Cloud Execution環境のカスタマイズを有効にする
Cloud Execution環境のカスタマイズにより、カスタムドライバーとコネクタをS3バケットにアップロードできます。
カスタマイズ設定を有効にするには、feature.privateDataPlaneHandling.admin.cEFDEnvironmentCustomizationsEnabledをTRUEに設定します。
CEFDカスタムIAMロールの作成
カスタムIAMロールを作成し、AAC_CEFD_Customization_SA_Roleという名前を付けて、次のポリシードキュメントを付与します。
注記
ここで参照されているロールの名前は一例です。ロールには任意の名前を指定できますが、名前は「AAC_CEFD_Customization」で始まる必要があります。
ビジュアルエディターではなくJSONタブを使用することをお勧めします。Alteryx One Platformの実行には複数の*権限が必要です。ポリシーの作成時に、セキュリティ警告が何件か発生する場合があります。
{
"properties": {
"roleName": "AAC_CEFD_Customization_SA_Role",
"description": "Custom role for provisioning AAC private data handling",
"assignableScopes": [
"/subscriptions/<subscription ID>"
],
"permissions": [
{
"actions": [
"Microsoft.ContainerService/fleets/listCredentials/action",
"Microsoft.ContainerService/fleets/read",
"Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action",
"Microsoft.ContainerService/managedClusters/agentPools/delete",
"Microsoft.ContainerService/managedClusters/agentPools/read",
"Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write",
"Microsoft.ContainerService/managedClusters/agentPools/write",
"Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read",
"Microsoft.ContainerService/managedClusters/delete",
"Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action",
"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action",
"Microsoft.ContainerService/managedClusters/read",
"Microsoft.ContainerService/managedClusters/runcommand/action",
"Microsoft.ContainerService/managedClusters/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Storage/storageAccounts/*"
],
"notActions": [],
"dataActions": [
"Microsoft.ContainerService/fleets/*",
"Microsoft.ContainerService/managedClusters/*"
],
"notDataActions": []
}
]
}
}カスタムロールのassignableScopesスコープを更新します。スコープはサブスクリプションIDである必要があります。
サブスクリプションでアプリ登録にカスタムロールをバインドする
前の手順で作成したカスタムロールを、ステップ3: IAMの設定で作成したaac_automation_sa serviceアカウントに追加します。
ステップ2: ルートテーブル
サブネット用のルートテーブルを作成します。
重要
登録しているインターネットへのネットワーク接続を使用してVnetを設定する必要があります。
注記
このルートテーブルは一例です。
アドレス接頭辞 | ネクストホップタイプ |
|---|---|
/22 CIDRブロック | v-net |
0.0.0.0/0 | <gateway_ID> |
注記
<gateway id>は、お使いのネットワークアーキテクチャに応じて、各AZに作成されるNATゲートウェイまたはトランジットゲートウェイのいずれかになります。
ステップ3: サブネットの設定
プライベートデータ処理のCloud Execution for Desktopには、1つのサブネットが必要です。
aac_public (必須): このグループでサービスは実行されませんが、クラスターからのエグレスに使用されます。このサブネットを
Microsoft.ContainerService/managedClustersに委任します。これにより、APIサーバーポッドと内部ロードバランサーをそのサブネットに挿入する権限がAKSサービスに付与されます。aac_private (必須): このグループは、PDP専用にサービスを実行します。
aac_option: プライベートデータ処理内でCloud Execution for Desktopを有効にする場合は、このグループを使用します。このオプションを有効にすると、AMIスウォームがこのサブネットで実行され、クラウドで実行されるDesigner Desktopの処理ジョブが処理されます。
aac_function: (必須)このサブネットは、Azure関数がCloud Execution for Desktop VMの自動スケーリングに使用します。このサブネットをMicrosoft.Web/serverFarmsに委任して、このサブネット内の関数アプリインスタンスのネットワークインターフェースを作成および管理します。
ステップ3a: Vnetでサブネットを作成する
aac-vpc VPCでサブネットを設定します。
以下の例に従ってサブネットを作成します。アドレス空間とサブネット値は、利用中のネットワークアーキテクチャに合わせて調整できます。プライベートデータ用のAzureサブスクリプションとVnetの設定ページで作成したネットワークセキュリティグループをサブネットに関連付けます。
アドレス空間は、完全にスケールアウトされたデータ処理環境に対応するように設計されています。必要に応じてアドレス空間を小さくすることもできますが、処理負荷が高くなったときにスケーリングに問題が発生する可能性があります。
重要
サブネット名は固定されています。そのため、以下の表と一致している必要があります。
アドレス空間 | サブネット名 | サブネット | サービスエンドポイント | ルートテーブル | メモ |
|---|---|---|---|---|---|
10.10.0.0/22 | aac_option | 10.10.0.0/23 | Microsoft.Storage Microsoft.KeyVault | ステップ2で作成したルートテーブルに関連付けます。 | |
aac_function | 10.10.2.0/29 | なし | Microsoft.Web/serverFarms |
プライベートデータ処理
注意
プライベートデータ処理を設定した後に、Alteryx Oneをプロビジョニングされたパブリッククラウドリソースを変更または削除すると、不整合が生じる可能性があります。これらの不整合により、ジョブの実行中またはプライベートデータ処理設定のプロビジョニング解除時にエラーが発生する可能性があります。
ステップ1: Cloud Executionのデプロイをトリガーする
Cloud Execution for Desktopのプロビジョニングは、Alteryx One内の管理者コンソールからトリガーされます。このページを表示するには、ワークスペース内のワークスペース管理者権限が必要です。
Alteryx Oneのランディングページで[プロファイル]メニューを選択し、[ワークスペース管理者]を選択します。
管理者コンソールから[プライベートデータ処理]を選択し、[Processing]を選択します。
Cloud Execution for Desktopチェックボックスを選択し、[更新]を選択します。
[更新]を選択すると、Azureサブスクリプション内のクラスターとリソースのデプロイがトリガーされます。これにより、一連の検証チェックが実行され、Azureサブスクリプションの設定が正しいことが確認されます。
注記
プロビジョニングプロセスの完了には、約35-40分かかります。
プロビジョニングが完了すると、作成したリソース(VMインスタンスやノードグループなど)をAzureポータルから表示できます。これらは絶対に自分で変更しないでください。手動で変更すると、プライベートデータ処理の機能に問題が発生する可能性があります。