GCPでのGleanのデプロイ

概要
Gleanは、お客様が独自のGoogle Cloud Platform(GCP)プロジェクト内にGleanソフトウェアをデプロイできる機能を提供しています。このデプロイには、以下の手順が必要です。
- 新しいGCPプロジェクトを作成します。
- 有効な課金アカウントを関連付けます。
- 適用可能なGCP APIを有効にします。
- GCPから必要なクォータの増加をリクエストします。
- プロジェクトオーナーロールを持つサービスアカウントを作成し、JSONアカウントキーを関連付けます。
- GCPで選択したゾーン、プロジェクト名、プロジェクトID、およびサービスアカウントJSONキーをGleanに通知します。
上記の手順を完了すると、Gleanのシステムが自動的に必要なコンピュート、ワークフロー、およびソフトウェアをGCPプロジェクトにビルドおよびデプロイします。
この段階では、Gleanはテナントの準備ができたことを通知し、管理者がはじめにガイドのセットアッププロセスを進めることができます。
このドキュメントでは、GCPの管理者がGleanビルドに必要な手順を準備する方法について説明します。
1. GCPリージョンの選択
まず、Gleanが環境を構築するためにサポートされているGCPリージョンを選択する必要があります。
詳細情報: サポートされているGCPリージョン
Gleanに選択したGCPのゾーンを通知する必要があります。例:asia-northeast1-a
Danger
テナントがビルドされた後は、選択したリージョンを変更することはできません。リージョンを変更するには、テナントを完全に再ビルドする必要があります。
2. GCPプロジェクトの作成
-
GCPコンソールのリソースの管理ページに移動し、プロジェクトの作成をクリックします。
-
表示される新しいプロジェクトウィンドウで、プロジェクト名、組織、場所を追加します。
- プロジェクト名は、
glean-{顧客名}またはglean-{顧客名}-{prod/sandbox}の形式が推奨されています。 - 例:
glean-companyまたはglean-company-prod
- プロジェクト名は、
-
プロジェクトがGoogle Workplaceアカウントと同じ組織の下に作成されていることを確認してください。"組織なし"ではありません。
Danger
プロジェクトが"組織なし"の下に作成されている場合、Gleanはビルドを進めることができません。解決方法がわからない場合は、GCPアカウントチームまたはGCPサポートにお問い合わせください。
-
プロジェクト名の下にあるプロジェクトID(プロジェクト名の直下)とプロジェクト番号を保存します。
-
作成をクリックします。
-
次の情報をGleanに通知します:
a. プロジェクト名(例:
glean-company)→ ステップ2で設定しました。b. プロジェクトID(例:
glean-company)→ ステップ4で保存しました。c. プロジェクト番号(例:
715000000000)→ ステップ4で保存しました。
3. 課金の設定
GCPコンソールのBillingに移動します。
-
課金アカウントをリンクをクリックして、このプロジェクトの課金を設定します。
Warning
課金アカウントに法人のクレジットカードが関連付けられていることを確認してください。"無料トライアルの課金層"を使用することはできません。
4. APIの有効化
Gleanのデプロイには、以下のGCP APIが有効になっている必要があります。各APIのURLの末尾にプロジェクトのProject IDを置き換えて、APIをプロジェクトで有効にします。
| API名 | URL |
|---|---|
| Cloud Resource Manager API (cloudresourcemanager.googleapis.com) | https://console.cloud.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=[PROJECT_ID] |
| Service Usage API (serviceusage.googleapis.com) | https://console.developers.google.com/apis/api/serviceusage.googleapis.com/overview?project=[PROJECT_ID] |
| Compute Engine API (compute.googleapis.com) | https://console.developers.google.com/apis/api/compute.googleapis.com/overview?project=[PROJECT_ID] |
| Cloud SQL Admin API (sqladmin.googleapis.com) | https://console.developers.google.com/apis/api/sqladmin.googleapis.com/overview?project=[PROJECT_ID] |
5. クォータの変更リクエスト
GCPコンソールの検索ボックスで[Quotas]と検索し、IAM&Adminのすべてのクォータに移動します。
以下のテーブルの各クォータについて、次の手順でクォータ変更をリクエストします。
- 必要なクォータをクリックします。
- クォータの編集を選択します。
- Gleanが指定するクォータの値を入力します。
- リクエストの送信をクリックします。
Info
一部のクォータリクエストには、GCPサポートにチケットを提出する必要があります。通常、回答時間は2日以内です。
Warning
クォータリクエストで指定するリージョン/場所が、デプロイしたいGCPリージョン/ゾーンと一致していることを確認してください。詳細については、サポートされているGCPリージョンを参照してください。
NC (Feb 25): Removed for compatibility. TODO: Will add back in.
NC (Feb 25): Removed for compatibility. TODO: Will add back in.
NC (Feb 25): Removed for compatibility. TODO: Will add back in.
6. サービスアカウントの作成
サービスアカウントは、Gleanのシステムがプロジェクトにアクセスしてビルドを実行するために使用されます。サービスアカウントを作成し、Gleanに必要なプライベートJSONキーを提供します。
-
GCPコンソールのサービスアカウントページに移動し、プロジェクトを選択をクリックします。
-
サービスアカウントの作成をクリックします。サービスアカウント名(
glean-admin)、ID、および説明(オプション)を入力し、作成をクリックします。 -
役割を選択ドロップダウンをクリックして、サービスアカウントをプロジェクトのオーナーにします。続行をクリックします。
-
このサービスアカウントへのユーザーアクセスを許可するオプションは無視します。必要ありません。
-
キーの作成をクリックします。表示されるパネルで、キータイプをJSONに、作成に設定します。これにより、プライベートなJSONキーがコンピュータに保存されます。
7. サービスアカウントキーをGlean Admin UIにアップロードする
すでに行っていない場合は、はじめにガイドの管理者UIにアクセスするセクションの手順に従ってください。 * https://app.glean.com/adminにアクセスします。 * メールアドレスを入力して、サインイン用のリンクをメールで受け取ります。
-
Google Cloud Platformプロジェクトを作成というページで、ステップ2の下のボックスをクリックして、プライベートなJSONキーをGleanにアップロードします。
-
保存をクリックします。Gleanは、JSONキーを使用して、上記の手順が正しく実行されているかを検証します。
Success
保存が成功した場合、Gleanテナントのビルドが準備完了です。続行するには、Gleanアカウントチームに連絡してください。
Failure
保存に失敗した場合、赤いエラーメッセージが表示され、修正する必要がある問題が詳細に説明されます。Gleanテナントのビルドを進める前に、キーを正しく保存する必要があります。
FAQ
Gleanにサービスアカウントと/またはプロジェクトオーナーロールを提供したくありません。自分ですべてをビルドすることはできますか?
いいえ。GleanはInfrastructure as Code(IaC)を利用しており、すべてのビルドシステムが自動化されています。これにより、展開の一貫性、信頼性、およびセキュリティが確保されます。
Gleanにサービスアカウントを提供することで、これらのプロセスを効果的に管理できます。自分ですべてをビルドしようとすると、時間がかかるだけでなく、エラーやセキュリティリスクの可能性もあります。
プロジェクトオーナーロールを持つサービスアカウントによって、Gleanは環境内のどのリソースにアクセスできますか?
特定のプロジェクトに対してオーナーロールで生成されたサービスアカウントは、その特定のプロジェクト内のリソースとサービスに制限されます。同じGCPテナント内であっても、そのプロジェクトの外部のリソースにアクセスまたは変更する権限はありません。
サービスアカウントの権限は、それに付与された役割によって定義されます。オーナーロールは、割り当てられたプロジェクト内のすべてのリソースに完全なアクセス権を付与しますが、GCPテナント内の他のプロジェクトには及びません。
詳細情報: プロジェクトオーナーロールを持つGCPサービスアカウント
ビルドが完了した後、作成したサービスアカウントと関連するJSONキーを取り消す/削除することはできますか?
はい。ビルドの一環として、Gleanは自動的にメンテナンスサービスアカウントを作成し、環境の自動管理、更新、パッチ適用に使用します。提供した元のJSONキーと関連するアカウントは取り消すことができます。
セキュリティ上の理由から、Gleanが完成したビルドにアクセスできないようにしたいです。メンテナンスアカウントも取り消せますか?
いいえ。Gleanは、テナントへのアップデート(新機能やセキュリティ修正を含む)をロールするためにこのアカウントが必要です。
Gleanのアクセスを意図的に制限またはブロックすると、GleanのサービスとサポートのSLAが無効になり、サポートチームが問題のトラブルシューティングをサポートする能力に影響を与えます。
Danger
Gleanは従来のセルフホスト型サービスではありません。GleanテナントはGleanによって管理されるマネージドサービスとして実行され、SaaSテナントとインフラストラクチャとともに最新の状態を保ちます。
継続的なテナントのサービス管理を提供するために、適切なアクセスが必要です。これはメンテナンスサービスアカウントを介して行われます。