Atlas Ephemeral クラスターを使用して MongoDB でビルドおよびテストを行います。これは、Atlas アカウントや API キーなしで作成および接続できる一時的な無料クラスター (M0) です。Ephemeral クラスターは、AI コーディングエージェントやそれを使用する開発者が、新しいプロジェクトの開始、アプリケーションのプロトタイプ作成、またはアイデアのテストを行うためにオンデマンドのデータベースを必要とする場合に最適です。
Ephemeral クラスターを作成し、すぐに使用できる接続文字列を1分以内に取得するには、次のエンドポイントとなる接続されたデバイスに POST リクエストを送信します。
https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters:create
完全なワークフロー、必要なヘッダー、および応答の詳細については、クイックスタートを参照してください。
Ephemeral Cluster を請求しない場合、Atlas は作成から 2 日後にクラスターを一時停止し、作成から 7 日後に削除します。クラスターを請求するには、作成レスポンスから claimUrl を開き、Atlas にサインインします。請求すると、Ephemeral クラスター は有効期限のない標準の無料クラスターに変換されます。エージェントはクラスターを自律的に作成して接続できますが、人間だけがそれを請求できます。
Ephemeral クラスター の仕様と制限
Ephemeralクラスターは、有効期間が制限されたAtlas Freeクラスター(M0)です。そのデータを読み取り、書き込み (write)するには、作成レスポンスによって返された接続文字列を使用してクラスターに接続できます。クラスターを所有権主張するまでは、クラスター階層を増やしたり、データベースユーザーを追加したり、IPアクセスを制限したり、その他の管理操作を実行したりすることはできません。
未請求の Ephemeral Cluster には、次の固定仕様があります。
クラスター階層: 無料 (
M0)。クラウドプロバイダーとリージョン:
AWSus-east-1。IP アクセス:クラスターは任意の IP アドレス(
0.0.0.0/0)からの接続を許可します。有効期間の制限:クラスターを申請しない限り、Atlas は作成から 2 日後にクラスターを一時停止し、作成から 7 日後に削除します。一時停止中は、クラスターにアクセスできません。
Ephemeral Cluster は無料クラスターであるため、以下を含むすべての無料クラスターの制限も適用されます。
ストレージ:インデックスを含めて最大 512 MB。
MongoDB サーバー バージョン: 8.0。
スループット:読み取りおよび書き込み (write)操作の合計が最大 100 回(1 秒あたりの操作)。
接続:最大500件の同時接続。
無料クラスターの制限事項の全リストについては、「Atlas Free クラスター Limits」をご覧ください。
クイックスタート:エフェメラルクラスターの作成と接続
次のワークフローを使用して、エフェメラルクラスターを作成して接続します。AI コーディングエージェントは、人間の介入なしにこのワークフローのすべてのステップを完了できます。
Ephemeralクラスターを作成します。
次のエンドポイントとなる接続されたデバイスに POST リクエストを送信します。
https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters:create
このリクエストには、次の Accept ヘッダーが必要です。
Accept: application/vnd.atlas.preview+json
次のリクエスト例では、Cluster0 という名前の Ephemeral クラスターを作成します。
作成リクエストの例
curl -sS -X POST 'https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters:create' \ -H 'Accept: application/vnd.atlas.preview+json' \ -H 'Content-Type: application/json' \ -d '{"clusterName": "Cluster0"}'作成エンドポイントとなる接続されたデバイスは、次の形式で応答を返します。
作成レスポンスの例
{ "claimUrl": "https://account.mongodb.com/account/register?claimId={claimId}", "clusterId": "{clusterId}", "connectionString": "mongodb+srv://{username}:{password}@{host}/", "expiresAt": "{timestamp}", "status": "PROVISIONING", "termsOfService": "By using this API and any resources provisioned through it, you agree to be bound by MongoDB's Cloud Terms of Service at https://www.mongodb.com/legal/terms-and-conditions/cloud; and Privacy Policy at https://www.mongodb.com/legal/privacy/privacy-policy."}レスポンスには、以下のフィールドが含まれます。
claimUrlこの Ephemeral クラスターを取得するための固有の URL。人間がブラウザでこの URL を開く必要があります。クラスター作成後 7 日間有効です。clusterId: Ephemeral クラスターの一意の識別子。クラスターのstatus、claimUrl、およびその他の詳細を検索するには、{clusterId}をこの値に置き換えて、次のエンドポイントとなる接続されたデバイスにGETリクエストを送信します。https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters/{clusterId}詳細については、「一時的なAtlasクラスターを1つ返す」を参照してください。
connectionString: Ephemeralクラスターへの接続にmongodb+srv://プロトコルを使用する接続文字列。クラスター内のデータの読み取りと書き込み (write)ができる自動生成されたデータベースユーザーのユーザー名とパスワードが含まれます。この接続文字列を使用するすべてのクライアントは、このデータベースユーザーとして認証されます。作成レスポンスは、Atlasが編集されていないパスワードを返す唯一のタイミングです。expiresAtクラスターが要求されない場合に Atlas がクラスターを一時停止する日時。一時停止された Ephemeral クラスターは、要求されるまでアクセスできません。タイムスタンプは、UTC の ISO 8601 形式を使用します。status: Ephemeral クラスターのステータス。PROVISIONING、ACTIVE、またはPAUSEDのいずれか。termsOfService: このAPIを使用することで、MongoDBのクラウド利用期間およびプライバシーポリシーに同意したものとみなされます。利用規約全文へのリンクが含まれています。
作成エンドポイントとなる接続されたデバイスの詳細を学ぶについては、Ephemeral Atlas クラスターを 1 つ作成するを参照してください。
接続文字列とクレーム値を保存します。
作成レスポンスから、connectionString、claimUrl、およびclusterIdを保存します。これらは、クラスターへの接続、クラスターの要求、およびクラスターの詳細を検索するに必要です。
警告
connectionString、claimUrl、およびclusterIdはシークレットとして扱ってください。connectionStringを持つユーザーは、クラスターデータの読み取りと書き込み (write)が可能です。claimUrlを持つユーザーは、クラスターを自分のAtlasアカウントに請求できます。また、clusterIdを持つユーザーは、エンドポイントとなる接続されたデバイスからclaimUrlを検索するできます。MongoDB Supportは、これらの値を復元したり、請求されたクラスターの所有権を譲渡したりすることはできません。
3つの値をすべて安全なロケーションに保存し、クラスターを要求する担当者が検索することができるようにします。例として、共有シークレットマネージャーや git で無視されるローカルの .env ファイルを使用します。そのロケーションにある既存のシークレットを上書きしないでください。
Ephemeral クラスターに接続します。
作成レスポンスの connectionString 値を使用して、次のような互換性のある環境から Ephemeral クラスターに接続します。
アプリケーションコード: クラスターに接続するクライアントオブジェクトを初期化する際、使用するプログラミング言語のMongoDBドライバーに接続文字列を提供します。これは、アプリケーションから接続する場合の一般的な選択肢です。さらに学ぶには、「クライアントライブラリを使用したクラスターへの接続」を参照してください。
コマンドライン: 接続文字列をMongoDB Shell (
mongosh) の引数として指定して接続し、対話形式でコマンドを実行します。コマンドライン接続の例
mongosh "<connectionString>"
利用可能な接続方法についてさらに学ぶには、「考慮事項」を参照してください。
注意
Ephemeral クラスターは、任意の IP アドレス(0.0.0.0/0)からの接続を許可します。クラスターを取得する際に IP アクセスを制限できます。
(任意)Ephemeral クラスターを取得します。
Ephemeral クラスターの請求は任意です。クラスターを請求しない場合、Atlas は作成から 2 日後にクラスターを一時停止し、作成から 7 日後に削除します。クラスターを請求すると、Atlas はそれを有効期限のない標準の無料クラスターに変換します。請求されたクラスターはすべてのデータを保持し、保存した接続文字列は同じ認証情報で引き続き機能します。請求の影響の詳細については、「Ephemeral クラスター の請求」を参照してください。
クラスターを要求するには、ブラウザで Atlas にサインインする必要があります。次のいずれかのオプションを選択します。
今すぐ請求:
claimUrlは、クラスターを請求するユーザーとのみ共有してください。そのユーザーは、「エフェメラルクラスターの請求」の手順に従ってクラスターを請求できます。後で請求する: クラスターを請求するユーザーが利用できる安全なロケーションに
claimUrlを保存します。そのユーザーは、作成から 7 日以内であればいつでもクラスターを請求できます。Claim never: アクションを実行しません。Atlasは、作成から7日後にクラスターを削除します。
Ephemeral クラスター の請求
Ephemeral クラスターの請求は任意です。クラスターを請求しない場合、Atlas は作成から 2 日後にクラスターを一時停止し、作成から 7 日後に削除します。
Ephemeral クラスターを要求すると、Atlas は次の変更を行います。
クラスターの寿命を延ばす: Atlas は、Ephemeral クラスターを有効期限のない標準の無料クラスターに変換します。要求されたクラスターは、削除するか、30 日間アクティビティがないために Atlas が一時停止するまで利用可能です。
クラスターのデータと接続文字列を保持: クレームされたクラスターはすべてのデータを保持し、作成レスポンスの接続文字列は同じ認証情報で引き続き機能します。
クラスターをプロジェクトと組織に追加します: Atlasでは、すべてのクラスターはプロジェクトに属し、すべてのプロジェクトは組織に属します。Atlasは、要求されたクラスターを、そのクラスターを要求したアカウントが所有する新規または既存の組織内の新しいプロジェクトに配置します。
クラスターへのフルアクセスを許可: クラスターを要求するアカウントは、そのクラスターの組織の
Organization Ownerであり、その組織内のすべてのプロジェクトに対するProject Ownerロールも付与されます。Project Ownerとして、クラスターのデータを読み取り、書き込み (write)するためのデータベースアクセス権と、Atlas UI、Atlas CLI、またはAtlas Administration APIを使用してクラスターとそのプロジェクトを管理するための管理アクセス権が付与されます。
AI コーディングエージェントは Ephemeral クラスターを取得できません。クラスターを取得するには、人間が Web ブラウザーで次のワークフローを完了する必要があります。
クレームURLからAtlasにサインインします。
Webブラウザで、作成レスポンスから保存した
claimUrlを開き、Atlasのサインインページにアクセスします。クレームURLの形式は次のとおりです。ここで、{claimId}はEphemeralクラスターの一意の識別子です。https://account.mongodb.com/account/register?claimId={claimId}サインインページで、既存のアカウントを使用してAtlasにサインインするか、新しいアカウントを作成します。次のステップでクラスターを要求すると、このアカウントはクラスターへのデータベースアクセス権と管理アクセス権の両方を取得します。
新しいアカウントを作成する場合は、続行する前にメールを確認してください。
注意
クレームURLは、クラスターを請求する唯一の方法です。クラスター作成後7日で期限切れになります。クレームURLを紛失した場合は、次のいずれかの方法で検索してください。
以下のエンドポイントとなる接続されたデバイスに
GETリクエストを送信します。その際、{clusterId}を作成レスポンスのclusterId値に置き換えてください。https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters/{clusterId}レスポンスには
claimUrlが含まれます。学ぶには、Return One Ephemeral Atlas クラスターを参照してください。AIコーディングエージェントがクラスターを作成した場合は、プロジェクトのローカル
.envファイルなど、claimUrlが保存されている可能性のある安全なロケーションを確認してください。
Ephemeralクラスターを構成して要求します。
サインインすると、Atlasに要求ページが表示されます。このページで、次の操作を行います。
ドロップダウンから既存の組織を選択するか、Create new org for this clusterを選択して新しい組織を作成します。クラスターを要求すると、Atlasはそれを選択した組織に移動し、そこにプロジェクトを作成します。
重要
ドロップダウンには、Atlasアカウントが
Organization Ownerロールを持つ組織のみが表示されます。クラスターを申請すると、選択した組織のすべてのOrganization Ownerが、そのクラスターとそのデータを管理できるようになります。IP アクセスを設定します。アクセスを制限するには、
0.0.0.0/0を除き、現在の IP アドレスのみを許可します(推奨)。任意の IP アドレスからの接続を許可するには、0.0.0.0/0を保持します。IP アクセスは、プロジェクトの Network Access 設定で後から制限できます。[Claim Cluster] をクリックします。これは一度限りのアクションであり、元に戻すことはできません。
(任意)請求されたクラスターを再構成します。
Atlas UI、Atlas CLI、または Atlas Administration API を使用して、要求されたクラスターとそのプロジェクトを再構成できます。クラスターレベルでは、クラスターをより高い階層にスケールしてストレージを増やすことができます。プロジェクトレベルでは、データベースユーザーを管理し、IPアクセスを制限してセキュリティを強化できます。詳細については、「クラスターの管理」を参照してください。
Ephemeral クラスター API 参照
Ephemeral クラスターを作成するには、以下の Ephemeral Atlas クラスターを 1 つ作成する で説明されているように、POST リクエストを送信します。そのステータス、接続、および要求の詳細を検索するには、以下の Ephemeral Atlas クラスターを 1 つ返す で説明されているように、GET リクエストを送信します。
Atlas Administration APIの完全な仕様については、「Ephemeral Atlasクラスターを1つ作成する」および「Ephemeral Atlasクラスターを1つ返す」を参照してください。
注意
Ephemeralクラスターは、Atlas Administration APIまたはAtlas CLIからのみ作成できます。HashiCorp Terraform MongoDB Atlas プロバイダーおよびその他のすべてのインターフェースは、この操作をサポートしていません。
以下のエンドポイントとなる接続されたデバイスに対応するAtlas CLIについては、atlas api ephemeralClustersコマンドリファレンスを参照してください。
Ephemeral Atlas クラスターを 1 つ作成する
Ephemeral クラスターを作成し、その接続と請求の詳細を返します。
メソッド: POST
エンドポイント: https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters:create
path パラメータ: なし。
クエリパラメータ: なし。
リクエストヘッダー:
ヘッダー | 必須 | 値 |
|---|---|---|
| はい |
|
| リクエスト本文のみ |
|
リクエスト本文:
リクエストボディは任意です。ボディを送信する場合は、次のフィールドを含めてください。
フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
| string | No | Ephemeralクラスターを識別する人間が判読できるラベル。デフォルトは |
リクエストの例:
作成リクエストの例
curl -sS -X POST 'https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters:create' \ -H 'Accept: application/vnd.atlas.preview+json' \ -H 'Content-Type: application/json' \ -d '{ "clusterName": "my-ephemeral-cluster" }'成功ステータスコード: 201 Created
成功応答フィールド:
新しいクラスターの詳細を次のフィールドで返します。
フィールド | タイプ | 説明 |
|---|---|---|
| string (URI) | この Ephemeral クラスターを要求するための固有の URL。Atlas のサインインまたは登録ページにリダイレクトされます。ユーザーはそこでサインインするか、アカウントを作成してクラスターを要求します。クラスター作成後 7 日間有効です。 |
| string | Ephemeralクラスターの一意のID。このIDを使用して、 |
| string | Ephemeralクラスターへの接続に |
| string (ISO 8601、UTC) | クラスターが一時停止され、要求されるまでアクセスできなくなる日時。このパラメーターは、UTC の ISO 8601 タイムスタンプ形式で値を表します。 |
| string (列挙) | Ephemeral クラスターのステータス。 |
| string | このAPIを使用することで、MongoDBのクラウド期間サービス利用規約およびプライバシー ポリシーに同意したものとみなされます。利用規約全文へのリンクが含まれています。 |
応答ヘッダー:
ヘッダー | 返されるもの | 説明 |
|---|---|---|
|
| 特定の時間ウィンドウ内にユーザーが行うことができるリクエストの最大数。 |
|
| 制限に達するまでに現在のレート制限ウィンドウで残っているリクエストの数。 |
|
| APIリクエストを再試行する前に待機すべき最小時間(秒単位)。 |
エラーテータスコード:
注意
429 エラーが発生した場合は、Ephemeral クラスター作成の共有制限に達しています。代わりに、有効期限なしで同じクラスター階層を提供する標準の Free クラスターを配置できます。Atlas CLI を使用して無料のクラスターを作成し、接続する方法を学ぶには、「スタートガイド」をご覧ください。
ステータス | 説明 |
|---|---|
| 無効なリクエストです。 |
| リクエストが多すぎます。 |
| 内部サーバーエラー。 |
1つのEphemeral Atlasクラスターを返す
1つのEphemeralクラスターの詳細を返します。
メソッド: GET
エンドポイント: https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters/{clusterId}
path パラメータ:
Parameter | タイプ | 必須 | 説明 |
|---|---|---|---|
| string | はい | 検索する Ephemeral クラスターの一意の ID。 |
クエリパラメータ: なし。
リクエストヘッダー:
ヘッダー | 必須 | 値 |
|---|---|---|
| はい |
|
リクエスト本文: なし。
リクエストの例:
GETリクエストの例
curl -sS -X GET 'https://cloud.mongodb.com/api/atlas/v2/unauth/ephemeralClusters/{clusterId}' \ -H 'Accept: application/vnd.atlas.preview+json'成功ステータスコード: 200 OK
成功応答フィールド:
クラスターの現在のステータスと詳細を次のフィールドで返します。
フィールド | タイプ | 説明 |
|---|---|---|
| string (URI) | この Ephemeral クラスターを要求するための固有の URL。Atlas のサインインまたは登録ページにリダイレクトされます。ユーザーはそこでサインインするか、アカウントを作成してクラスターを要求します。クラスター作成後 7 日間有効です。 |
| string | Ephemeralクラスターの一意のID。このIDを使用して、 |
| string | Ephemeralクラスターへの接続に |
| string (ISO 8601、UTC) | クラスターが一時停止され、要求されるまでアクセスできなくなる日時。このパラメーターは、UTC の ISO 8601 タイムスタンプ形式で値を表します。 |
| string (列挙) | Ephemeral クラスターのステータス。 |
| string | このAPIを使用することで、MongoDBのクラウド期間サービス利用規約およびプライバシー ポリシーに同意したものとみなされます。利用規約全文へのリンクが含まれています。 |
応答ヘッダー:
ヘッダー | 返されるもの | 説明 |
|---|---|---|
|
| 特定の時間ウィンドウ内にユーザーが行うことができるリクエストの最大数。 |
|
| 制限に達するまでに現在のレート制限ウィンドウで残っているリクエストの数。 |
|
| APIリクエストを再試行する前に待機すべき最小時間(秒単位)。 |
エラーテータスコード:
ステータス | 説明 |
|---|---|
| 無効なリクエストです。 |
| 見つかりません。 |
| リクエストが多すぎます。 |
| 内部サーバーエラー。 |