PHPで開発された社内アプリケーションを稼働させている環境のアップデートをご依頼いただき、弊社で対応させていただきました。
以下のような手法により、サポート期限切れによる課題に柔軟かつ効果的に対処し、サーバの安定性とセキュリティを向上させることができました。
プロジェクトの背景と目的:
AWS上の対象サーバで利用されているPHPやLaravelのサポート期限が既に切れており、セキュリティ上の懸念が生じてる状態となっておりました。そのため、環境のミドルウェアやパッケージのアップデートが必要となりました。
提案とリスク管理:
アップデートに伴うリスクを最小限に抑えるため、新規でEC2インスタンスを作成してサーバを構築することを提案いたしました。
実際に、この手法で問題切り分けや業務影響のリスクを管理し、現行環境に影響を与えずにアップデートを行いました。
アップデート作業:
PHP7.3からPHP8.2、Laravel6からLaravel10へのアップデートに際して、互換性の問題や変更点を調査し、必要な修正を行いました。
特にアプリケーションの動作に影響を与える可能性がある点に重点を置き、公式資料などの公開情報や検証環境での動作確認の上で安定稼働を確保いたしました。
ログの管理:
Webアプリケーション側の動作ログが増加していたため、ログの管理を強化するためにlogrotateの新規設定を行いました。
これにより、システムパフォーマンスや問題解析のためのログデータを適切に管理しました。
OS変更に伴う調整:
最新のAmazon Linux 2023を利用して構築された環境において、アプリケーションの動作に生じた違いについて調査し、調整を行いました。
HTTPタイムアウト動作に違いがみられたため、アプリケーションへの影響を確認し、設定に調整を施すことで安定した動作を確保いたしました。
ロードバランサ機能の活用:
AWSのロードバランサ機能を利用して、インスタンスへの振り分けを変更することで、停止時間を最小限に抑えたリリース作業を実現いたしました。これにより、ユーザーアクセスに対する中断を最小限に留め、スムーズなアップデートが可能となりました。