Vertex AI 用にプロジェクトを設定する

Google Distributed Cloud(GDC)エアギャップ アプライアンスの Vertex AI を使用すると、アプリケーションで ML ワークロードと AI ワークロードを実行できます。Vertex AI サービスを実装する前に、プロジェクトを準備し、開発環境で gdcloud CLI とサービス アカウントを構成します。必要な権限がない場合は、管理者にプロジェクトの設定を依頼してください。

管理者にプロジェクトの設定を依頼する

プロジェクトを設定するタスクのほとんどは、管理者アクセス権が必要です。管理者は、プロジェクトの名前空間で Vertex AI サービスを実行できるように、次の手順でプロジェクトを設定する必要があります。

  1. ドメイン ネーム システム(DNS)情報を使用してアプライアンスを構成します。
  2. プロジェクトを識別するために、わかりやすいプロジェクト名とプロジェクト ID を決めます。
  3. このドキュメントの手順に沿ってプロジェクトを設定します。

始める前に

プロジェクトを作成してサービス アカウントを構成するために必要な権限を取得するには、組織の IAM 管理者またはプロジェクトの IAM 管理者に、プロジェクトの名前空間で次のロールを付与するよう依頼してください。

  • プロジェクトを作成するには、プロジェクト作成者(project-creator)ロールを取得します。
  • サービス アカウントを作成するには、プロジェクト IAM 管理者(project-iam-admin)ロールを取得します。

これらのロールについては、IAM 権限を準備するをご覧ください。サブジェクトに権限を付与する方法については、アクセス権の付与と取り消しをご覧ください。

次に、Vertex AI サービスをグループ化するプロジェクトを作成します。

gdcloud CLI をインストールする

GDC エアギャップ アプライアンス サービスを有効にして、ツールとコンポーネントにアクセスするには、gdcloud CLI をインストールします。

gdcloud CLI をインストールして必要なコンポーネントを管理する手順は次のとおりです。

  1. gdcloud CLI をダウンロードします。
  2. gdcloud CLI を初期化します。

    gdcloud init
    

    詳細については、gdcloud CLI をインストールするをご覧ください。

  3. 必要なコンポーネントをインストールします。

    gdcloud components install COMPONENT_ID
    

    COMPONENT_ID は、インストールするコンポーネントの名前に置き換えます。

    詳細については、gdcloud CLI コンポーネントを管理するをご覧ください。

  4. gdcloud CLI を使用して認証します。

    gdcloud auth login
    

    構成済みの ID プロバイダで認証し、ユーザー ID と Kubernetes クラスタの kubeconfig ファイルを取得する方法については、gdcloud CLI 認証をご覧ください。

サービス アカウントを設定する

サービス ID とも呼ばれるサービス アカウントは、Vertex AI サービスの管理において重要な役割を果たします。これらは、ワークロードが Vertex AI サービスにアクセスし、承認された API 呼び出しをプログラムで行うために使用するアカウントです。ユーザー アカウントと同様に、サービス アカウントには権限とロールを付与して、安全で制御された環境を提供できますが、人間のユーザーのようにログインすることはできません。

Vertex AI サービスのサービス アカウントを設定するには、サービス アカウントの名前、プロジェクト ID、鍵ペアの JSON ファイルの名前を指定します。

サービス アカウントを作成し、ロール バインディングを割り当て、鍵ペアを作成して追加する方法については、プロジェクトでサービス アカウントを使用して認証するをご覧ください。

gdcloud CLI を使用してサービス アカウントを設定する手順は次のとおりです。

  1. サービス アカウントの作成:

    gdcloud iam service-accounts create SERVICE_ACCOUNT --project=PROJECT_ID
    

    次のように置き換えます。

    • SERVICE_ACCOUNT: サービス アカウントの名前。 名前はプロジェクトの名前空間内で一意である必要があります。
    • PROJECT_ID: サービス アカウントを作成するプロジェクトのプロジェクト ID。gdcloud init がすでに設定されている場合は、--project フラグを省略できます。
  2. アプリケーションのデフォルト認証情報の 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 証明書にインストールする必要があります。

    GDC エアギャップ アプライアンスは、秘密鍵が署名する JSON ウェブトークン(JWT)の検証に使用するサービス アカウント キーに公開鍵を追加します。秘密鍵は、アプリケーションのデフォルト認証情報の JSON ファイルに書き込まれます。

  3. ロール バインディングを割り当てて、サービス アカウントにプロジェクト リソースへのアクセス権を付与します。ロールの名前は、サービス アカウントを使用する 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 は事前定義ロールの名前です。たとえば、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 に設定します。