Skip to main content

AzureでのCloud Execution for Desktop

このガイドに従って、Azureプライベートデータ処理用にCloud Execution for Desktopモジュールをデプロイします。

必要条件

Cloud Execution for Desktopモジュールを展開する前に、プライベートデータ用のAzureサブスクリプションとVnetの設定ページで次の手順を完了する必要があります。

  1. リソースグループの作成」セクションで説明されているように、Alteryx One Platform専用のリソースグループが設定されている。

  2. 仮想プライベートネットワークの設定」セクションで説明されているように、Alteryx One専用のVnetが設定されている。

  3. IAMの設定」セクションで説明されているように、アプリ登録とサービスアカウントに紐付いたベースIAMポリシーが作成されている。

  4. 「プライベートデータ処理のプロビジョニングをトリガーする」セクションで説明されているように、プライベートデータ処理のプロビジョニングが正常にトリガーされている。

サブスクリプションのセットアップ

ステップ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内の管理者コンソールからトリガーされます。このページを表示するには、ワークスペース内のワークスペース管理者権限が必要です。

  1. Alteryx Oneのランディングページで[プロファイル]メニューを選択し、[ワークスペース管理者]を選択します。

  2. 管理者コンソールから[プライベートデータ処理]を選択し、[Processing]を選択します。

  3. Cloud Execution for Desktopチェックボックスを選択し、[更新]を選択します。

[更新]を選択すると、Azureサブスクリプション内のクラスターとリソースのデプロイがトリガーされます。これにより、一連の検証チェックが実行され、Azureサブスクリプションの設定が正しいことが確認されます。

注記

プロビジョニングプロセスの完了には、約35-40分かかります。

プロビジョニングが完了すると、作成したリソース(VMインスタンスやノードグループなど)をAzureポータルから表示できます。これらは絶対に自分で変更しないでください。手動で変更すると、プライベートデータ処理の機能に問題が発生する可能性があります。