第56回: 本番リリースチェックリスト — 「確認漏れゼロ」でリリースを安全に完了させる
本番リリースは確認項目が多く、手順書なしでは抜け漏れが起きやすい場面です。チェックリストを持つことで、セキュリティ・パフォーマンス・品質の確認を漏れなく実施でき、見落としによる事故を防げます。
Month
本番リリースは確認項目が多く、手順書なしでは抜け漏れが起きやすい場面です。チェックリストを持つことで、セキュリティ・パフォーマンス・品質の確認を漏れなく実施でき、見落としによる事故を防げます。
エラーの検知が遅れるほど影響を受けるユーザー数が増え、信頼を失います。Sentryを使えば、エラーをリアルタイムに収集・分類・通知でき、障害の影響範囲を最小限に抑えられます。
場当たり的なセキュリティ対策では、重要な脅威を見落とすリスクがあります。OWASP Top 10はWebアプリの代表的な脆弱性をリスト化したもので、これを基準に設計段階からセキュリティを組み込めます。
XSS(クロスサイトスクリプティング)は、ページに悪意あるスクリプトを埋め込む攻撃で、ユーザーのCookieやセッション情報を盗まれるリスクがあります。出力時のエスケープを徹底することで根本的に防御できます。
テストの実行忘れ・PHPStanのチェック漏れ——手作業での確認は必ずミスが生まれます。GitHub Actionsを使えば、コードのpushや Pull Requestをトリガーにテスト・解析を自動実行できます。
ハードコードされた認証情報がGitにコミットされると、リポジトリが公開された瞬間に漏洩します。.envファイルを使って設定値をコードから切り離すことで、環境ごとに異なる値を安全に管理できます。
PHPのバージョン違い・MySQLの設定差・拡張モジュールの有無——こうした環境差異がバグの温床になります。Dockerを使えば、コンテナで環境を定義することで、チームや本番との差異をなくせます。
ログが不足していると、エラーの再現手順が分からず原因特定に時間がかかります。Monologを使えば、ログの出力先・フォーマット・レベルを柔軟に制御でき、障害時の対応速度を大幅に上げられます。
ファイルベースのセッションは1台構成では動きますが、ロードバランサーで複数サーバーに分散すると「セッションが消える」問題が発生します。Redisをセッションストアに使うことで、高速で信頼性の高いセッション管理が実現できます。
PHPはデフォルトでリクエストごとにスクリプトを解析・コンパイルします。Opcacheを使えば、コンパイル済みのスクリプトをメモリにキャッシュして再利用でき、実行速度を大幅に改善できます。