このページでは、Google Distributed Cloud(GDC)エアギャップ環境で Vertex AI サービスを実行するようにプロジェクトを設定する方法について説明します。これには、gdcloud CLI、トラスト バンドル認証局(CA)、サービス アカウントを使用して開発環境を構成する手順が含まれています。これにより、アプリケーションとワークフローに機械学習を統合できます。
このページは、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_IDCOMPONENT_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: サービス アカウントの名前。この名前は、プロジェクト Namespace 内で一意である必要があります。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 Web Token(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 デベロッパー(