PHP のサーバーレスへの移行とコストの削減
PHP のシステムは、サーバーを持たずに、AWS Lambda の上で動かせます。リクエストを処理した分だけの課金になり、OS の更新やサーバーの台数の管理もなくなります。
今の費用とアクセスの記録からの試算、構成の設計、移行、PHP のバージョンアップ、移行後の保守運用まで、KEY SELECT がお引き受けできます。
すべての作業を、セキュリティを意識して進めます。
費用が下がる仕組み
待機している
使った分だけの費用
リクエストを
運用の手間の削減
OS と
アクセス集中への対策
アクセスに
費用の試算
Arm、メモリ 1,024 MB、1 回の処理が平均 200 ミリ秒、受け口に HTTP API を使う場合の、1 か月の費用です。データベース、ログ、転送量の費用は含めていません。
AWS Lambda のリクエスト
$0.20/ 100 万リクエスト
x86 と
AWS Lambda の実行時間
$0.0000133334/ GB 秒 (Arm)
メモリの
毎月の無料枠
無料100 万リクエストと
期間の
API Gateway (HTTP API)
$1.29/ 100 万リクエスト
Web のリクエストを Lambda に渡す受け口です。Lambda の関数の URL (Function URL) なら、受け口の料金はかかりません。
| 1 か | AWS Lambda | EC2 1 台 | EC2 2 台と |
|---|---|---|---|
| 100 万リクエスト | 約 $1.29 | 約 $21.34 | 約 $60 と |
| 1,000 万リクエスト | 約 $36.03 | 約 $21.34 | 約 $60 と |
| 約 1.3 億リクエスト | 約 $533 | 処理しきれるかの | 約 $60 と |
- 100 万リクエストの Lambda は、実行時間とリクエストが無料枠の範囲に収まり、HTTP API の分だけです。約 1.3 億リクエストは、常に毎秒 50 リクエストの場合です。x86 の Lambda は、1,000 万リクエストで約 $41.37 です。
- EC2 は、t4g.small (1 時間 $0.0216)、パブリックの IPv4 アドレス (1 時間 $0.005)、20 GB の gp3 のディスクを、1 か月 730 時間で計算しています。ロードバランサー (ALB) は、1 時間 $0.0243 と、処理の量 (LCU) に応じた料金です。
- 料金は、2026 年 10 月 27 日時点の AWS の公式の価格表 (東京リージョン、税別、米ドル) によります。処理の重さとアクセスの偏りで、結果は大きく変わります。
アクセスが月に数百万リクエストまでのシステムや、時間帯によってアクセスの差が大きいシステムでは、Lambda が安くなりやすくなります。AWS の比較のガイドも、常に多くのアクセスがある処理では、秒単位で課金する Fargate などのほうが経済的になりやすいとしています。
KEY SELECT は、
お引き受けできること
試算から
費用の試算
今の
構成の設計
Lambda、
アプリケーションの移行
セッション、
PHP の保守・バージョンアップ
Lambda で PHP を動かす Bref は、PHP 8.2 以上が必要です。古い PHP のシステムは、バージョンアップとあわせて移せます。
デプロイと CI の整備
テストを
移行後の保守運用
サーバーレスでも、
移行で変えること
Lambda では、サーバーのディスクに書き込めず (/tmp を除く)、処理のたびに別の環境で動くことがあります。サーバーに保存していたものを、AWS のサービスに移します。
| 役割 | 移行先 | 内容 |
|---|---|---|
| アプリケーション | AWS Lambda と | Bref の |
| セッション | Amazon DynamoDB、 | サーバーの |
| アップロードされた | Amazon S3 | サーバーの |
| 定期の | Amazon EventBridge と | 決まった |
| 時間の | Amazon SQS | キューに |
| メールの | Amazon SES | サーバーから |
| 画像や | Amazon CloudFront と | CloudFront から |
CakePHP 2 系のアプリケーションでは、pieceofcake2 の AsyncAws のプラグインで、これらのサービスを使えます (CakePHP 2 系の延命と移行)。
見落としやすい費用と制限
設計の
| 項目 | 料金 (東京) | 注意する |
|---|---|---|
| NAT Gateway | 1 時間 $0.062 と、 | VPC の |
| CloudWatch Logs | 取り込み 1 GB ごとに | ログを |
| データベース | Aurora Serverless v2 は | 使わない間は |
- 1 回の
処理は 最大 15 分です。 HTTP API を 受け口に する 場合は、 30 秒以内に 応答する 必要が あります - リクエストと
レスポンスの 大きさは、 それぞれ 6 MB までです。 大きな ファイルは、 S3 に 直接アップロード・ダウンロードさせます - しばらく使われていない環境で最初の処理が動くとき (コールドスタート) は、Bref の説明では平均約 250 ミリ秒かかります。アクセスが続いていれば、リクエストの約 0.2% にとどまります。300 ミリ秒を超える応答が許されない処理には向きません
技術者の方へ: Bref
Bref は、PHP のアプリケーションを AWS Lambda で動かすためのオープンソースのツールです。最新は 3.0 系 (2026 年 10 月 21 日の 3.0.14) です。
- 対応する
PHP: 8.2、 8.3、 8.4、 8.5。 PHP 8.0 と 8.1 は、 Bref 3.0 で 対象外に なりました - ランタイム: Web のアプリケーション用の PHP-FPM、イベントで動く関数用、コマンド用の 3 種類。Arm と東京リージョンにも対応しています
- フレームワーク: Laravel 用 (bref/laravel-bridge) と Symfony 用 (bref/symfony-bridge) の連携のパッケージがあります
- デプロイ: ドキュメントは
serverless.ymlを前提に書かれており、Bref の開発者が公開している、MIT ライセンスの osls を使えます。AWS CDK、Terraform、AWS SAM でも使えます。Serverless Framework の v4 は、前の年度の収益が 200 万ドルを超える組織では有料です - 応答を
少し ずつ返す 仕組み (レスポンスストリーミング) には、 まだ 対応していません
ご相談・ お問い合わせ
内容が