各プラン
コンピューティング(アカウントの全プロジェクトで同時に)
| 無料プラン | 有料プラン | |
|---|---|---|
| インスタンスの最大サイズ | 2 vCPU、4 GiB | 8 vCPU、16 GiB |
| インスタンスの同時稼働数 | 5 | 500 |
| それらの vCPU の合計 | 10 | 500 |
| それらのメモリの合計 | 10 GiB | 1,000 GiB |
| スリープ中のインスタンスの保持数 | 20 | 10,000 |
作成の速さ
| 無料プラン | 有料プラン | |
|---|---|---|
| 1 分間のサンドボックス作成数 | 10 | 600 |
| 1 プロジェクトが 1 時間に作成できるサンドボックス数 | 200 | 10,000 |
| 1 時間のキューブとバージョンの作成数 | 10 | 500 |
キューブ
| 無料プラン | 有料プラン | |
|---|---|---|
| キューブ | 10 | 500 |
| 1 アプリあたりの環境変数とシークレットの数 | 64 | 128 |
| 1 時間のキューブとバージョンの作成数 | 10 | 500 |
| 無料プラン | 有料プラン | |
|---|---|---|
1 アプリの 1 リージョンあたりのインスタンス数:max_instances 未指定時 / 上限 |
2 / 5 | 50 / 500 |
| インスタンスの同時稼働数 | 5 | 500 |
| それらの vCPU の合計 | 10 | 500 |
| それらのメモリの合計 | 10 GiB | 1,000 GiB |
| 無料プラン | 有料プラン | |
|---|---|---|
| 各エッジで 1 キューブに許可される 1 秒あたりのリクエスト数 | 50 | 上限なし |
1 つのリージョンにあるアプリのインスタンスは、稼働中、一時停止中、スリープ中のすべてを数えます。キー別インスタンスはサンドボックスで、稼働中のサンドボックス、スリープ中に保持するサンドボックス、1 分間と 1 時間に作成するサンドボックスに数えられ、キーの数に別の上限はありません。1 秒あたりのリクエストは、リクエストがインスタンスに届く前に、エッジごとに個別に数えます。超えるとエッジは Retry-After: 1 付きで 429 app_rate_limited を返し、そのリクエストは数えられず、課金もされません。キーのあるリクエストも同じく数えます。
ドライブとボリューム(1 プロジェクトあたり)
| 無料プラン | 有料プラン | |
|---|---|---|
| 1 プロジェクトのドライブとボリュームの数 | 3 | 500 |
| ドライブの最大サイズ | 10 GiB | 1 TiB |
| 1 プロジェクトのドライブの合計サイズ | 15 GiB | 上限なし |
| 1 サンドボックスがマウントできるドライブとボリュームの数 | 8 | 8 |
ドライブのフォークは、そのサイズの新しいドライブとして数えます。ドライブのスナップショットは数えないため、ドライブはスナップショットをいくつでも持て、それぞれ単独で保持する量で課金されます。ドライブのスナップショットとフォークを参照してください。
シークレット(1 プロジェクトあたり)
| 無料プラン | 有料プラン | |
|---|---|---|
| 1 プロジェクトのシークレット数 | 100 | 1,000 |
| シークレットの最大サイズ | 64 KiB | 64 KiB |
| 1 サンドボックスに渡すシークレットの合計サイズ | 64 KiB | 64 KiB |
ログ
| 無料プラン | 有料プラン | |
|---|---|---|
| キューブのログ行の保持期間 | 3 日間 | 30 日間 |
| ログのエクスポート先 | 1 | 10 |
| アカウントのアプリのログを同時にリアルタイム閲覧できる数 | 10 | 100 |
外向きの接続(マシンごと)
| 無料プラン | 有料プラン | |
|---|---|---|
| 1 台のマシンのエグレスプロキシを通る同時送信接続数(そのマシン上にあるアカウントのサンドボックスの合計) | 1,024 | 8,192 |
ネットワークルールでホストを指定したサンドボックスは、IPv4 でも IPv6 でも、外向きの TCP 接続をすべてマシンのエグレスプロキシ経由で送ります。ルールのないサンドボックスや、アドレスだけのルールを持つサンドボックスは経由しません。各マシンで、そこにあるアカウントのサンドボックスは、プロジェクトがいくつあっても、合わせて上記の数を共有します。それを超えると新しい接続は、再試行を促す形で拒否され(通常の HTTP 接続の最初のリクエストには 503 egress_connections_full(retryable)が返り、TLS ハンドシェイクはアラートで終わり、それ以外の接続はリセットされます)、ほかのアカウントの接続はそのまま続きます。1 つのサンドボックスが同時に持てるこうした接続は最大 2,048 で、どちらの方向にも何も流れない状態が 15 分続いた接続は閉じられます。
- 新しい接続は、アカウントのサンドボックス全体で、1 秒あたり最大 2,000、同時に 4,000 まで受け付けます。それを超えたものは待たされ、その速さで受け付けられます。これを理由に拒否されることはありません。
- プランが変わると、有料プランの割り当ては数秒以内に各マシンで適用され、無料プランの割り当ては、請求の条件と同じく翌月から適用されます。すでに開いている接続が小さい割り当てを超えていても切断はされず、自然に終わるのを待ちます。
プランの制限の仕組み
- **制限はクォータであり、予約ではありません。**制限内の呼び出しでも、マシンが満杯なら拒否されることがあります(503
no_capacity)。 - **上限に達しても、拒否されるのは新しいものだけです。**稼働中のものは動き続けます。稼働数や作成数の上限を超えることになる呼び出しは 403
plan_cap_reachedを返し、paramが上限を示し、メッセージが上限、使用量、増やす方法(有料プラン、またはアカウントの上限の引き上げの申請)を示します。レート(1 分間の作成数、1 時間の作成数)はretryableで、Retry-Afterが付きます。 - **復帰は、どのような形でも数えられます。**スリープ中のサンドボックスを復帰させる呼び出し(コマンド、ファイル、再起動、スナップショット、復元)は稼働数の上限の対象で、HTTP/1.1、HTTP/2、HTTP/3 のいずれでも、サンドボックスのリンクやキー別インスタンスのアドレスへのリクエストで復帰させることになるものも同じです。上限を超えると、マシンは 403
plan_cap_reachedでリクエストを拒否し、何も復帰しません。スリープ中のサンドボックス専用の IPv6 アドレスや、プロジェクトのネットワーク上のアドレスへの接続も同じで、上限を超えると拒否(リセット)されます。スリープ中のサンドボックスで期限が来るタイマー(プロセスのタイマー、wake_daily_atで指定した時刻、データベースのpg_cronのジョブ)も、上限の範囲内でしか復帰させません。上限を超えると復帰は待たされ、アカウントに空きができるまで数秒ごとに再試行されます。アプリのスリープ中のインスタンスは、アカウントに空きがある間だけリクエストのために復帰させられ、空きがなければリクエストは稼働中のインスタンスに送られます。アカウントのものがスリープしている各マシンには、数秒ごとにアカウントの空きのうち自分の取り分が伝えられ、取り分の合計が空き全体になるため、複数のマシンで同時に復帰させても、合わせて上限を超えることはありません。アプリのインスタンスは、アプリ自身の取り分の範囲で復帰させられます。アカウントに残っている空きは、数秒ごとに、各リージョンが最近使った量に応じてアプリのリージョン間で分けられるため、すべてのリージョンのインスタンスを合わせても上限内に収まります。取り分以上を必要とするリージョンには、ほかのリージョンが使っていない分が数秒以内に回されます。1 台のマシンでの復帰は、アカウントに別のマシン(通常は別のリージョン)の空きが残っていても、数秒間拒否されることがあります。そのメッセージにはそう示され、取り分は数秒以内に分け直されます。スリープ中の 1 つのサンドボックスにリクエストが集中しても、復帰は 1 回だけで、それを理由に拒否されるリクエストはありません。 - 上限で拒否されることのないもの:サンドボックスをスリープさせることと、削除すること。
- 無料プランに戻っても、持っているものは残ります。無料プランで許されるより大きいサンドボックスはデータを保ったままスリープし、数値を超えるドライブやシークレットも残ります。拒否されるのは、次に作る新しいものだけです。
- プロジェクトが保持するもの:プランの数値を超えるドライブは 403
drive_limit_reached、ボリュームは 403volume_limit_reached、シークレットは 403secret_limit_reachedで拒否されます。アカウントが保持するもの(全プロジェクトの合計):プランの数値を超えるアプリは 403app_limit_reached、プランで許されるより多くの環境変数とシークレットを持つアプリは 403env_limit_reached、最大サイズより大きいインスタンスは 403plan_size_exceededで拒否されます。 - ご要望に応じた引き上げ:アカウントが同時に持てる量と作成の速さ、有料プランのドライブの数(ソフトリミット)、エンタープライズアカウントでは最大 16 TiB のドライブ。アカウントは
POST /v1/limits/requestsで申請し、回答はイベントとメールで伝えられます。上限の引き上げを参照してください。
GET /v1/account(caps)は、アカウントの各上限を現在の使用量とともに示し、GET /v1/billing はプランの上限を示します。
上限に達したとき
上限による拒否には、それぞれエラーのページにセクションがあり、docs_url がそこを指します。何が拒否され、何をすれば解除されるかが書かれています。ご要望に応じてと記したものは、アカウントごとに引き上げます:上限の引き上げ。
| 上限に達したもの | 拒否のコード | 解除する方法 |
|---|---|---|
| アカウントが同時に稼働させる数、スリープ中に保持する数、1 分間と 1 時間の作成数。1 つのリージョンでのアプリのインスタンス | 403 plan_cap_reached |
スリープまたは削除。有料プラン。ご要望に応じて |
| プロジェクトのドライブとボリューム | 403 drive_limit_reached, volume_limit_reached |
削除。有料プラン。有料プランでの数と、エンタープライズアカウントでのサイズはご要望に応じて |
| サンドボックスの最大サイズ | 403 plan_size_exceeded |
より小さいサイズ。有料プラン |
| プロジェクトまたはサンドボックスの利用上限額 | 403 spend_limit_reached |
上限額の引き上げ |
| 無料プランでの 1 日のクォータ:CPU 時間、メモリ、リクエスト、送信トラフィック、ログ | 429 quota_used_up |
00:00 UTC。有料プラン |
| 無料プランでアカウントが同時に保持する量:ボリュームのデータ、NVMe キャッシュ | 403 storage_quota_reached |
削除。有料プラン |
| 有料プランで、期間に含まれる量を使い切り、追加分を支払う残高もない | 403 balance_used_up。訪問者には plan_limit_reached |
チャージ。次の期間 |
| プロジェクトのシークレット | 403 secret_limit_reached |
削除。有料プラン |
| アカウントのアプリ。アプリの変数とシークレット。アプリのキー用シークレット | 403 app_limit_reached, env_limit_reached, key_secret_limit_reached |
削除。有料プラン |
| プロジェクトのドメインと共有変数。アカウントのログのエクスポート先 | 403 domain_limit_reached, variable_limit_reached, destination_limit_reached |
削除。エクスポート先は有料プラン |
| マシンのドライブにおけるアカウントの割り当て | 403 account_share_reached |
削除。少し後に別のマシン |
| エッジでのアプリの 1 秒あたりのリクエスト | 429 app_rate_limited |
1 秒後。有料プラン |
| ログのリアルタイム閲覧の同時接続数 | 429 too_many_followers |
1 つを終了 |
| マシン上のアカウントの外向きの接続 | 503 egress_connections_full |
接続を閉じる |
| サンドボックスのドライブ。アカウントのプロジェクト。ユーザーの無料アカウント。個別に無効にしたサンドボックスのトークン | 409 too_many_drives, too_many_projects, too_many_free_accounts, too_many_revoked_tokens |
数を減らす |
| サンドボックスのボリューム。プロジェクトの SSH キー | 409 too_many_volumes, too_many_ssh_keys |
数を減らす |
| 1 つのサンドボックスへの SSH ゲートウェイからの同時接続 | 503 too_many_forwards |
1 つを終了 |
| 有料プランだけの機能:データベースの階層型ストレージ、ブラウザのセッションのプロキシ | 403 paid_plan_required, proxy_not_on_plan |
有料プラン |
| プロジェクトの使用量のレポート(一度に 1 つ) | 429 report_in_progress |
もう一方への応答の後に再度要求 |
| サインインとサインアップの試行 | 429 rate_limited |
Retry-After |
| エッジでの 1 つのアドレスからの同時リクエスト。リクエストのボディ | 429 too_many_connections, 413 body_too_large |
同時の数を減らす。1 回の呼び出しで送る量を減らす |
| 1 か月のチャージの合計額 | 403 trust_limit_exceeded |
信頼レベルの上昇。ご要望に応じて |
API の制限
| 項目 | 制限 |
|---|---|
| サンドボックス、スナップショット、ドライブ、ボリュームの名前 | 英小文字、数字、ハイフンで 1〜63 文字。先頭と末尾はハイフン以外 |
| アプリの名前 | 英小文字、数字、ハイフンで 1〜40 文字。先頭は英字 |
ラベル(metadata) |
1 つのサンドボックスに 64 個(アプリは 60 個)。キーは 64 文字まで、値は 1,024 文字まで |
| 環境変数 | [A-Za-z_][A-Za-z0-9_]* のような名前。合計 256 KiB |
| リクエスト | ヘッダーは 64 KiB まで。JSON のボディは、サンドボックスの呼び出しでは 1 MiB まで、コマンドの入力を運ぶ場合(run、exec、…/stdin)は 64 MiB まで、プラットフォーム自体の呼び出しでは 1 GiB まで(413 body_too_large。メッセージが上限を示す) |
| プロキシを通るアプリやリンクへのリクエスト | ボディは 100 MB まで、レスポンスの無通信時間は 125 秒まで。アプリの direct_url を使えばそれ以上も可(アドレス) |
| ファイルの読み書き | 1 回の呼び出しで長さの制限なし。バイトは届くそばから通過し、上限はサンドボックスのディスク(サンドボックスのトークンで書き込む場合は 1 回の呼び出しで 1 GiB まで) |
| コマンドの出力 | 各コマンドの最後の 16 MiB を保持 |
| フォーク | 1 回の呼び出しで 1〜64 |
| 一覧 | limit は 1〜1,000。指定しなければ 100 |
Idempotency-Key |
1〜255 文字。24 時間記憶される |
| 1 つのサンドボックス用のトークン | 指定しなければ 1 時間、最長 30 日。個別に無効にしたトークンは、期限が切れるまで同時に 1,000 個まで(超えると 409 too_many_revoked_tokens:個別のトークン) |
| ネットワークルール | allow と deny はそれぞれ 1,000 エントリまで。http と inject はそれぞれ 100 ホストまで |
| エグレスプロキシを通る接続 | 1 つのサンドボックスで同時に 2,048。マシンにおけるアカウントの割り当ての範囲内(上記) |
| 1 つのアプリのインスタンスが同時に受け付けるリクエスト | scale.concurrency:1〜1,000、または上限なし |
| アカウントのアプリのログをリアルタイムで読む同時接続数 | プランによる:上記のログを参照(超えると 429 too_many_followers) |
| イメージ | レジストリ上のレイヤーのサイズでも、展開後のサイズでも 8 GiB まで。それより大きいと、バージョンやサンドボックスが image_unpack_failed で失敗し、両方のサイズが示される |
| 共有変数 | 1 つのプロジェクトに 1,000 個。値は 32 KiB まで |
| 独自ドメイン | 1 つのプロジェクトに 100 個 |
| オブジェクト | 1 回の PutObject は 5 GiB まで。マルチパートアップロードは 5 MiB〜5 GiB のパートを最大 10,000 個 |