自動で台数が増える環境で、何に気をつけますか

立ち上がりの遅れと費用の引き換え、1 台が同時に受ける数と DB の接続数、手元に状態を持たない作り、の 3 点で答える問い。台数と接続数の掛け算を小さな計算で見せます。

答えてみる

面接官に「自動で台数が増える環境で、何に気をつけますか」と聞かれたつもりで、答えを見る前に自分の言葉で答えます。

声に出して答えた人は「書かずに答えを見る」で開けます。

解説を読む

聞かれ方から関連するコースまで、この問いの解説を全部ここに置いています。

こう聞かれます

  • 「自動で台数が増える環境で、何に気をつけますか」
  • 「アクセスが急に増えたら台数が増えるので、もう安心ですか」(裏から聞く形)
  • 「台数が増えたら、データベースはどうなりますか」

面接官が見ている点

  • 台数が増える途中の遅れと、それを抑える費用を引き換えで話せるか
  • アプリの台数が増えると DB の接続も増える、と結び付けられるか
  • 手元のメモリやディスクに状態を置かない作りを知っているか

短い答え

  • 最小の台数を置いて立ち上がりの遅れ (コールドスタート) を抑えますが、その台数は使っていなくても費用がかかるので、遅れと費用の引き換えで決めます。
  • 1 台が同時に受ける要求の数と、最大の台数を決め、その掛け算で DB の接続数があふれないようにします。
  • どの台に要求が来ても同じに動くよう、手元に状態を持たない作り (ステートレス) にし、ファイルは外の置き場に置きます。

少し詳しい答え

立ち上がりの遅れと費用

台数がゼロや少ない状態で要求が来ると、新しい台を立ち上げる間だけ待たせます。最小の台数 (最小インスタンス数) を決めておくと、この遅れを減らせます。Google Cloud の Cloud Run の説明でも、最小インスタンス数でコールドスタートを減らせ、そのインスタンスは使っていなくても料金がかかる、とされています。AWS では ECS の最小のタスク数や、Lambda であらかじめ温めておく設定が近い役です。

夜はほとんど使われないサービスなら最小をゼロにして費用を抑え、朝の最初の数人だけ少し待たせる、という選び方もあります。利用者を待たせて困る画面かどうかで決めます。

台数と接続数の掛け算

アプリの台数が増えると、それぞれが DB に接続を張ります。DB が受けられる接続の数には上限があるので、台数が増えた瞬間に DB があふれることがあります。数字は架空の例です。

最大の台数               20 台
1 台が持つ接続の数       10 本 (コネクションプール)
合計                    200 本

DB が受けられる数        100 本  -> あふれる

手当ては、最大の台数に上限を付ける、1 台のコネクションプール (接続を使い回すための溜め) を小さくする、間に接続をまとめる中継を置く、のどれかです。1 台が同時に受ける要求の数 (同時実行数) も、この計算に効きます。多くすると台数は少なく済みますが、1 台のメモリや CPU が足りなくなります。

手元に状態を持たない (トレードオフ)

台数は増えるだけでなく、要らなくなると消えます。手元のディスクに上がったファイルや、メモリに持ったログインの状態は、その台と一緒に消えます。次の要求が別の台に来れば、見つかりません。だから、ファイルはオブジェクトストレージに、セッションは DB やキャッシュに出します。

外に出すと、そのぶん置き場への通信が増え、少し遅くなります。それでも、どの台でも同じに動くことのほうが、台数を増やして耐える仕組みには大事です。1 台を大きくして耐える (縦に伸ばす) 方法もありますが、上限があり、その 1 台が落ちると全部止まります。

話すときは、自分が関わったサービスで、最小と最大の台数をいくつにし、何を見て決めたかの例を 1 つ用意します。

よくある間違い

  • 台数が増えれば何でも耐えると思うアプリが増えても、DB や外の API が先に詰まります。後ろの限界から逆算します
  • 最小の台数を費用を考えずに増やす使っていない時間も料金がかかります。待たせて困る画面かどうかで決めます
  • アップロードされたファイルを手元のディスクに置く 台が消えるとファイルも消え、別の台からは見えません

深掘りの問い

  • 「台数を増やす合図には、何を使いますか」 CPU の使い方、同時の要求の数、キューに溜まった件数などから、詰まりの元に近い物を選ぶ、と答えます
  • 「急な山に台数の増え方が追いつかないときは」最小の台数を時間帯で上げる、キューで受けて後ろで流す、入口で回数を絞る、と答えます
  • 「台数が減るとき、処理中の要求はどうなりますか」止める合図を受けたら新しい要求を取らず、今の要求を終えてから止まるよう作る、と答えます

確認日 2026年10月24日

技術面接問題の一覧へ戻る