1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP・Laravelのバージョンアップ手法(インフラ編)

Last updated at Posted at 2025-08-12

概要

レガシーな環境で動いていたPHPとLaravelの大幅なバージョンアップし、本番リリースまで行ったので手法と注意点を残します。
こちらではAWSでの環境構築と本番リリース手法を記載。
アプリケーションのアップグレードはこちら

バージョン

PHP: 7.1 => 8.3
Laravel: 5.5 => 12.x

環境

AWS二つの環境で用いて開発を行っていた

  • staging(stg)
  • production(prod)
    検証用に以下の環境を追加し、アップデートのテストを行った
  • develop(dev)

流れ

大幅なアップグレードのため、サーバーでの変更を逐次行うことは非効率であると考えたため、別インスタンス、別ドメインを用意し検証を行うことにした。

検証

  • devのEC2インスタンス、ELBを作成
  • devにPHP8.3、その他ミドルウェアのインストール
  • Route53でdevドメインに紐付け
  • devでテスト完了後、Route53でstgドメインをdevインスタンスに紐付け(dev=>stgへのプロモーション)

本番

  • prodの差し替え用インスタンス、ELBを作成(Blue/Greenデプロイメントにちなんでblueと呼称)
  • prod-blueにPHP8.3、その他ミドルウェアのインストール
  • prod-blue用のドメインで動作確認
  • 本番当日はRoute53でprodドメインをprod => prod-blueのELBへ変更(prod-blue => prodへのプロモーション)

感想

事前にblue環境を用意し差し替えることで、手順・リスクが減りスムーズな移行が可能になりました。
staging等の環境を維持したままアップデートしないといけない場合おすすめです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?