キューブは、イメージをサービスとして実行します。このサービスもキューブと呼び、API では app と呼びます。イメージとポートを指定すると、glac.run の下にアドレスが割り当てられ、独自ドメインも設定できます。リクエストが来ると、プラットフォームがミリ秒でインスタンスを起動します。リクエストが来ない間、インスタンスはスリープし、保持するもの以外に料金はかかりません。デプロイのたびに新しいバージョンになり、準備ができた時点でトラフィックを受け取ります。トラフィックを以前のバージョンに戻すこともできます。
名前について
キューブは製品の名前で、キューブが動かす個々のサービスもキューブです。API の呼び出しは /v1/apps で、アプリ、そのバージョン、そのインスタンスを扱います。SDK のオブジェクト(App)とコマンドラインのオプションも同じ言葉を使い、これらのページも同様です。
コマンドは glac cube … で、短縮形は glac deploy です。SDK の名前空間は glac.cube(Go では client.Cube、Rust と Java では cube())、MCP サーバーのツールは cube_*、コンソールのページは Compute の下の Cube(キューブ)です。workers はそれぞれの別名で(glac workers …、glac.workers、ツールの worker_*)、それを使って書かれたコードのために残されています。SDK では非推奨とされています。
キューブを使う場面
- 固有のアドレスで応答し、誰にも呼ばれない間は料金がかからない Web サービスや API。
- Web アプリ、バックグラウンドワーカー、データベースのように、1 つのプロジェクトでプライベートネットワーク上で互いを見つける多数の小さなサービス。Compose ファイルはそのまま取り込めます。サービスと Compose を参照してください。
- ユーザー、セッション、テナントごとに 1 つのインスタンス。リクエスト内のキーで振り分け、それぞれが専用のメモリとディスクを持ちます。キー別インスタンスを参照してください。
プログラムや AI エージェントが実行時に送ってくるコードを、コマンド、ファイル、ターミナルとともに実行するなら、サンドボックスを使います。どちらも同じマシン上で、同じ料金で動きます。
仕組み
- デプロイ。
glac deploy IMAGE(またはPOST /v1/apps)で、アプリとその最初のバージョンを作成します。プラットフォームはイメージをプルし、アプリが動く各リージョンのマシンで一度起動し、準備ができるまで待って、テンプレートとして保存します。 - **応答。**アプリのアドレスへのリクエストは、届いたリージョンのマシンに送られます。稼働中のインスタンスが応答し、なければインスタンスを復帰させるか、テンプレートから作成します。テンプレートの中ではサービスがすでに動いているため、ミリ秒で済みます。
- **スリープ。**インスタンスは、最後のリクエストが終わってからしばらくするとスリープします。待つ時間はアプリのトラフィックから決まり、スリープの方が高くつく間隔では稼働したまま待ち、リクエストの間隔が長ければすぐにスリープします(最長は
sleep_after_msで、指定しなければ 3 秒)。1 時間スリープしたままのインスタンスは削除され、次のリクエストで新しく作られます。
料金
キューブとサンドボックスの料金は同じです。インスタンスは、稼働中に使う CPU と確保するメモリの分を支払います。スリープ中は CPU を使いません。マシンのメモリ上で一時停止しているインスタンスはそのメモリの分を支払い続け、メモリが保存されたインスタンスは、保持するものの分だけを GB-月単位で支払います。削除されたインスタンスは何も保持しません。
| 計測項目 | 料金 | 無料プラン(1 日あたり) | 有料プランの月間利用枠 |
|---|---|---|---|
| CPU(処理している間) | 100万 CPU ミリ秒あたり $0.01 | 100万 CPU ミリ秒 | 6000万 CPU ミリ秒 |
| メモリ(稼働中と、メモリ上で一時停止している間) | 1 GiB-時間あたり $0.008 | 6 GiB-時間 | 250 GiB-時間 |
| リクエスト(キューブ宛てと、サンドボックスのリンク経由) | 100万件あたり $0.30 | 100,000 | 1000万 |
| スリープ中のインスタンスが保持するデータ(メモリと固有のディスク) | 1 GB-月あたり $0.02 | 合計 15 GB(スナップショットとドライブを含む) | 20 GB-月(スナップショットとドライブを含む) |
| インターネットへの送信トラフィック(北米から) | 1 GB あたり $0.004 | 3 GB(リージョンを問わず) | 1 TB(リージョンを問わず) |
| インターネットへの送信トラフィック(ヨーロッパから) | 1 GB あたり $0.004 | ||
| インターネットへの送信トラフィック(アジア太平洋から) | 1 GB あたり $0.01 | ||
| ログ:キューブの出力のうち保持されるもの | 1 GB-月あたり $0.02 | 出力 200 MB | 10 GB-月 |
無料プランでは、インスタンスの使用量はその日のクォータから差し引かれます。有料プランには計測項目ごとに毎月一定量が含まれ、それを超えた使用量はこの料金で残高から支払われます。料金とプランを参照してください。
プランごとの制限
| 無料プラン | 有料プラン | |
|---|---|---|
| インスタンスの最大サイズ | 2 vCPU、4 GiB | 8 vCPU、16 GiB |
| キューブ | 10 | 500 |
| 1 アプリあたりの環境変数とシークレットの数 | 64 | 128 |
1 アプリの 1 リージョンあたりのインスタンス数:max_instances 未指定時 / 上限 |
2 / 5 | 50 / 500 |
| 1 時間のキューブとバージョンの作成数 | 10 | 500 |
| 各エッジで 1 キューブに許可される 1 秒あたりのリクエスト数 | 50 | 上限なし |
| インスタンスの同時稼働数 | 5 | 500 |
| それらの vCPU の合計 | 10 | 500 |
| それらのメモリの合計 | 10 GiB | 1,000 GiB |
稼働中のインスタンスとその vCPU、メモリは、アカウント全体で数えられます。すべてのプロジェクトのサンドボックスとインスタンスの合計です。すべての制限は制限のページにあります。
次のステップ
- クイックスタート:イメージのデプロイ、変更、ロールバックを、コマンドライン、Python、コンソールで。
- デプロイとバージョン:バージョンを作るもの、失敗したときに起きること、ロールバック。
- インスタンスとスケーリング:インスタンスが起動、スリープ、削除されるタイミング、インスタンスの数、リージョン。
- キー別インスタンス:キーごとに 1 つのインスタンスを、メモリとディスクごと保持。
- アドレスとプロトコル:デフォルトのドメイン、独自ドメイン、プライベートなアプリ、HTTP/2、gRPC、WebSocket。
- サービスと Compose:1 つのプロジェクトの複数のサービス、そのプライベートネットワーク、共有変数、ドライブを使うサービス。