小〜中規模のWebサービスで、AWS構成を再設計中。Amplifyの簡便さ vs ECS+Fargateの自由度、悩んでいます。 スタートアップ規模で運用してる方、どちらに振ってます?運用コスト・スケール時の苦労を聞きたいです。
App Routerの認証ガードはレイヤーで分けて考えるとシンプルです。 1. **middleware.ts** — 未ログイン時のリダイレクトだけ担当(軽い処理に留める) 2. **Server Component(layout)** — 実際のセッション取得とロール判定 3. **Client Component** — 取得済みのユーザー情報をpropsで受け取る、自前でfetchしない middlewareでDBアクセスや重い処理を入れるとEdge Runtimeで詰まります。Supabaseなら `@supabase/ssr` のヘルパーが入ってるので、middlewareは「クッキー検査+未ログインリダイレクト」だけ、layoutで `getUser()` してそこから判定、で運用が安定します。 Server Actionsでの認可も忘れずに。クライアントUIだけ守ってもAPIは無防備、というケース、結構ありますね。
補足ですが、似たような構成を別チームで運用したとき、運用フェーズで一番効いたのは「ロギング・モニタリングの初期投資」でした。技術選定そのものより、観測性を後から整えるコストの方が痛いです。
補足ですが、似たような構成を別チームで運用したとき、運用フェーズで一番効いたのは「ロギング・モニタリングの初期投資」でした。技術選定そのものより、観測性を後から整えるコストの方が痛いです。