Overview
このガイドでは、agentengine atlas コマンドを使用して、エージェント配置用の Atlas リソースをプロビジョニングする方法を学習できます。これらのコマンドは、ローカルに保存されたサービス アカウント プロファイルを使用して Atlas Admin API を直接呼び出すため、Atlas CLI のインストールは必要ありません。
agentengine atlas 面には 2 つのセットアップ パスが用意されています。
ガイド設定:
agentengine atlas setupコマンドでは、Atlas組織、プロジェクト、 クラスター、データベースユーザー、および Vyage APIキーを対話的に選択するよう求められます。プロンプトなしですべてのリソースを自動的に作成するには、--yesフラグを渡します。手動設定:
agentengine atlas profile、agentengine atlas cluster、agentengine atlas database-user、agentengine atlas voyage-api-keyコマンドは、スクリプトとデスクトップ ツール用の非インタラクティブ サブコマンドを提供します。
開始する前に、Atlas アカウント、少なくとも 1 つの Atlas組織にアクセスし、初期化されたエージェントプロジェクトがあることを確認してください。agentengine atlas ファイルを含むエージェントプロジェクトディレクトリ内からagent.yaml コマンドを実行する必要があります。プロジェクトを設定するには、「 エージェント プロジェクトを設定する 」を参照してください。この設定を完了するために必要な Atlas ロールについては、「 プロジェクト管理の Atlas ロール 」を参照してください。
Atlas Agent Engine は、次の理由で Atlas 無料クラスターをサポートしていません。
無料クラスターには、アクティブなエージェントがすぐに達する可能性のあるストレージ制限があります。
重要
エージェントがメモリを使用する場合は、メモリ データを保存するために Atlas Flex(最小要件)、M10 M20、 以上(推奨)の階層クラスターを選択するか作成します。詳しくは、「 エージェントにメモリを追加する 」を参照してください。
Atlas 認証プロファイル
agentengine atlas setup コマンドは、~/.agentengine/atlas.jsonファイルに保存されている認証情報を使用して Atlas で認証します。このファイルには、さまざまな環境またはサービス アカウントで使用する 1 つ以上の名前付きプロファイルが保存されています。コマンドは、--profile フラグを使用して別のプロファイルを指定しない限り、default プロファイルを使用します。
有効なエージェントプロジェクト内から agentengine atlas setup を実行するときに保存されたプロファイルまたは環境変数が存在しない場合は、CLI によりサービス アカウントのクライアントIDと シークレットの入力が求められ、それらが default プロファイルとして ~/.agentengine/atlas.json に保存されます。以下のスキーマを使用して、 コマンドを実行中前にファイルを手動で作成することもできます。
注意
Atlas OAuth の削除
Atlas Agent Engine にサインインすると、プラットフォームは Atlas から自動的にロールの割り当てを取得し、ユーザーがアクセスできる組織とプロジェクトを決定します。プラットフォームは、Atlas OAuth 2.1 App Connectionsサーバーを使用して Atlas へのアクセスを許可します。
プロファイル ファイル スキーマ
~/.agentengine/atlas.jsonファイルの構造は次のとおりです。
{ "version": 1, "profiles": { "default": { "base_url": "https://cloud.mongodb.com", "client_id": "<service-account-client-id>", "client_secret": "<service-account-client-secret>" } } }
複数の名前付きプロファイルを追加して、異なる Atlas 環境またはサービス アカウントで使用できます。デフォルト以外のプロファイルを使用するには、次の例に示すように --profile フラグを渡します。
agentengine atlas setup --profile <profile-name>
環境変数
プロファイルファイルを直接編集せずに、次の環境変数を使用して、認証情報を指定または上書きできます。
変数 | 説明 |
|---|---|
| 事前に取得された OAuth アクセス トークン。最も優先順位が高いです。 12 時間有効 |
| サービス アカウントクライアントID。 |
| サービス アカウントクライアントシークレット。 |
| プロファイルに保存されている Atlas ベースURLを上書きします。 |
コマンドは、次の順序で認証情報を解決します。
MONGODB_ATLAS_ACCESS_TOKEN設定されている場合はMONGODB_ATLAS_CLIENT_IDとMONGODB_ATLAS_CLIENT_SECRET(両方が設定されている場合)保存済みプロファイル
~/.agentengine/atlas.jsonターミナルが接続されている場合は、対話型プロンプト
コマンドシンタックスとオプション
agentengine atlas setup コマンドには、次の構文を使用します。
agentengine atlas setup [--yes] [--context <name>] [--workspace <name>] [--env <name>] [--profile <name>] [--force] [--org-id <id>] [--project-id <id>] [--workspace-id <id>]
コマンド フラグ
Flag | 説明 |
|---|---|
| 自動非インタラクティブ セットアップ パスを実行します。コマンドは、一致するリソースが存在しない場合に、ワークスペースIDベースの名前を使用して、Atlas クラスター、データベースユーザー、および Vyage APIキーを作成します。 |
|
|
| MongoDBプロジェクト内の特定のワークスペースを名前でターゲットにします。 |
| Atlas 環境を選択します。 CLI は、選択した環境を Atlas 状態で保存し、同じワークスペース コンテキスト内の後で Atlas コマンドで再利用します。 |
|
|
| 保存された Atlas リンクをリセットし、ガイド付き設定フローを再実行します。このフラグを使用して、構成を更新したり、新しい環境でリソースをプロビジョニングしたりします。 |
| 特定の組織IDを直接ターゲットにします。 |
| 特定のプロジェクトID を直接ターゲットにします。 |
| 特定のワークスペースID を直接ターゲットにします。 |
インタラクティブ フロー
agentengine atlas setup を実行すると、CLI は次の手順をガイドします。
組織: 番号付きメニューで Atlas 組織を一覧表示します。既存の組織を選択するか、新しい組織を作成します。
プロジェクト: 選択した組織内のプロジェクトを一覧表示します。既存のプロジェクトを選択するか、新しいプロジェクトを作成します。新しいプロジェクトには、プロジェクト スコープのサービス アカウントが付与されます。
クラスター: 選択したプロジェクト内のクラスターを一覧表示します。既存のクラスターを選択するか、サービスアカウントにクラスター作成権限がある場合は、新しいクラスターを作成します。
データベースユーザー:エージェントがクラスターに接続するために使用する認証情報を持つデータベースユーザーを作成します。
投票AI APIキー: エージェントのメモリ機能用の投票AI APIキーをプロビジョニングします。
シークレット: と
MONGODB_URIVOYAGE_API_KEYを Atlas エージェント エンジンのシークレットとして保存し、配置されたエージェントが Atlas クラスターと 投票AIに接続できるようにします。IP アクセス リスト: Atlas Agent Engine データ プレーンのIPアドレスをクラスターのIP アクセス リストに追加します。
フローが完了すると、CLI には各リソースのプロビジョニングステータスが表示されます。
注意
各手順で利用できるオプションは、Atlas のロールによって異なります。サービスアカウントに必要な権限がない場合、CLI は新しいリソースを作成するための オプションを省略し、既存のリソースのみを一覧表示します。
自動設定
インタラクティブ プロンプトなしですべての Atlas リソースを自動的に作成するには、--yes フラグを agentengine atlas setup コマンドに渡します。ワークスペースが初期化されていない場合、agentengine atlas setup --yes コマンドは最初に agentengine init を実行し、その後はワークスペースIDに基づく名前を使用して次のリソースを作成します。
Atlas cluster
という名前のデータベースユーザー
agent-engine-<workspace-id>という名前の投票APIキー
agent-engine-<workspace-id>
生成された名前に一致する保存されたメタデータまたは既存の Atlas リソースが見つかると、自動セットアップは停止します。新しいリソースセットを作成するには、競合するリソースを削除し、--force を渡します。
自動設定は、存在する場合、保存された Atlasプロジェクトを使用します。それ以外の場合、プロンプトなしで続行するには、表示される Atlas組織が 1 つと表示される Atlasプロジェクトが1 つ必要です。
コマンドを実行中前に、次の環境変数を設定することで、デフォルトのクラスター構成を上書きできます。
変数 | 説明 |
|---|---|
| 新しいクラスターのクラウドプロバイダー。デフォルト: |
| 新しいクラスターのクラウド リージョン。デフォルト: |
| クラスター階層。デフォルト: |
ステータスを設定する
agentengine atlas setup コマンドは、各実行の終了時にすべてのリソースのプロビジョニングステータスを表示します。現在の状態を再確認するか、完全な設定フローを再実行するには、次のコマンドを実行します。
agentengine atlas setup --force
IPアクセスを設定する
次のコマンドを使用して、完全なガイド設定フローを実行中せずに、Atlas Agent Engine の データプレーンのIPアドレスを AtlasプロジェクトのIP アクセス リストに追加します。
agentengine atlas setup-ip-access [--context <name>] [--workspace <name>] [--env <name>] [--profile <name>] [--json] [--org-id <id>] [--project-id <id>] [--workspace-id <id>]
コマンドは、Atlas Agent Engine 接続に必要なIPアドレスを、保存された Atlas プロジェクトのIP アクセス リストに追加します。マシンが判読可能な {"configured": true} 応答を受け取るには、--json フラグを渡します。
Tip
前提条件
このコマンドには、保存された Atlasプロジェクトが必要です。プロジェクトを選択するには、最初に agentengine atlas setup または agentengine atlas profile save を実行します。
Atlas 設定の終了
すべてのリソースコマンドが実行された後に、次のコマンドを使用して、オートメーションによるセットアップ フローを完了します。
agentengine atlas setup finalize [--context <name>] [--workspace <name>] [--env <name>] [--profile <name>] [--org-id <id>] [--project-id <id>] [--workspace-id <id>] --json
コマンドは、選択したクラスター、データベースユーザー、投票APIキー、MONGODB_URI、VOYAGE_API_KEY がすべて存在することを検証し、Atlas エージェント エンジンの Atlas IPアクセスを構成し、ワークスペースの Atlas 状態をリンク済みとしてマークします。出力には秘密値は含まれません。
Atlas プロファイル コマンド
agentengine atlas profile サブコマンドは、オートメーションワークフロー用のサービス アカウント プロファイルと Atlasプロジェクト選択を管理します。これらのコマンドは非インタラクティブであり、--json フラグが必要です。
プロファイルの一覧表示
次のコマンドを使用して、~/.agentengine/atlas.jsonファイルから保存されたプロファイルを返します。
agentengine atlas profile list --json
次の例に、出力形式を示します。
{ "schema_version": "1", "status": "ok", "profiles": [ {"name": "default", "base_url": "https://cloud.mongodb.com"} ] }
プロファイルの検証
次のコマンドを使用して、サービス アカウントの認証情報を検証し、アクセス可能な組織とプロジェクトを返します。
agentengine atlas profile verify --json --input -
- を --input フラグに渡して、stdin にJSONリクエストオブジェクトを渡します。このコマンドは、選択したプロファイル名、ベースURL、アクセス可能な組織とプロジェクトのリストを返します。出力にはアクセス トークンとシークレットは含まれません。
プロファイルの保存
次のコマンドを使用して、選択した Atlas組織とプロジェクトをワークスペースコンテキストに永続化します。
agentengine atlas profile save [--context <name>] [--workspace <name>] --json --input -
- を --input フラグに渡して、stdin にJSONリクエストオブジェクトを渡します。このコマンドは、Atlas の環境、プロファイル、組織、プロジェクトをワークスペースの .agentengine/state.jsonファイルに保存します。組織とプロジェクトの選択が変更されない場合、 コマンドは既存のクラスター、データベースユーザー、および 投票APIキーの選択を保持します。
Atlas クラスター コマンド
agentengine atlas cluster サブコマンドは Atlas クラスターを一覧表示し、ワークスペースのクラスター選択を保存します。 Atlasプロジェクト を選択するには、まず agentengine atlas profile save を実行します。
クラスターの一覧表示
保存された Atlasプロジェクト内のクラスターを返すには、次のコマンドを使用します。
agentengine atlas cluster list [--context <name>] [--workspace <name>] --json
次の例に、出力形式を示します。
{ "schema_version": "1", "status": "ok", "atlas_state": {}, "clusters": [ { "name": "my-cluster", "kind": "REPLICASET", "state_name": "IDLE", "is_flex": false } ], "create_defaults": { "name": "my-agent", "provider": "AWS", "region": "US_EAST_1", "tier": "FLEX", "label": "Flex" }, "can_create": true, "warnings": [] }
create_defaultsオブジェクトは、新しいクラスターに推奨される構成を提供します。 can_createフィールドは、選択したプロジェクト内でクラスターを作成する権限があるかどうかを示します。
クラスターの保存
既存のクラスターを選択するか、新しいクラスターを作成するには、次のコマンドを使用します。
agentengine atlas cluster save [--context <name>] [--workspace <name>] --json --input -
- を --input フラグに渡して、stdin にJSONリクエストオブジェクトを渡します。既存のクラスターを選択するには:
{"mode": "existing", "name": "my-cluster"}
新しいクラスターを作成するには:
{ "mode": "create", "name": "my-agent", "provider": "AWS", "region": "US_EAST_1", "tier": "FLEX" }
作成モードで nameフィールドを省略すると、CLI はワークスペースIDから名前を生成します。クラスターを作成すると Atlas でのプロビジョニングがプロビジョニングされ、すぐに返されます。 Atlas がクラスターのプロビジョニングを完了するまでに数分かかる場合があります。
Atlas データベースユーザー コマンド
agentengine atlas database-user サブコマンドは Atlasデータベースユーザーを一覧表示し、ワークスペースのユーザー選択を保存します。最初に agentengine atlas cluster save コマンドを実行してクラスターを選択します。
データベースユーザーの一覧表示
保存された Atlasプロジェクトのデータベースユーザーを返すには、次のコマンドを使用します。
agentengine atlas database-user list [--context <name>] [--workspace <name>] --json
次の例に、出力形式を示します。
{ "schema_version": "1", "status": "ok", "atlas_state": {}, "users": [ {"username": "my-user", "database_name": "admin"} ], "create_defaults": {"username": "agent-engine-<workspace-id>"}, "can_create": true, "warnings": [] }
コマンドは、名前がワークスペース用に生成されたデフォルトと一致する既存のユーザーを見つけると、そのユーザーを .agentengine/state.jsonファイルに自動的に保存します。これにより、現在のセッション外でリソースがプロビジョニングされたときにローカルの状態が最新に保たれます。
データベースユーザーの保存
既存のユーザーを選択するか、新しいユーザーを作成するには、次のコマンドを使用します。
agentengine atlas database-user save [--context <name>] [--workspace <name>] --json --input -
- を --input フラグに渡して、stdin にJSONリクエストオブジェクトを渡します。既存のユーザーを選択するには、次の例に示すようにパスワードを含めます。
{"mode": "existing", "username": "my-user", "password": "my-password"}
新しいユーザーを作成するには、次のオブジェクトを渡します。
{"mode": "create", "username": "my-user"}
作成モードで usernameフィールドを省略すると、CLI はワークスペースIDから名前を生成します。新規ユーザーの場合、CLI はパスワードを自動的に生成します。生成されたパスワードは、コマンド出力には含まれません。
保存後、コマンドは MONGODB_URI をプロジェクトスコープの Atlas Agent Engine シークレットとして書き込みます。ローカルファイルには書込みません。
Atlas Storage APIキー コマンド
agentengine atlas voyage-api-key サブコマンドは Atlas Vyage APIキーを一覧表示し、ワークスペースのキー選択を保存します。最初に agentengine atlas database-user save を実行して、データベースユーザーを選択します。
投票APIキーを一覧表示する
次のコマンドを使用して、保存された Atlasプロジェクトの投票権APIキーを返します。
agentengine atlas voyage-api-key list [--context <name>] [--workspace <name>] --json
次の例に、出力形式を示します。
{ "schema_version": "1", "status": "ok", "atlas_state": {}, "keys": [ { "id": "key-id", "name": "agent-engine-<workspace-id>", "masked_secret": "voy...xxxx" } ], "create_defaults": {"name": "agent-engine-<workspace-id>"}, "can_create": true, "warnings": [] }
コマンドは、ワークスペース用に生成されたデフォルトと一致する既存のキーを見つけると、そのキーを .agentengine/state.jsonファイルに自動的に保存します。
投票APIキーの保存
既存のキーを選択するか、新しいキーを作成するには、次のコマンドを使用します。
agentengine atlas voyage-api-key save [--context <name>] [--workspace <name>] --json --input -
- を --input フラグに渡して、 JSONオブジェクトをstdin に渡します。既存のキーを選択するには、次の形式を使用します。
{"mode": "existing", "name": "my-key", "value": "<api-key-value>"}
新しいキーを作成するには、次の形式を使用します。
{"mode": "create", "name": "my-key"}
作成モードで nameフィールドを省略すると、CLI はワークスペースIDから名前を生成します。キーを作成すると、CLI は Atlas によって返されたシークレット値を直接使用します。
保存後、コマンドは VOYAGE_API_KEY をプロジェクトスコープの Atlas Agent Engine シークレットとして書き込みます。ローカルファイルには書込みません。下位の Atlas 環境の場合、 コマンドは VOYAGE_URL 変数も同じ方法で書込みます。
次のステップ
Atlas リソースをプロビジョニング後、LM プロバイダーAPIキーなど、エージェント配置のシークレットを設定できます。方法については、「 クラウドシークレットをプロビジョニングする 」ガイドを参照してください。