プライベートデータ用のAzureサブスクリプションとVnetの設定
Azureプライベートデータ処理は、AzureサブスクリプションとVnet内でAlteryx One Platformのデータ処理クラスターを実行します。ユーザーのインフラストラクチャと、Alteryx管理のAzureリソースおよびソフトウェアの組み合わせを、一般的にプライベートデータ処理と呼びます。
このページでは、Alteryx Oneでプライベートデータ処理を実行するために、AzureサブスクリプションとVnetを設定する方法を説明します。
注記
AzureサブスクリプションとVnetのセットアップには、Azureポータルへのアクセス権が必要です。該当のアクセス権がない場合は、ITチームに連絡してこの手順を完了してください。
注意
プライベートデータ処理用にプロビジョニングされたリソースは削除しないでください。
セットアップ手順
重要
これらの手順を実行するには、Azureのアプリケーション開発者ロールと所有者RBACロールが割り当てられている必要があります。
ステップ1: Azureサブスクリプションの選択
プライベートデータ処理を実行するサブスクリプションを選択します。
パフォーマンスの向上とエグレスコストの削減のため、Blobストレージとプライベートデータ処理AKSクラスターを、プライベートデータストレージ用に選択したリージョンおよびリソースグループと同じ場所に配置する必要があります。これは、Alteryx Oneに接続するすべてのデータソースに適用されます。
Azureサブスクリプションで作成するVPCはAlteryx One専用である必要があります。VPCピアリング、トランジットゲートウェイ、PrivateLinkなどを使用して、プライベートデータソースへの接続を設定できます。
ステップ2: リソースグループの作成
Alteryx Oneに必要なAzureクラウドリソースは、リソースグループにデプロイされます。
aac_resource_groupという名前でリソースグループを作成します。注記
このガイドでは、
aac_resource_groupを名前の例として使用します。リソースグループには任意の名前を指定できます。リソースグループに次のパラメーターをタグ付けします。
タグ名:
AACResourceタグ値:
aac
リソースグループを確認して作成します。
ステップ3: IAMの設定
Azureサブスクリプションを準備したら、サービスプリンシパルとアクセスキーを設定します。
注記
同じアプリ登録を使用して、同じテナントの別のサブスクリプションでプライベートデータ処理をプロビジョニングできます。
ステップ3a: アプリ登録の作成(サービスアカウント)
aac_automation_saという名前で新しい登録を作成します。[サポートされているアカウントの種類]で、[任意の組織ディレクトリ内のアカウント(任意のMicrosoft Entra IDテナント - マルチテナント)]を選択します。
登録 を選択します。
以下の手順でアクセスキーを生成します。
先に作成したアプリ登録を選択します。
[証明書とシークレット]を選択します。
[クライアントシークレット]を選択します。
[新しいクライアントシークレット]を選択します。
[追加]を選択します。
注記
プライベートデータ処理用にクラウドリソースをプロビジョニングするには、アプリ登録クライアントIDとシークレットキーが必要です。
ステップ3b: IAMカスタムロールの作成
カスタムIAMロールを作成する必要があります。IAMロールにAAC_Base_SA_Roleという名前を付け、次のロールドキュメントを添付します。ビジュアルエディターではなくJSONタブを使用することをお勧めします。Alteryx Oneの実行には複数の*権限が必要です。ロールを作成するときに、セキュリティ警告が複数発生することがあります。
{
"properties": {
"roleName": "AAC_Base_SA_Role",
"description": "Custom role for provisioning AAC private data handling",
"assignableScopes": [
"/subscriptions/<subscription ID>"
],
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.Network/applicationGateways/backendAddressPools/join/action",
"Microsoft.Network/locations/*",
"Microsoft.Network/networkInterfaces/*",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/publicIPAddresses/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/subscriptions/operationresults/read",
"Microsoft.Storage/storageAccounts/*",
"Microsoft.KeyVault/*",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/routeTables/routes/read",
"Microsoft.Network/routeTables/read",
"Microsoft.Authorization/roleDefinitions/write",
"Microsoft.Authorization/roleDefinitions/delete",
"Microsoft.Authorization/roleAssignments/delete"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}重要
AAC_Base_SA_Roleは、ロール名の一例です。ロールには任意の名前を指定できますが、名前は「AAC_Base」で始まる必要があります。
ステップ3c: サブスクリプションでアプリ登録にカスタムロールをバインドする
ステップ1で作成したサブスクリプションを選択します。
[アクセス制御(IAM)]を選択します。
[追加]を選択し、[ロール割り当ての追加]を選択します。
ステップ3bで作成したカスタムロールを選択します。
カスタムロールは、[ジョブ機能ロール]タブまたは[特権管理者ロール]タブにあります。
[次へ]を選択します。
[メンバー]で、ステップ3aで作成したアプリ登録を選択します。
[条件]で、[Allow user to assign all roles except privileged administrator roles Owner, UAA, RBAC]を選択します。
[割り当ての種類]で、[アクティブ]を選択し、[割り当て期間]を[永続的]に選択します。
[確認と割り当て]を選択します。
ステップ4: ネットワークセキュリティグループ(NSG)の作成
リソースグループ
aac_resource_groupにネットワークセキュリティグループを作成します。ネットワークセキュリティグループに次のパラメーターをタグ付けします。
タグ名:
AACResourceタグ値:
aac
ステップ5: 仮想プライベートネットワークの設定
ステップ5a: 仮想ネットワーク(Vnet)の作成
リソースグループ
aac_resource_groupに仮想ネットワークを作成します。ヒント
Azureは、既定のアドレス空間と既定のサブネットを作成します。既定のサブネットを削除し、アドレス空間を更新します。
以下のCIDRブロックは、Alteryx Oneのコントロールプレーン用に予約されています。以下は、VPC CIDRの設定に使用しないでください。
100.64.0.0/1010.4.0.0/1410.64.0.0/2010.0.0.0/22
デプロイするモジュールに応じて、これらのIPv4アドレス空間を追加します。1つのアドレス空間でVnetを作成してから、[設定] > [アドレス空間]を選択して2つ目のアドレス空間を追加する必要がある場合があります。
Designer CloudおよびMachine Learningには、
/18と/22のアドレス空間を追加します。Cloud Execution for Desktopには、
/22のアドレス空間を追加します。
次のパラメーターを使用してVnetをタグ付けします。
タグ名:
AACResourceタグ値:
aac
ステップ5b: 機能フラグの設定
AzureサブスクリプションにEnableAPIServerVnetIntegrationPreview機能フラグを登録します。
注記
プライベートデータソースへの接続には、Vnetとデータソース間のネットワークパスが必要です。共有責任マトリックスで定義されているように、これらのネットワークパスは、使用するネットワークポリシーと設定に従って設定します。
ステップ5c: IPをホワイトリストに登録する
Alteryx Cloud製品は、Kubernetesクラスター内にデプロイされます。コントロールプレーンは、WireGuard VPNトンネルを介してデータプレーンKubernetesクラスターと安全に通信します。WireGuard VPNを介したシームレスで安全な通信を有効にするには、以下のIPアドレスのイングレストラフィックとエグレストラフィックの両方を、データプレーンネットワーク内でホワイトリストに登録する必要があります。
Alteryx CloudのPDP | ホワイトリストに登録するIP |
|---|---|
us1.alteryxcloud.com | WireguardサーバーIP:
コントロールプレーンIP: Teleport IP: TCPポート |
eu1.alteryxcloud.com | WireguardサーバーIP:
コントロールプレーンIP: Teleport IP:
|
au1.alteryxcloud.com | WireguardサーバーIP:
コントロールプレーンIP: Teleport IP:
|
preprod.alteryxcloud.com | WireguardサーバーIP:
コントロールプレーンIP: Teleport IP:
|
ステップ6: キー保管庫の作成
データソースの資格情報は、キーを使用して暗号化され、プライベートデータプレーンアカウント内のプライベート保管庫(プライベート資格情報ストレージ)に安全に保存されます。これらの資格情報は、必要なときにのみ保管庫から取得されます。
リソースグループ
aac_resource_groupにキー保管庫を作成します。保管庫に
aac-credentials-vaultという名前を付け、[次へ]を選択します。権限モデルとして[Azureロールベースのアクセス制御]を選択し、[次へ]を選択して続行します。
アクセスを許可するには、[選択されたネットワーク]を選択します。
プライベートデータ用のAzureサブスクリプションとVnetの設定 -ステップ5a: 仮想ネットワーク(VNet)の作成で作成した仮想ネットワーク(VNet)を追加します。
[Select all]チェックボックスをオンにします。
[追加]を選択して続行します。
キー保管庫にタグ付けします。
タグ名
値
AACResource
aac
[確認および作成]を選択します。
注記
キー保管庫名は、[プライベートデータ処理]ページに表示されます。
ステップ7: クォータ引き上げのリクエストをトリガーする
既定では、各Azureサブスクリプションには同時に実行するvCPUの数に上限があります。プライベート環境を実行するには、クォータの引き上げをリクエストする必要があります。これにより、ユーザーの環境をニーズに合わせて拡張できます。
指定する実際の数は、実行しているアプリケーションの数、ハードウェアが十分でない場合にジョブの実行を待機できる許容レベル、ジョブの実行待機時間短縮のためのインフラストラクチャ追加に対して支払う意思など、いくつかの要因によって異なります。
以下は、Alteryx One Platformで分析ワークロードを実行するにあたって推奨される数です。数字は調整できます。たとえば、推奨の値ほど大きく拡張せず、環境にかかるコストを抑えることができます。あるいは、複数のAlteryx One Platformアプリケーションを実行していて、ハードウェアを常に利用できる状態にするために、この値を増やすこともできます。
Alteryxでは次のクォータについて、クォータの引き上げをリクエストすることを推奨しています。
CPUの制限
クォータ名: リージョンのvCPUの合計
範囲: リージョン
Azure既定クォータ値: 10
推奨クォータ値: 800 (50ノード × 16CPU/ノード)
クォータ名: 標準Basv2ファミリvCPU
範囲: リージョン
Azure既定クォータ値: 10
推奨クォータ値: 800 (50ノード × 16CPU/ノード)
ステップ8: プライベートデータ処理のプロビジョニングをトリガーする
警告
プライベートデータ処理を設定した後に、Alteryx Oneをプロビジョニングされたパブリッククラウドリソースを変更または削除すると、不整合が生じる可能性があります。これらの不整合により、ジョブの実行中またはプライベートデータ処理設定のプロビジョニング解除時にエラーが発生する可能性があります。
データ処理環境のプロビジョニングは、Alteryx Oneの管理者コンソールからトリガーできます。このページを表示するには、ワークスペース内のワークスペース管理者権限が必要です。
Alteryx Oneのランディングページで、ユーザーのイニシャルが入った右上の丸いアイコンを選択します。メニューから[管理者コンソール]を選択します。
左側のナビゲーションメニューから[プライベートデータ処理]を選択します。
続行する前に、プライベートデータストレージにSuccessfully Configuredと表示されていることを確認してください。ステータスがNot Configuredの場合は、まず ADLS as Private Data Storageに進み、その後このステップを実行します。
[プライベートデータ処理]セクションでは、5つのフィールドに入力する必要があります。これらの値は、先ほど完了したセットアップ手順から取得できます。
[作成]を選択すると、必要に応じてAzureサブスクリプションが設定されていることを確認するための一連の検証チェックがトリガーされます。権限が正しく設定されていない場合、またはVnetリソースが正しく作成またはタグ付けされていない場合は、正しく設定するための説明を含むエラーメッセージが表示されます。
重要事項
設定変更のタイミング
Alteryx One Platformは分散システムです。プライベートデータ処理設定に加えた変更は、完全に有効になる前に複数のシステムに伝播されます。たとえば、プライベートデータ処理を設定するときにワークスペースにすでにジョブの実行スケジュールが設定されている場合、設定後後数分間、Alteryxデータ処理環境でジョブの実行が継続することがあります。
TerraformランナーのVPCへのアクセス
AlteryxはTerraformを使用して、お使いのVPC内のインフラストラクチャとクラウドリソースに変更を適用します。EKSクラスターの許可リストに多数のIPアドレスを追加したことで、Terraformランナーとコントロールプレーンがアクセスできるようになりました。
このリストは変更しないでください。
Alteryxコントロールプレーンのアドレスは、Alteryx ServiceのIPアドレス範囲を許可リストに登録するで確認できます。AlteryxのTerraformランナーは、次のIPアドレスを使用します。
"44.227.135.252/32"
"44.225.123.94/32"
"104.193.47.0/24"
"66.35.44.241/32"
"74.199.216.160/27"
"54.188.210.240/32"
アウトバウンド通信
プライベートデータ処理環境で実行されるソフトウェアには、以下のさまざまな理由によりアウトバウンド通信(出力)が必要になります。
ワークフローでは、クラウドストレージバケットやデータウェアハウスなどのパブリックデータソースに頻繁にアクセスする必要があるため。
データプレーンサービスでは、コントロールプレーンで実行されている他のサービスへのアクセス(API呼び出し、メッセージキューへの登録など)が必要になることが多いため。
ソフトウェアを最新の状態に保つために、ソフトウェアイメージをイメージリポジトリから取得することが多いため。
Alteryxは、アプリケーションログとテレメトリデータを収集して、データプレーンサービスの健全性とパフォーマンスを監視し、トラブルシューティング作業をサポートするため。
VPCまたはセキュリティグループに、このアウトバンドトラフィックをブロックまたは制限するルールを追加で適用しないでください。
資格情報のローテーション
ステップ3b: IAMカスタムロールの作成のステップでは、aac_automation_saという名前のアプリ登録をクライアントシークレットと共に作成しました。Alteryxはこれらの資格情報を管理しません。
Alteryxでは、ユーザーが所属する会社のポリシーに従ってこの資格情報をローテーションすることを推奨しています。会社にポリシーがない場合は、90日ごとにシークレットをローテーションすることを心がけてください。ただし、クラウドリソースとソフトウェアの更新、プライベート環境の健全性の監視、トラブルシューティングを行うには、AlteryxがVPCに常にアクセスできる必要があります。Azureでこの資格情報をローテーションする場合は、必ずAlteryx One Platformにもログインして最新の資格情報を入力してください。