Vercelは2026年8月11日(現地時間)、Vercelビルドの基盤となるデータベースをRedisからDynamoDBへ移行したと発表した。これは、コンテナの準備状況、認証トークン、課金マッピングなど、ビルドウォームプールで管理される重要なステートが永続性を必要とするようになったため。システムを停止することなく、本番環境下で段階的にライブ移行が実施された。

Vercelのビルドウォームプールは、新たなコンピュートを待つことなくビルドを開始できるスタンバイコンテナのセットで構成される。初期段階では、このプールのステート管理にRedisが利用されていた。Redisはその速度とアクセスパターンへの適合性から当初は適切な選択であった。

しかし、時間が経過するにつれ、認証トークンや特に失われた場合に再構築不可能な課金マッピングといったステートが、一時的なキャッシュとして運用されるRedisでは耐久性に課題があることが明らかになった。Redisが利用不能になったりデータを喪失したりした場合、プールはコンテナの認証や作業追跡を信頼性高く実行できなくなるリスクがあった。

このため、Vercelは耐久性のあるストレージとしてDynamoDBへの移行を決定した。DynamoDBはオンデマンドスケーリング、ネイティブのTTL(Time To Live)サポート、高同時実行性における接続管理不要といった特性が選定理由となった。移行にあたり、Redisのデータ構造を直接引き継ぐのではなく、コンテナを中心とした新しいスキーマを設計。コンテナIDをソートキーとし、認証トークンはハッシュ化して保存する形式が採用された。

移行プロセスは、Redisのみ、デュアルライト、シャドウリード、DynamoDBプライマリ、DynamoDBのみの段階に分けられた。各フェーズでは、ロールバック可能な状態を保ちながら進められ、ダッシュボードによる比較監視を通じて、データ整合性やパフォーマンスが継続的に検証された。移行中には、比較メカニズムによる負荷増大や、移行対象のRedisインフラ自体のダウンといった問題に直面したが、これらを解決しながら移行を完了させた。


参考: Vercel Blog (アーカイブ) — 2026年8月12日 07:00 (JST)

原文ハイライト

"If Redis became unavailable or lost data, the pool could no longer reliably authenticate containers"

この記事をシェア
X はてブ LinkedIn