PHP のサーバーレスへの移行とコストの削減

PHP のシステムは、サーバーを持たずに、AWS Lambda の上で動かせます。リクエストを処理した分だけの課金になり、OS の更新やサーバーの台数の管理もなくなります。
今の費用とアクセスの記録からの試算、構成の設計、移行、PHP のバージョンアップ、移行後の保守運用まで、KEY SELECT がお引き受けできます。
すべての作業を、セキュリティを意識して進めます。

費用が下がる仕組み

待機しているサーバーの費用と、サーバーを管理する手間の両方を減らせます。

使った分だけの費用

リクエストを処理した時間だけ課金され、アクセスのない時間に待機しているサーバーの費用がかかりません。

運用の手間の削減

OS とミドルウェアの更新、サーバーの台数と容量の管理が不要になり、保守運用の作業が減ります。

アクセス集中への対策

アクセスに合わせて自動で処理が増えるため、キャンペーンやテレビ放送のための大きなサーバーを、普段から用意しておく必要がありません。

費用の試算

Arm、メモリ 1,024 MB、1 回の処理が平均 200 ミリ秒、受け口に HTTP API を使う場合の、1 か月の費用です。データベース、ログ、転送量の費用は含めていません。

AWS Lambda のリクエスト

$0.20/ 100 万リクエスト

x86 と Arm (Graviton) で同じです。

AWS Lambda の実行時間

$0.0000133334/ GB 秒 (Arm)

メモリの量と実行時間の積で課金されます。x86 は $0.0000166667 で、Arm は約 2 割安くなります。

毎月の無料枠

無料100 万リクエストと 40 万 GB 秒

期間の限られない無料枠 (Always Free) です。

API Gateway (HTTP API)

$1.29/ 100 万リクエスト

Web のリクエストを Lambda に渡す受け口です。Lambda の関数の URL (Function URL) なら、受け口の料金はかかりません。

1 か月のアクセスAWS LambdaEC2 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 は、インフラの費用だけでなく、OS の更新や障害の対応などの運用の費用も含めて比べ、向いている構成をご提案します。

お引き受けできること

試算から移行、移行後の保守運用まで、まとめてお引き受けできます。

費用の試算

今のサーバーの費用とアクセスの記録から、移行後の費用を試算し、移行するかどうかの判断の材料をご用意します。

構成の設計

Lambda、受け口、データベース、ファイルの置き場所を、アクセスの量とセキュリティの方針に合わせて設計します。

アプリケーションの移行

セッション、アップロードされたファイル、定期の処理、メールの送信を、AWS のサービスに移します。

PHP の保守・バージョンアップ

Lambda で PHP を動かす Bref は、PHP 8.2 以上が必要です。古い PHP のシステムは、バージョンアップとあわせて移せます。

デプロイと CI の整備

テストを通った変更だけを、自動で本番に反映する仕組みを整えます。

移行後の保守運用

サーバーレスでも、PHP と Bref の修正の適用は続きます。監視と費用の確認もあわせてお引き受けできます (移行後の保守)。

移行で変えること

Lambda では、サーバーのディスクに書き込めず (/tmp を除く)、処理のたびに別の環境で動くことがあります。サーバーに保存していたものを、AWS のサービスに移します。

役割移行先内容
アプリケーションAWS Lambda と BrefBref の PHP-FPM のランタイムで、今の PHP のアプリケーションを動かす
セッションAmazon DynamoDB、データベース、Redisサーバーのファイルに置いていたセッションを移す
アップロードされたファイルAmazon S3サーバーのディスクに保存していたファイルを移す
定期の処理 (cron)Amazon EventBridge と Bref のコンソールのランタイム決まった時刻に、コマンドを Lambda で動かす
時間のかかる処理Amazon SQSキューに入れ、別の Lambda で処理する
メールの送信Amazon SESサーバーから送っていたメールを、SES から送る
画像や CSS などの静的なファイルAmazon CloudFront と S3CloudFront から配信し、Lambda の処理を減らす

CakePHP 2 系のアプリケーションでは、pieceofcake2 の AsyncAws のプラグインで、これらのサービスを使えます (CakePHP 2 系の延命と移行)。

見落としやすい費用と制限

設計の段階で確かめておく点です。

項目料金 (東京)注意すること
NAT Gateway1 時間 $0.062 と、処理した 1 GB ごとに $0.062VPC の中の Lambda からインターネットに接続する場合に必要。1 つで月に約 $45 かかる
CloudWatch Logs取り込み 1 GB ごとに $0.76ログを多く出すと、Lambda より高くなることがある。出す量と保存の期間を決める
データベースAurora Serverless v2 は 1 ACU 時間 $0.15使わない間は 0 ACU まで止められるが、再開に通常約 15 秒かかる。RDS Proxy をつなぐと止まらない
  • 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 万ドルを超える組織では有料です
  • 応答を少しずつ返す仕組み (レスポンスストリーミング) には、まだ対応していません

ご相談・お問い合わせ

内容が固まっていない段階からご相談いただけます。各分野のプロフェッショナルがご対応いたします。ご相談・お見積もりは無料です。