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

このページでは、プロジェクトで Vertex AI サービスを実行できるようにするために、Google Distributed Cloud(GDC)エアギャップ アプライアンスで完了する必要があるタスクについて説明します。このページでは、開発環境で gdcloud CLI を構成する手順についても説明します。ML(機械学習)アプリケーションと AI(人工知能)アプリケーションに Vertex AI を実装するプロジェクトで、次の手順を完了します。

必要な権限がない場合は、管理者に依頼して、プロジェクトを代わりに設定してもらいます。

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

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

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

始める前に

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

  • プロジェクトを作成するには、プロジェクト作成者(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 呼び出しをプログラムで行うために使用するアカウントです。ユーザー アカウントと同様に、サービス アカウントには権限とロールを付与して、安全で制御された環境を提供できますが、人間のユーザーのようにログインすることはできません。

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

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

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 タイプ(RoleProjectRole など)で、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 に設定します。