GCPでのMachine Learning
このガイドに従って、Google Cloud Platform (GCP)プライベートデータ処理用にMachine Learningモジュールをデプロイします。
必要条件
Machine Learningモジュールを展開する前に、プライベートデータ用のGCPプロジェクトとVPCのセットアップページで次の手順を完了する必要があります。
「仮想プライベートネットワークの設定」セクションで説明されているように、Alteryx One専用のVPCが設定されている。
「IAMの設定」セクションで説明されているように、サービスアカウントとサービスアカウントに紐付いたベースIAMロールが用意されている。
「プライベートデータ処理のプロビジョニングをトリガーする」セクションで説明されているように、プライベートデータ処理のプロビジョニングが正常にトリガーされている。
プロジェクトの設定
ステップ1: IAMの設定
ステップ1a: IAMをサービスアカウントに紐付ける
次の追加ロールを、プライベートデータ用のGCPプロジェクトとVPCのセットアップで作成したaac-automation-saサービスアカウントに割り当てます。
Computeロードバランサ管理者:
roles/compute.loadBalancerAdminComputeインスタンス管理者(v1):
roles/compute.instanceAdmin.v1Computeストレージ管理者:
roles/compute.storageAdminKubernetes Engineクラスタ管理者:
roles/container.clusterAdminストレージ管理者:
roles/storage.adminCloud Memorystore Redis管理者:
roles/redis.admin
ステップ2: サブネットの設定
注記
Designer Cloud は、Machine Learning、Auto Insights、およびApp Builderとサブネットの設定を共有します。これらのアプリケーションを複数展開している場合、サブネットの設定は一度のみ必要になります。
プライベートデータ処理環境のMachine Learningには、3つのサブネットが必要です。以前VPCの作成時に、aac-privateサブネットを作成しています。再度作成する必要はありませんが、ここではすべてを説明するため記載しています。
aac-gke-node (必須): GKEクラスターは、このサブネットを使用してAlteryxソフトウェアのジョブ(接続、変換、処理、公開)を実行します。
aac-public (必須): このグループでサービスは実行されませんが、
gke_node groupがクラスターからの出力にこのサブネットを使用します。aac-private (必須): このグループは、PDP専用にサービスを実行します。
ステップ2a: VPCでサブネットを作成する
aac-vpc VPCでサブネットを設定します。
以下の例に従ってサブネットを作成します。サブネットサイズとセカンダリサブネットサイズは、利用中のネットワークアーキテクチャに合わせて調整できます。
アドレス空間は、完全にスケールアウトされたデータ処理環境に対応するように設計されています。必要に応じてアドレス空間を小さくすることもできますが、処理負荷が高くなったときにスケーリングに問題が発生する可能性があります。
重要
サブネット名は固定されているため、次のテーブルと一致している必要があります。
サポートされているリージョンの一覧から任意のリージョンを選択できます。ただし、同じリージョンをサブネットリージョンにも使用する必要があり、この後の「プロビジョニングのトリガー」ステップでも同じリージョンを使用する必要があります。
サブネット名 | サブネット | セカンダリサブネット名 | セカンダリサブネットサイズ | メモ |
|---|---|---|---|---|
aac-gke-node | 10.0.0.0/22 | aac-gke-pod | 10.4.0.0/14 | GKEクラスター、GKE Pod、GKEサービスサブネット。 |
| aac-gke-service | 10.64.0.0/20 |
| |
aac-public | 10.10.1.0/25 | N/A | N/A | パブリックエグレス。 |
ステップ2b: サブネットのルートテーブル
サブネット用のルートテーブルを作成します。
重要
登録しているインターネットへのネットワーク接続を使用してVnetを設定する必要があります。
注記
このルートテーブルは一例です。
アドレス接頭辞 | ネクストホップタイプ |
|---|---|
/22 CIDRブロック(aac-gke-node) | aac-vpc |
/24 CIDRブロック(aac-private) | aac-vpc |
/25 CIDRブロック(aac-public) | aac-vpc |
0.0.0.0/0 | <gateway_ID> |
注記
<gateway id>は、お使いのネットワークアーキテクチャに応じて、NATゲートウェイまたはインターネットゲートウェイのいずれかになります。
プライベートデータ処理
注意
プライベートデータ処理を設定した後に、Alteryx Oneをプロビジョニングされたパブリッククラウドリソースを変更または削除すると、不整合が生じる可能性があります。これらの不整合により、ジョブの実行中またはプライベートデータ処理設定のプロビジョニング解除時にエラーが発生する可能性があります。
ステップ1: Machine Learningのデプロイをトリガーする
データ処理のプロビジョニングは、Alteryx One内の管理者コンソールからトリガーされます。このページを表示するには、ワークスペース内のワークスペース管理者権限が必要です。
Alteryx Oneのランディングページで[プロファイル]メニューを選択し、[ワークスペース管理者]を選択します。
管理者コンソールから[プライベートデータ処理]を選択し、[Processing]を選択します。
[Machine Learning]チェックボックスを選択し、[更新]を選択します。
[更新]を選択すると、GCPプロジェクト内のクラスターとリソースのデプロイがトリガーされます。これにより、一連の検証チェックが実行され、GCPプロジェクトの設定が正しいことが確認されます。
注記
プロビジョニングプロセスの完了には、約35-40分かかります。
プロビジョニングが完了すると、作成したリソース(VMインスタンスやノードグループなど)をGCPコンソールから表示できます。これらは絶対に自分で変更しないでください。手動で変更すると、プライベートデータ処理環境の機能に問題が発生する可能性があります。
ステップ2: KubernetesサービスアカウントのIAMロールの更新
プライベートデータ処理が正常に設定されると、credential-pod-saという名前のKubernetesサービスアカウントが作成されます。このアカウントにより、Kubernetes資格情報サービスが、キー保管庫に保存されているプライベートデータ資格情報にアクセスできるようになります。
注記
<project number>と<project id>を、プロジェクトのプロジェクト番号とプロジェクトIDに置き換えます。
[鍵管理]に移動し、ステップ5: キーリングとキーの作成で作成したキーを持つキーリングを選択します。
[PERMISSIONS]を選択し、[GRANT ACCESS]を選択します。
[新しいプリンシパル]フィールドに、次のように入力します。
principal://iam.googleapis.com/projects/<project-number>/locations/global/workloadIdentityPools/<project-id>.svc.id.goog/subject/ns/credential/sa/credential-pod-sa
Cloud KMS暗号鍵の暗号化/複合ロールおよびSecret Manager管理者ロールを付与します。
[保存]を選択します。