🎯 はじめに:本番ローンチの直前に通る道
本記事はシリーズ 「Gemini AI プラットフォーム活用」の第 5 回 です。これまで 課金構造・モデル選定・Batch API・Python 実装 を扱ってきました。今回は、**PoC で動いた AI Studio ベースのコードをそのままエンタープライズ運用に乗せるための Vertex AI 移行(基本編)**を扱います。
⚡ 結論を先に: SDK レベルでは
vertexai=Trueを加えるだけで移行できます。残りの 80% は GCP プロジェクト側の準備(IAM、VPC、監査、予算)。本記事はその「残り 80%」のチェックリストを整理します。⚠ ただし Batch API だけは別物: Vertex AI の Batch API は AI Studio とは入出力経路が完全に異なり(Files API → GCS)、
vertexai=True1 行では移行できません。次回 Part 6: Vertex AI Batch API 編 で個別に扱います。
🔍 AI Studio vs Vertex AI 機能比較
| 項目 | Google AI Studio(Gemini Developer API) | Vertex AI |
|---|---|---|
| 対象ユーザー | 開発者・スタートアップ・PoC | エンタープライズ・本番運用 |
| 料金 | 無料枠あり、従量課金 | 従量課金(若干高め)、PT 対応 |
| 認証 | APIキー | IAM・サービスアカウント |
| セキュリティ | 基本的 | VPC-SC、Private Service Connect 対応 |
| SLA | なし | あり(エンタープライズ向け) |
| MLOps | なし | Model Registry、モニタリング、評価 |
| マルチテナント | 困難 | IAM で柔軟に対応可能 |
| コンプライアンス | 限定的 | SOC2、ISO、FedRAMP 対応 |
| SDK | google-genai | 同じ SDK で切り替え可 |
💡 ポイントは最後の 「同じ SDK で切り替え可能」。Part 4 で書いた Python コードはほぼそのまま動きます。
🗺 Vertex AI のメニュー構成
初めて Vertex AI を開くとメニューが多すぎて迷子になります。Gemini を使う観点で重要なものに絞ると以下のとおり。
Vertex AI
├── ダッシュボード ........... 全体の概要
├── Model Garden ............ 利用可能なモデル一覧(Gemini / Claude / Llama 等)
├── Vertex AI Studio 🆕 ..... プロンプトのテスト(AI Studio 相当)
├── 生成 AI の評価 🆕 ........ モデル評価ツール
│
├── Agent Builder
│ ├── エージェントデザイナー ... AI エージェント構築
│ ├── Agent Garden ......... テンプレート
│ └── Agent Engine ......... 実行環境
│
├── ツール .................. Function Calling 等
├── RAG Engine .............. RAG 構築支援(マネージド)
├── Vertex AI Search ........ 検索機能
├── ベクトル検索 ............ ベクトル DB(旧 Matching Engine)
│
├── ノートブック
│ ├── Colab Enterprise .... マネージド Colab
│ └── Workbench ........... JupyterLab 環境
│
├── モデルの開発
│ ├── Feature Store ....... 特徴量管理
│ ├── データセット ......... トレーニングデータ管理
│ ├── トレーニング ......... モデル学習
│ └── テスト .............. モデル評価
│
└── デプロイと使用
├── Model Registry ...... モデルバージョン管理
├── エンドポイント ....... 推論 API
├── バッチ推論 ⭐ ........ 大量データ処理(50% オフ)
└── モニタリング ......... 使用量・性能監視
最初に押さえるのは Model Garden / Vertex AI Studio / バッチ推論 / モニタリング の 4 つ。残りは段階的に学べば十分です。
🛠 SDK での切り替え:vertexai=True だけ
Part 4 で書いたクライアント初期化が、移行の唯一の差分です。
移行前(AI Studio / Gemini Developer API)
from google import genai
client = genai.Client(api_key=os.environ["GOOGLE_API_KEY"])
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="こんにちは",
)
移行後(Vertex AI)
from google import genai
client = genai.Client(
vertexai=True, # ← 追加
project="your-gcp-project", # ← GCP プロジェクト ID
location="asia-northeast1", # ← リージョン(東京)
)
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="こんにちは",
)
差分は Client(...) の引数 3 つだけ。API 呼び出し以降は同じコードで動きます。これが Vertex AI 移行を「ほぼ無料リファクタリング」と言える根拠です。
認証方法の違い
| 項目 | AI Studio | Vertex AI |
|---|---|---|
| 認証材料 | APIキー(文字列) | サービスアカウントキー or ADC(推奨) |
| 設定方法 | GOOGLE_API_KEY env | gcloud auth application-default login or GOOGLE_APPLICATION_CREDENTIALS |
| 粒度 | キー単位 | IAM ロール単位(細かく制御可) |
開発者ローカルなら gcloud auth application-default login で済みますが、本番ワークロードでは Workload Identity Federation(WIF) を使ったキーレス認証が推奨です。WIF の詳細は SaaS セキュリティ — WIF キーレス認証編 を参照してください。
🪜 段階的な移行戦略
Phase 1: 開発・検証 Phase 2: 本番リリース Phase 3: マルチテナント拡大
─────────────────────────────────────────────────────────────────────────────────────────────────────────────►
│ │ │
│ AI Studio │ Vertex AI(Standard PayGo) │ Vertex AI + PT
│ - APIキー │ - vertexai=True │ - 専用スループット
│ - 無料枠フル活用 │ - IAM 認証(WIF 推奨) │ - 月額固定コスト
│ - Batch API で 50% オフ │ - VPC-SC / 監査ログ │ - SLA 保証
│ │ - Cloud Monitoring │ - 最低 1 週間契約
│ │ │
└─ 個人 PoC、社内検証 ──────────────────────► └─ プロダクション ────────────────────► └─ 高スループット安定運用
Phase 1(PoC): AI Studio で十分
- APIキーで即着手
- Free Tier / Tier 1 のレート制限内で検証
- Batch API でコストを抑えながらデータセット作成
Phase 2(本番): Vertex AI Standard PayGo
vertexai=Trueで SDK 設定変更- 認証を APIキー → IAM(WIF)に切替
- VPC-SC、Cloud Monitoring、予算アラートを整備
- Cloud Logging で監査ログ取得
Phase 3(拡大): Vertex AI + Provisioned Throughput
- マルチテナントで安定スループットが必要になったら検討
- 月額固定コストでレイテンシも安定
- 詳細は次節
💎 Provisioned Throughput(PT)とは
固定料金で専用スループットを確保する課金プラン。
| 項目 | Standard PayGo | Provisioned Throughput |
|---|---|---|
| 料金体系 | 使った分だけ | 月額固定(GSU 単位) |
| スループット | 共有・変動あり | 専用・保証あり |
| レイテンシ | 変動あり | 安定 |
| コスト予測 | 困難 | 確定 |
| 最低契約期間 | なし | 1 週間〜1 年 |
| キャンセル | いつでも | 契約期間中は不可 |
PT が向いているケース
- ✅ マルチテナントで安定した応答速度が必要(顧客 SLA に縛られる)
- ✅ 月額コストを固定したい(経理・予算管理上)
- ✅ リアルタイムチャットボット・AI エージェントで常時負荷
- ✅ 高スループットが常時必要(30,000 QPM 以上が目安)
PT が不要なケース
- ❌ バッチ処理がメイン → **Batch API(50% オフ)**のほうが安い
- ❌ トラフィックが不安定・予測困難
- ❌ 開発・検証段階
PT vs Batch API の判断表
| シナリオ | 推奨 | 理由 |
|---|---|---|
| リアルタイム API、安定スループット必須 | PT | 専用容量で SLA 保証 |
| 夜間バッチ、即時性不要 | Batch API | 50% オフで最安 |
| トラフィック変動大 | Standard PayGo | 柔軟性重視、無駄が出ない |
| ハイブリッド(リアルタイム + バッチ) | PT + Batch API | 用途別に使い分け |
💡 「リアルタイム部分だけ PT を確保して、夜間バッチは Batch API に流す」というハイブリッド構成は、コスト最適化の最終形です。
✅ 移行チェックリスト
実プロジェクトの移行で漏らしやすい項目を、上から実施順に並べたチェックリストです。
GCP プロジェクトの準備
- Vertex AI API の有効化(
gcloud services enable aiplatform.googleapis.com) - サービスアカウントの作成(または既存利用)
- IAM ロールの設定 — 最低限
roles/aiplatform.user、ログ書込にroles/logging.logWriter - WIF の設定(推奨)— サービスアカウントキーをコードに置かない
ネットワーク設定(必要に応じて)
- VPC Service Controls — データ持ち出し境界の設定
- Private Service Connect — Vertex AI を VPC 内から呼び出す
- エグレス経路の確認 — 既存のプロキシ・NAT ゲートウェイとの整合
コード変更
-
vertexai=Trueの追加(project/locationも) - APIキー → IAM 認証の切替 —
GOOGLE_API_KEY依存を排除 - モデル名の確認 — Vertex AI 側で同じモデル名が利用可能か
- エラーハンドリング —
errors.APIErrorの挙動を再テスト
モニタリング設定
- Cloud Monitoring アラート — エラー率・レイテンシ・トークン消費
- 予算アラート — 50% / 80% / 100% の通知設定(Part 1 参照)
- 使用量ダッシュボード — Looker Studio 等で可視化
- Cloud Logging — 監査ログ・リクエストログの保存先設計
コンプライアンス(必要に応じて)
- データ所在地の確認 —
locationを国内リージョン(asia-northeast1)に固定 - 顧客データの送信ポリシー — 個人情報の扱い、ログのマスキング
- モデルレスポンスの保存ポリシー — どこに何日保管するか
💰 Vertex AI の料金(参考)
Vertex AI の Gemini API 呼び出し料金は、Gemini Developer API とほぼ同じです。差分は周辺機能。
| 項目 | 料金 |
|---|---|
| Gemini API 呼び出し | Developer API とほぼ同じ |
| Batch 推論 | 通常から 50% オフ(Developer API と同じ仕組み) |
| エンドポイント(アイドル時) | ノード時間で課金(カスタムモデル時のみ) |
| ストレージ(GCS) | 標準 GCS 料金 |
| Provisioned Throughput | GSU 単位の月額固定 |
💡 純粋に Gemini 呼び出しだけなら Vertex AI に乗せてもコストはほぼ変わらない。価値はセキュリティ・SLA・MLOps 側にあると割り切る。
🔮 シリーズの先:Vertex AI 各論へ
本シリーズは「AI Studio で動かす → Vertex AI で本番運用する」という基本動線をカバーする 5 回構成でした。Vertex AI 側の各論は今後、別記事として段階的に追加していく予定です。
- 🔜 Vertex AI RAG Engine — マネージド RAG の構築実例
- 🔜 Vertex AI Search — エンタープライズ検索基盤
- 🔜 ベクトル検索(Matching Engine) — 大規模ベクトル DB の構築
- 🔜 Provisioned Throughput の容量設計 — GSU 計算と契約戦略
- 🔜 VPC-SC + Private Service Connect での閉域構成 — 金融・公共向け
- 🔜 Workload Identity Federation × Vertex AI — キーレス認証のベストプラクティス
すでにシリーズ外で公開している関連記事もあわせてご覧ください。
- Gemini API モデル移行ガイド:2.5 → 3 への備え — モデル世代移行の準備
- BtoB SaaS セキュリティ — WIF キーレス認証編 — Vertex AI 認証の推奨形
- GCP / AWS キーレス認証の落とし穴 — WIF 運用上のハマりどころ
✅ 第 5 回まとめ
- Vertex AI 移行は
vertexai=Trueを加えるだけで SDK レベルは完了(Batch API を除く) - 残り 80% の作業は GCP プロジェクト側の整備(IAM、VPC、監査、予算、WIF)
- 認証は APIキー → サービスアカウント / WIF に切替
- Provisioned Throughput は「マルチテナント × 安定スループット必要」になったら検討
- リアルタイムは PT、バッチは Batch API、変動は PayGo の 3 方式ハイブリッドがコスト最適形
- Batch API だけは別物: Vertex AI 側は GCS 経路で実装が大きく異なる → 次回 Part 6 で詳説
次回 Vertex AI Batch API 編 では、AI Studio の Batch API(Files API 経路)と Vertex AI の Batch API(GCS 経路)の決定的な違いと、ハマりやすいポイント、実装テンプレートを扱います。
📚 シリーズ記事
| # | タイトル | 内容 |
|---|---|---|
| 1 | Google AI Studio 入門 | 課金・APIキー・料金体系・無料枠・予算アラート |
| 2 | モデル選定とマルチモーダル活用 | Flash / Pro / Flash-Lite、画像・動画・音声・PDF |
| 3 | Batch API で 50% 安く使う | 非同期バッチ、JSONL、Flash-Lite × Batch(AI Studio 編) |
| 4 | Python 実装ガイド | テキスト・Embedding・Vision・モデル切替 |
| 5 | Vertex AI 移行ガイド(基本編)(本記事) | エンタープライズ運用、Provisioned Throughput |
| 6 | Vertex AI Batch API 編 | GCS 経路、AI Studio Batch との違い、二系統運用 |