OCI Generative AIでのエージェントのデプロイの概要
コンテナ化されたエージェント・ワークロードの管理対象ランタイムを提供するOCI生成AIアプリケーションを使用して、エージェントをデプロイできます。
エージェントをデプロイするには、エージェントをコンテナ・イメージとしてパッケージ化し、それをOracle Cloud Infrastructure Registry (OCIR)にアップロードして、OCIコンソール、APIまたはCLIを使用してデプロイします。
デプロイメント時に、次を構成します。
- スケーリング
- ストレージ
- ネットワーク
- 認証
デプロイメント後、サービスは、クライアントまたは他のエージェントがエージェントの起動に使用できるエンドポイント(HTTP URLなど)をプロビジョニングします。
機能
エージェントをローカルに開発した後(たとえば、LangGraphまたは類似のフレームワークを使用して)、ランタイム構成を定義する生成AIアプリケーションを作成します。
次に、コンテナ・イメージを選択してデプロイメントを作成します。アクティブなデプロイメントは、アプリケーション・エンドポイントを介してリクエストを処理します。デプロイメントがプロビジョニングされると、エンドポイントはエージェントの起動に使用できるようになります。
ウォークスルー
生成AIアプリケーションを使用して、エージェントを管理対象のコンテナ化されたアプリケーションとしてOCI生成AIにデプロイします。
生成AIアプリケーションでは、コンテナ・イメージを構築し、それをOracle Cloud Infrastructure Registry (OCIR)にアップロードし、OCIコンソール、APIまたはCLIを使用してそのイメージを生成AIアプリケーションとしてデプロイします。
エージェントをデプロイするときに、次のようなアプリケーションの実行方法およびクライアントによるアクセス方法を構成できます。
- スケーリング
- ストレージ
- ネットワーク
- 認証
デプロイメントのプロビジョニング後、OCI生成AIは、クライアントがデプロイされたエージェントの起動に使用できるエンドポイント(HTTP URLなど)を提供します。
エージェントのデプロイは、OCI管理のデプロイメント構成およびエンドポイント・プロビジョニングを使用して、コンテナ化されたエージェント・アプリケーションの管理対象ランタイムが必要な場合に役立ちます。
詳細は、生成AIアプリケーションおよびコンテナ化されたエージェント・アプリケーションのデプロイに関するトピックを参照してください。
他のOCIコンテナ・デプロイメント・オプションとのアプリケーションの比較
生成AIアプリケーションとOCI Container InstancesとOracle Kubernetes Engine(OKE)を比較します。
OCI Generative AIアプリケーションは、エージェント・アプリケーションおよびMCPサーバーの管理対象デプロイメント・オプションを提供します。次の表に、他のOCIコンテナ・デプロイメント・ソリューションと比較します。
生成AIアプリケーションとOCIコンテナ・インスタンスの比較
| 能力 | GenAIアプリケーション | OCIコンテナ・インスタンス |
|---|---|---|
| 主用途 | Webサービス、特にエージェント・アプリケーションおよびMCPサーバー | バッチ・ジョブ、スクリプトおよびワーカー |
| トリガー・モデル | HTTPまたはイベントドリブン | 手動、API主導、またはスケジュール |
| スケーリング中 | 0インスタンスから多数のインスタンスへの自動スケーリング | 自動スケーリングが組み込まれていない |
| ゼロにスケール | はい | 自動ではない |
| ロード・バランシング | ビルトイン | ユーザー管理 |
| 抽象化レベル | より高いレベルのサーバーレス・スタイルのデプロイメント | 下位レベルのコンテナ実行 |
| 起動モデル | 高速なリクエストベースの起動 | 小さなVMのように起動します。 |
| ネットワーキング | 管理対象HTTPSエンドポイント | VCNレベルの制御 |
生成AIアプリケーションとOKEの比較
| 能力 | GenAIアプリケーション | OKE |
|---|---|---|
| 操作オーバーヘッド | 低 | 高い |
| スケーリング中 | 0からNへの自動スケーリング | HPAおよびクラスタの自動スケーリングで構成可能 |
| ゼロにスケール | はい | ネイティブではない |
| デプロイメント | コンテナ・イメージをプッシュしてシンプルに | マニフェストとHelmチャートにより、より複雑 |
| コントロール | 制限付き | フル・コントロール |
| ネットワーキング | フルマネージド | 完全にカスタマイズ |
| ユース・ケース | APIおよびステートレス・サービス | 複雑な分散システム |
サポートされているトランスポート・プロトコル
OCI生成AIでは、エージェントのデプロイ後、クライアントはプロビジョニングされたエンドポイントを介してエージェントを起動できます。トランスポート・プロトコルは、エージェント・サーバーの実装および必要な相互作用モデル(リクエスト/レスポンス、ストリーミングまたは双方向セッション)によって異なります。
サポートされているプロトコルは次のとおりです。
http
HTTPは、最も広くサポートされている呼出しモデルです。
- 相互作用モデル:ステートレス・リクエスト/レスポンス
- トランスポート: TLS経由のHTTP/1.1またはHTTP/2
- ユース・ケース:同期APIコールおよび短命推論リクエスト
このモードでは、クライアントはHTTPリクエスト(通常はJSONペイロードを含むPOST)を送信します。処理が完了すると、サーバーは単一のレスポンスを返します。
SSE (サーバー送信イベント)
Server-Sent Events (SSE)は、HTTP上に構築された単方向ストリーミング・プロトコルです。
- 相互作用モデル:クライアントからサーバー(単一リクエスト)、サーバーからクライアント(ストリーム・レスポンス)
- トランスポート:
Content-Type: text/event-streamを使用したHTTP - ユースケース:ストリーミング・レスポンス(トークンごとの出力など)
このモードでは、クライアントはリクエストを送信し、サーバーは増分結果をイベントとしてストリーミングしながら接続を開いたままにします。
WebSocket (全二重ストリーミング)
WebSocketは、クライアントとサーバー間の永続的な双方向通信を提供します。
- 相互作用モデル:全二重(クライアントおよびサーバーはいつでもメッセージを送信できます)
- トランスポート: WebSocketプロトコル(
wss://) - ユース・ケース:対話型エージェント、リアルタイムのツール実行、マルチターン・セッション
初期HTTPアップグレード・ハンドシェイク後、接続は開いたままになり、永続チャネルを介した双方向メッセージ交換が可能になります。
認証
インバウンド認証を設定して、OCIリソースに安全にアクセスするためのエージェントおよびアウトバウンド認証へのアクセスを制御します。
アプリケーションは、アイデンティティ・ドメインを使用したOAuth 2.0認証をサポートしています。エージェント・サポートの認証の設定を参照してください
インバウンド認証
インバウンド認証は、ホストされたエージェントにリクエストをルーティングする前にアイデンティティ・プロバイダからトークンを検証することで、エージェントにアクセスできるユーザーを制御します。
OCI生成AIは、Oracle Identity Cloud Service (IDCS)などのアイデンティティ・プロバイダと統合されたインバウンド認証のOAuth 2.0をサポートしています。「エージェント・サポートの認証の設定」を参照してください。
アウトバウンド認証
アウトバウンド認証により、デプロイされたエージェント・アプリケーションは、テナンシ内の他のOCIリソースに安全にアクセスできます。
アクセスは、指定されたリソースに対して特定のアクションを実行するようにエージェント・アプリケーションを(リソース・プリンシパルとして)認可するOCI IAMポリシーを定義することで付与されます。これらのポリシーは、最小権限の原則に基づいてアクセスの範囲を決定します。
デプロイメント後、プラットフォームはエージェント・ワークロードに対してリソース・プリンシパル・セッション・トークン(RPST)を自動的にプロビジョニングします。RPSTはコンテナ・ランタイムにセキュアに注入されるため、アプリケーションはAPIキーやユーザー・トークンなどの存続期間の長い資格証明を使用せずにOCIサービスに対して認証できます。
コンテナ内では、エージェントはリソース・プリンシパル認証プロバイダとともにOCI SDKを使用します。SDKはRPSTを自動的に取得およびリフレッシュし、Object Storage、Autonomous Database、Vault、Streamingなどの認可されたOCIサービスへのセキュアなアクセスを可能にします。
デプロイメントのネットワーキング
OCI Generative AIでは、デフォルトで、デプロイされたアプリケーションはパブリック・インターネットへのアウトバウンド・アクセスを持ちます。これにより、エージェント・ワークロードは、パブリックMCPサーバー、サードパーティAPI、基盤モデル・エンドポイント、その他のインターネット・ホスト・サービスなどの外部リソースにアクセスできます。
プライベート・ネットワーキングでは、顧客ネットワーキング・モードを有効にできます。このモードでは、テナンシ内のVCN内のターゲット・サブネットを指定します。このプラットフォームは、プライベート・エンドポイント/リバース接続エンドポイント(PE/RCE)を使用して、エージェント・ワークロードとサブネット間のセキュアな接続を確立します。
有効にすると、エージェントからのすべてのアウトバウンド(エグレス)トラフィックが、指定されたサブネットを経由してルーティングされます。こうすると、次のようになります。
- ネットワーク内のプライベート・リソース(データベース、コンピュート・インスタンス、内部サービスなど)へのセキュアなアクセス
- プライベート・ネットワーク境界内にとどまるトラフィック
- ネットワーク・セキュリティ・グループ(NSG)、ルート表およびファイアウォールなどのネットワーク・セキュリティ制御によるアウトバウンド接続の管理
- セキュリティ要件に基づくパブリック・インターネット・アクセスの制限または無効化
このモデルは、プラットフォームと環境間の明確なネットワーク分離を維持しながら、インターネットに直接接続されているワークロードとプライベートなエンタープライズ統合デプロイメントの両方をサポートします。
管理対象ストレージ
エージェントのワークロードでは、短期的なメモリー、チェックポイント、キャッシュおよびコンテキスト・ストレージをサポートするためにステートフル・サービスが必要になることがよくあります。運用を簡素化するために、OCI Generative AIは、デプロイされたエージェントにフルマネージド・ストレージ・サービスを提供します。
エージェントをデプロイするときに、次の管理対象記憶域オプションを1つ以上選択できます。
- PostgreSQL
- OCIキャッシュ
- Oracle Autonomous Database
これらのサービスは、アプリケーションに対して自動的にプロビジョニングおよび構成されます。
管理対象ストレージの動作
管理対象ストレージは、独自のテナンシでプロビジョニングするストレージとは異なります。
-
サービス管理のデプロイメント
ストレージはサービス・テナンシにプロビジョニングされ、(データベース・クライアントやパブリック・エンドポイントなどを介して)直接外部アクセスすることは公開されません。
-
アプリケーション・スコープ・アクセス
関連付けられたデプロイ済アプリケーションのみがそのストレージにアクセスできます。アクセスはプラットフォームによって管理されるため、手動によるネットワーキングまたは資格証明の構成は必要ありません。
-
ライフサイクル統合
ストレージは、エージェントのライフサイクルに関連付けられます。- エージェントのデプロイ時に作成されます。
- アプリケーションでのスケーリング(サポート対象)
- エージェントが削除されると削除されます
-
管理管理なし
このプラットフォームはストレージ・インフラストラクチャを管理します。基礎となるリソースに対するDBAレベルのアクセスまたは制御は行いません。
エージェントが削除されると、その管理対象ストレージは完全に削除され、リカバリできません。
顧客管理ストレージを使用するタイミング
次の場合は、顧客管理ストレージを使用します。
- 独立したストレージ・ライフサイクル
- 完全な管理制御
- 外部システムまたはツールからの直接アクセス
- アプリケーション間でのカスタム構成、拡張または共有アクセス
このような場合、独自のVCNおよびテナンシにストレージをプロビジョニングし、顧客ネットワーキング・モードを使用してエージェントが接続するように構成します。
このアプローチにより、インフラストラクチャの柔軟性と制御性が向上します。