マネージドのデータベースが便利であることをやめ、壁になり始める特定の瞬間があります。層が提供しない拡張が欲しい。実際のクエリプランを見て work_mem を調整したい。スーパーユーザーが欲しい。マネージドサービスは、そのものを所有する必要が出るまでは素晴らしい既定です — そしてそのとき、フルrootのVPSが正直な答えです。
このページは自分のPostgreSQLやRedisを正しく動かすこと、そして共有の箱がどこで正しい判断でどこでそうでないかを明確にすることについてです。
データベースが実際に必要とするもの
データベースはゲームサーバーが気にしない二つを気にします:ワーキングセットのためのメモリ と ディスクI/O。おおよその形:
- 一つのアプリ — Postgres(やRedis)のインスタンスとバックエンドサービス。ワーキングセットはたいてい1.7-2 GB。Small($8)が難なくこなします。
- いくつかのアプリ、あるいは実際の本番並行性 — より多い接続、大きなキャッシュ、背景ジョブ。Medium($12)が余裕を与えます。
- 他のマシンが到達する必要がある — 安定した経路指定可能なアドレスが欲しいので、専用IPv4プラン(Small-IP $16以上)。下記で詳しく。
Redisはさらに軽い — メモリバウンドなので、プランをデータセットとオーバーヘッドに合わせれば完了。Postgresが少しのチューニングに報いるものです。
自ホストの本当の理由:制御
ここでVPSが真価を発揮します。自分の箱ではこれが得られます:
postgresql.conf全体 —shared_buffers、work_mem、max_connections、WAL設定、その全部を、ベンダーの既定でなくあなたのワークロードに合わせて調整。- 任意の拡張。 埋め込みと意味検索の
pgvector、地理空間のPostGIS、時系列のTimescaleDB、pg_cron、pg_stat_statements— 必要なものを入れます。マネージド層はしばしば拡張リストを制限するか、より高いプランの後ろに置きます。 - スーパーユーザーとその下のOS。 データディレクトリを動かし、カーネルを調整し、自分のスケジュールで
pg_dumpを走らせ、望むなら別の箱へストリーミングレプリケーションを設定できます。
そのどれもあなたに関係ないなら、マネージドのデータベースは本当に問題なく、それを使うべきです。このページは関係ある場合のためです。
共有の箱が間違った道具である場所
率直に:共有vCPUのVPSは重いOLTP — 毎秒数百のトランザクションと遅延に敏感な書き込み — のためには作られていません。そのワークロードは保証されたディスクI/Oと安定したクロックで生き死にし、共有プランはどちらも約束しません。それがあなたなら、専用ハードウェアが欲しく、あなたのp99遅延が二人を恥じ入らせるのを見るより今言うほうを選びます。
はるかに一般的な場合 — 一つのアプリの背後のデータベース、内部ツール、分析ストア、キャッシュ — には、共有プランがまさに正しいです。
バックアップは任意ではない
自ホストとはバックアップが自分の仕事だということで、唯一の規則は:必要になる前にやる。 Postgresには、論理バックアップにcronで pg_dump、本当に大事なものにはポイントインタイム復旧のためのWALアーカイブ。ダンプを箱の外へ送りましょう — オブジェクトストレージか別のサーバーへ — 死んだディスクがバックアップを道連れにしないように。少なくとも一度復元をテストを。復元したことのないバックアップは希望であって、バックアップではありません。
他のサーバーを接続させる
データベースが同じ箱のアプリだけに提供するなら、localhostにバインドすれば完了 — 晒すものなし。別のマシンが入る必要が出た瞬間、二つが変わります:
- 安定した経路指定可能なアドレスが要る — それが 専用IPv4プラン(Small-IP $16、Medium-IP $20)。NATプランはアドレスを共有し、アウトバウンドには問題ないが、他のサーバーがダイヤルインするデータベースには向きません。
- 強くファイアウォールします。 5432(や6379)を必要とする特定のIPだけに開き、
0.0.0.0/0には決して開かず、TLSを要求します。公開インターネットの開いたPostgresポートは数分で見つかります。
プランを選ぶ
| 構成 | プラン |
|---|---|
| 一つのアプリの背後のDB、localhostのみ | Small($8) |
| いくつかのアプリ / 本番並行性 | Medium($12) |
| 他のサーバーが接続してくる必要 | Small-IP($16) / Medium-IP($20) |
| 重いOLTP、数百TPS | 専用ハードウェア、共有VPSではなく |
ほとんどの自ホストデータベースは Small で始まり、より多くのアプリや外部クライアントを引き受けるにつれMediumや専用IPプランに育ちます。
なぜここか
フルrootはそれがあなたのデータベースであること、末端まで — すべての設定行、すべての拡張、自分のバックアップスケジュール、入れられるものを決める層なし。支払いは暗号通貨(Base、Ethereum、Polygon上のUSDCかUSDT)、KYCなし、書類なし。支払いの約60秒後にroot、数分後にはPostgresが接続を受けられます。
正直な要約:制御が欲しいとき — 拡張、チューニング、スーパーユーザー — そしてワークロードが中程度のときに自ホストを。小〜中規模のアプリのデータベースには、共有プランが正しい道具。遅延に敏感なOLTPの数百TPSには、そうでなく、そう言います。準備はいい?プランを選びましょう。
コメント
まだコメントはありません。最初になりましょう。