プライベートデータ用のGCPプロジェクトとVPCのセットアップ
Google Cloud Platform (GCP)のプライベートデータ処理では、GCPプロジェクトとVPCの内部でAlteryx One Platformのデータ処理クラスターを実行します。ユーザーのインフラストラクチャと、Alteryx管理のGCPリソースおよびソフトウェアの組み合わせを、一般的にプライベートデータ処理と呼びます。
このページでは、Alteryx Oneでプライベートデータ処理を実行するために、GCPプロジェクトとVPCを設定する方法を説明します。
注記
GCPプロジェクトとVPCのセットアップには、GCPコンソールへのアクセス権が必要です。該当のアクセス権がない場合は、ITチームに連絡してこの手順を完了してください。
注意
プライベートデータ処理用にプロビジョニングされたリソースは削除しないでください。
セットアップ手順
重要
これらの手順を続行するには、GCPの所有者RBACロールが割り当てられている必要があります。
ステップ1: GCPプロジェクトの選択
プライベートデータ処理を実行するプロジェクトを選択します。
パフォーマンスの向上とエグレスコストの削減のため、Googleストレージとプライベートデータ処理GKEクラスターを、プライベートデータストレージ用に選択したリージョンと同じ場所に配置する必要があります。これは、Alteryx Oneに接続するすべてのデータソースに適用されます。
GCPプロジェクトで作成するVPCはAlteryx One専用にする必要があります。VPCピアリング、トランジットゲートウェイ、PrivateLinkなどを使用して、プライベートデータソースへの接続を設定できます。
重要
GCPプロジェクト1つにつき、プライベートデータ処理インスタンスは1つのみ設定する必要があります。
ステップ2: Google APIの有効化
プライベートデータ処理用のクラウドリソースを作成するには、プロジェクトでAPIを有効にする必要があります。
GCPコンソールから[APIとサービス]を選択します。
[APIとサービスを有効にする]を選択します。
以下のAPIを有効にします。
Cloud Logging APICloud Monitoring APICompute Engine APISecret Manager APIService Networking APICloud Asset APIKubernetes Engine APIGoogle Cloud Memorystore for Redis APIService Usage API
ステップ3: IAMの設定
GCPプロジェクトを準備したら、サービスプリンシパルとアクセスキーを設定します。
ステップ3a: サービスアカウントの作成
aac-automation-saという名前でサービスアカウントを作成します。JSONタイプのキーを生成します。
JSON Blobファイルを保存します。
注記
後の手順でクラウドリソースをプロビジョニングする際に、サービスキーJSON Blobファイルが必要になります。
ステップ3b: IAMをサービスアカウントにバインドする
次のロールをaac-automation-saサービスアカウントに割り当てます。
Secret Manager管理者:
roles/secretmanager.adminサービスアカウント管理者:
roles/iam.serviceAccountAdminサービスアカウントユーザー:
roles/iam.serviceAccountUserプロジェクトIAM管理者:
roles/resourcemanager.projectIamAdminサービスアカウントキー管理者:
roles/iam.serviceAccountKeyAdminComputeネットワーク閲覧者:
roles/compute.networkViewerCloud KMS閲覧者:
roles/cloudkms.viewer
重要
GCPでは、ポリシードキュメントにワイルドカード(*)を使用できません。GCPには、カスタムロールに割り当てる各権限の数にも制限があります。したがって、GCPで管理される一連の事前定義ロールにサービスアカウントを割り当てる必要があります。
ステップ4: 仮想プライベートネットワークの設定
ステップ4a: VPCネットワークの作成
以下のCIDRブロックは、Alteryx Oneのコントロールプレーン用に予約されています。以下は、VPC CIDRの設定に使用しないでください。
100.64.0.0/1010.4.0.0/1410.64.0.0/2010.0.0.0/22
仮想ネットワークを作成します。
[サブネット作成モード]で[カスタム]に選択します。
既定のファイアウォールルールを無効または削除します。
[動的ルーティングモード]で[グローバル]に選択します。
VPCにはサブネットが1つ必要です。次の表に示すようにサブネットを設定します。
サブネット名 | サブネットサイズ | セカンダリサブネット名 | セカンダリサブネットサイズ |
|---|---|---|---|
aac-private | 10.10.10.0/24 | N/A | N/A |
aac-private (必須) - このグループは、PDP専用にサービスを実行します。
重要
表のサブネットIPアドレスとサイズは一例です。
お使いのネットワークアーキテクチャに合わせて、必要に応じて値を変更してください。サブネットのリージョンは、「プライベートデータ処理」をプロビジョニングするリージョンである必要があります。
サブネット名は、必ずテーブルに示されている名前と同じ名前に設定してください。
ステップ4b: サブネットのルートテーブル
重要
プロジェクト内のインターネットへのネットワーク接続を使用してVPCを設定する必要があります。
注記
<gateway id>は、お使いのネットワークアーキテクチャに応じて、NATゲートウェイまたはインターネットゲートウェイのいずれかになります。
以下は、サブネットルートテーブルの例です。
アドレス接頭辞 | 次のホップ |
|---|---|
/24 CIDRブロック(aac-private) | aac-vpc |
0.0.0.0/0 | <gateway_ID> |
ステップ4c: IPをホワイトリストに登録する
Alteryx Cloud製品は、Kubernetesクラスター内にデプロイされます。コントロールプレーンは、WireGuard VPNトンネルを介してデータプレーンKubernetesクラスターと安全に通信します。WireGuard VPNを介したシームレスで安全な通信を有効にするには、以下のIPアドレスのイングレストラフィックとエグレストラフィックの両方を、データプレーンネットワーク内でホワイトリストに登録する必要があります。
Alteryx CloudのPDP | ホワイトリストに登録するIP |
|---|---|
us1.alteryxcloud.com | WireguardサーバーIP: TCPポート UDPポート コントロールプレーンIP: Teleport IP: TCPポート TCPポート |
eu1.alteryxcloud.com | WireguardサーバーIP: TCPポート UDPポート コントロールプレーンIP: Teleport IP:
|
au1.alteryxcloud.com | WireguardサーバーIP: TCPポート
コントロールプレーンIP: Teleport IP:
|
preprod.alteryxcloud.com | WireguardサーバーIP: TCPポート
コントロールプレーンIP: Teleport IP:
|
ステップ5: キーリングとキーの作成
データソースの資格情報は、キーを使用して暗号化され、プライベートデータプレーンプロジェクト内のプライベート保管庫(プライベート資格情報ストレージ)に安全に保存されます。これらの資格情報は、必要なときにのみ保管庫から取得されます。
ステップ5a: Secret Managerサービスエージェントの有効化
Google Cloudコンソールツールバーのターミナルアイコンを選択して、Google Cloud Shellを開きます。
次のコマンドを実行します。
$ gcloud beta services identity create --service "secretmanager.googleapis.com" \ --project <project id>出力は次のようになります。
Service identity created: service-<project number>@gcp-sa-secretmanager.iam.gserviceaccount.com
ステップ5b: サービスエージェントにIAMロールを付与する
[IAM]に移動し、[アクセス権を付与]を選択します。
新しいプリンシパル
service-<project number>@gcp-sa-secretmanager.iam.gserviceaccount.comを入力します。Cloud KMS暗号鍵の暗号化/複合ロールを付与します。
[保存]を選択します。
ステップ5c: キーリングとキーの作成
[セキュリティ] > [鍵管理]の順に移動します。
[キーリングを作成]を選択します。
キーリング名
aac-key-ringを入力します。[マルチリージョン]を選択し、ドロップダウンリストからリージョンを選択します。
[作成]を選択します。
キー名
aac-key入力します。[保護レベル]で[ソフトウェア]を選択します。
[作成]を選択します。
注記
各キーリングとキー名は、プロジェクト内で一意である必要があります。[プライベートデータ処理]ページでキーリングとキー名を入力する必要があります。
ステップ6: プライベートデータ処理のプロビジョニングをトリガーする
データ処理のプロビジョニングは、Alteryx One内の管理者コンソールからトリガーされます。このページを表示するには、ワークスペース内のワークスペース管理者権限が必要です。
Alteryx Oneのランディングページで、ユーザーのイニシャルが入った右上の丸いアイコンを選択します。メニューから[管理者コンソール]を選択します。
左側のナビゲーションメニューから[プライベートデータ処理]を選択します。
注意
プライベートデータ処理を設定した後に、Alteryx Oneをプロビジョニングされたパブリッククラウドリソースを変更または削除すると、不整合が生じる可能性があります。これらの不整合により、ジョブの実行中またはプライベートデータ処理設定のプロビジョニング解除時にエラーが発生する可能性があります。
続行する前に、プライベートデータストレージにSuccessfully Configuredと表示されていることを確認してください。ステータスがNot Configuredの場合は、まずプライベートデータストレージとしてのGCSに進み、その後このステップを実行します。
[プライベートデータ処理]セクションでは、5つのフィールドに入力する必要があります。これらの値は、「セットアップ手順」を完了すると取得できます。
[作成]を選択すると、必要に応じてGCPプロジェクトが設定されていることを確認するための一連の検証チェックがトリガーされます。権限が正しく設定されていない場合、または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またはセキュリティグループに、このアウトバンドトラフィックをブロックまたは制限するルールを追加で適用しないでください。
資格情報のローテーション
ステップ3a: サービスアカウントの作成のステップでは、「aac_automation_sa」という名前のサービスアカウントと、そのアカウント用のキーを作成しました。Alteryxはこれらの資格情報を管理しません。
Alteryxでは、ユーザーが所属する会社のポリシーに従ってこれらの資格情報をローテーションすることを推奨しています。会社にポリシーがない場合は、90日ごとにシークレットをローテーションすることを心がけてください。ただし、クラウドリソースとソフトウェアの更新、プライベート環境の健全性の監視、トラブルシューティングを行うには、AlteryxがVPCに常にアクセスできる必要があります。この資格情報をGCPでローテーションする場合は、必ずAlteryx One Platformにもログインして最新の資格情報を入力してください。