このページでは、Google Distributed Cloud(GDC)のエアギャップで Vertex AI サービスを実行するようにプロジェクトを設定する方法について説明します。これには、gdcloud CLI、信頼バンドル認証局(CA)、サービス アカウントを使用して開発環境を構成する手順が含まれています。これにより、ML をアプリケーションとワークフローに統合できるようになります。
このページは、AI 機能を使用してエアギャップ アプリケーションとワークフローの最適化を担当するアプリケーション オペレーター グループ内のアプリケーション デベロッパーを対象としています。詳細については、GDC エアギャップの対象読者に関するドキュメントをご覧ください。
管理者にプロジェクトの設定を依頼する
プロジェクトを設定するほとんどのタスクには、プラットフォーム管理者権限が必要です。管理者は、プロジェクトを識別するために、わかりやすいプロジェクト名とプロジェクト ID を決める必要があります。組織に属している場合や、複数のプロジェクトを作成する予定がある場合は、Distributed Cloud で認識される命名規則とエンティティを検討します。詳細については、リソース階層をご覧ください。
必要な権限がない場合は、管理者に依頼してプロジェクトを設定してもらいます。
このドキュメントの手順に沿ってプロジェクトを設定します。
始める前に
プロジェクトの作成とサービス アカウントの構成に必要な権限を取得するには、組織の IAM 管理者またはプロジェクトの IAM 管理者に、プロジェクトの Namespace で次のロールを付与するよう依頼します。
- プロジェクトを作成するには、プロジェクト作成者(
project-creator
)のロールを取得します。 - サービス アカウントを作成するには、プロジェクト IAM 管理者(
project-iam-admin
)ロールを取得します。
これらのロールについては、IAM 権限を準備するをご覧ください。サブジェクトに権限を付与する方法については、アクセス権の付与と取り消しをご覧ください。
次に、Vertex AI サービスをグループ化するプロジェクトを作成します。Distributed Cloud プロジェクトで課金が有効になっていることを確認します。
gdcloud CLI をインストールする
Distributed Cloud サービスを有効にして、ツールとコンポーネントにアクセスするには、gdcloud CLI をインストールします。
gdcloud CLI をインストールして必要なコンポーネントを管理する手順は次のとおりです。
- gdcloud CLI をダウンロードします。
gdcloud CLI を初期化します。
gdcloud init
詳細については、gdcloud CLI をインストールするをご覧ください。
必要なコンポーネントをインストールします。
gdcloud components install COMPONENT_ID
COMPONENT_ID
は、インストールするコンポーネントの名前に置き換えます。詳細については、gdcloud CLI コンポーネントを管理するをご覧ください。
gdcloud CLI を使用して認証します。
gdcloud auth login
構成済みの ID プロバイダで認証し、ユーザー ID と Kubernetes クラスタの kubeconfig ファイルを取得する方法については、gdcloud CLI 認証をご覧ください。
サービス アカウントを設定する
サービス アカウント(サービス ID とも呼ばれます)は、Vertex AI サービスの管理において重要な役割を果たします。これらは、ワークロードが Vertex AI サービスと AI モデルにアクセスし、承認された API 呼び出しをプログラムで行うために使用するアカウントです。たとえば、サービス アカウントは、Vertex AI Workbench ノートブックを管理して、Speech-to-Text API を使用して音声ファイルを文字変換できます。ユーザー アカウントと同様に、サービス アカウントには権限とロールを付与して、安全で制御された環境を提供できますが、人間のユーザーのようにログインすることはできません。
サービス アカウントの名前、プロジェクト ID、キーペアの JSON ファイルの名前を指定して、Vertex AI サービスのサービス アカウントを設定できます。
サービス アカウントの作成、ロール バインディングの割り当て、キーペアの作成と追加の方法については、サービス アカウントを管理するをご覧ください。
gdcloud CLI を使用してサービス アカウントを設定する手順は次のとおりです。
サービス アカウントの作成:
gdcloud iam service-accounts create SERVICE_ACCOUNT --project=PROJECT_ID
次のように置き換えます。
SERVICE_ACCOUNT
: サービス アカウントの名前。 名前はプロジェクト名前空間内で一意にする必要があります。PROJECT_ID
: サービス アカウントを作成するプロジェクト ID。gdcloud init
がすでに設定されている場合は、--project
フラグを省略できます。
アプリケーションのデフォルト認証情報の JSON ファイルと公開鍵と秘密鍵のペアを作成します。
gdcloud iam service-accounts keys create APPLICATION_DEFAULT_CREDENTIALS_FILENAME \ --project=PROJECT_ID \ --iam-account=SERVICE_ACCOUNT \ --ca-cert-path=CA_CERTIFICATE_PATH
次のように置き換えます。
APPLICATION_DEFAULT_CREDENTIALS_FILENAME
: JSON ファイルの名前(my-service-key.json
など)。PROJECT_ID
: 鍵を作成するプロジェクト。SERVICE_ACCOUNT
: 鍵を追加するサービス アカウントの名前。CA_CERTIFICATE_PATH
: 認証エンドポイントを検証する認証局(CA)証明書のパスのオプション フラグ。このパスを指定しない場合、システム CA 証明書が使用されます。CA はシステム CA 証明書にインストールする必要があります。
Distributed Cloud は、秘密鍵が署名する JSON ウェブトークン(JWT)の検証に使用するサービス アカウント キーに公開鍵を追加します。秘密鍵は、アプリケーションのデフォルト認証情報の JSON ファイルに書き込まれます。
ロール バインディングを割り当てて、サービス アカウントにプロジェクト リソースへのアクセス権を付与します。ロールの名前は、サービス アカウントを使用する Vertex AI サービスによって異なります。
gdcloud iam service-accounts add-iam-policy-binding \ --project=PROJECT_ID \ --iam-account=SERVICE_ACCOUNT \ --role=ROLE
次のように置き換えます。
PROJECT_ID
: ロール バインディングを作成するプロジェクト。SERVICE_ACCOUNT
: 使用するサービス アカウントの名前。ROLE
: サービス アカウントに割り当てる事前定義ロール。ロールはRole/name
形式で指定します。ここで、Role は Kubernetes タイプ(Role
やProjectRole
など)で、name は事前定義ロールの Kubernetes リソース名です。たとえば、Vertex AI 事前トレーニング済み API の一部を使用するためにサービス アカウントに割り当てることができるロールは次のとおりです。- AI OCR デベロッパー(
ai-ocr-developer
)ロールを割り当てるには、ロールをRole/ai-ocr-developer
に設定します。 - AI Speech デベロッパー(
ai-speech-developer
)ロールを割り当てるには、ロールをRole/ai-speech-developer
に設定します。 - AI Translation 開発者(
ai-translation-developer
)ロールを割り当てるには、ロールをRole/ai-translation-developer
に設定します。
- AI OCR デベロッパー(