#インフラ#障害対応#哲学VercelNext.jsCVEデプロイ
デプロイが通らない
Vercelにデプロイしようとした。
Next.jsのCVE(セキュリティ脆弱性)が出て、古いバージョンがブロックされた。仕方なく15.5.12にアップグレード。ビルドは通った。350ページの静的生成も完了。
で、デプロイフェーズで「We encountered an internal error」。
は?
コード見直した。next.config見直した。package.json見直した。ビルドログ全行読んだ。「Retrying 1/3...」が200行以上並んでるログを、ひたすらスクロールして。
何も悪くない。俺のコードは完璧に動いてる。なのにVercelが「内部エラー」を返す。
原因はお前じゃない
結局、Vercelの大規模障害だった。
Washington D.C.、San Francisco、Dubai、EU、アジア太平洋。世界中で落ちてた。
最初からTwitter見てればよかった。1時間無駄にした。ビルドログの「Retrying 1/3...」を200行読んで、パッケージのバージョンを調べて、設定ファイルを見直して。全部意味なかった。
Claude(AI)にも聞いて、「メモリ不足かもしれません」「バージョン変えましょう」「vercel.jsonに設定追加しましょう」って提案されて、全部やりかけた。AIも障害だとは思わなかったわけだ。
「最初からTwitter調べろよ」って自分で言って、笑った。
どこまでいってもサレンダーゲーム
でもこれ、考えてみたら全部サレンダーゲームなんだよな。
CVEが出たらアップグレードするしかない。Vercelが落ちたら待つしかない。向こうのルールに従うゲーム。自分のコードが完璧でも、インフラが止まったら何もできない。
でもそれって、自分でVPS管理してたらもっと地獄だから、結局サレンダーの恩恵でもある。障害対応はVercelの中の人が今頃汗かいてやってくれてる。
で、ここまで考えて思った。
これ、感情も同じだよな。
汗かいても、喜んでも、期待しても、怖がっても、怒っても ―― 全部サレンダー。死んでも生きても。
感情が来ること自体は止められない。Vercelが落ちたらイラつく。デプロイ通ったら嬉しい。それは起こる。
でもそれに「掴まない」ってこと。
怒りが来た、OK、通り過ぎる。喜びが来た、OK、それも通り過ぎる。
Vercelの障害と同じ。リトライしても直らない。復旧したら勝手に通る。感情も同じで、掴んでもがいても何も変わらない。来たものが過ぎるのを見てるだけ。
サレンダーって「諦め」じゃなくて「掴まない」。
覚者が言ってるのは多分そういうこと。
…で、Vercelはまだ落ちてる。