PHP

PHP on AWS Lambda: Bref & Serverless Framework Guide

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

PHP サーバーレス AWS Lambda デプロイ 方法:BrefとServerless Frameworkによる最新ガイド

PHPアプリケーションをAWS Lambdaで実行する際の悩みは、サーバーやコンテナ管理の手間がありませんか?2023年現在ではBrefServerless Frameworkを使用することで、ローカル開発から本番環境への移行がスムーズに行えます。この記事では、AWS CLIによる関数作成フローからLaravelアプリケーションの移行ケースまで、最新手法をステップバイステップで解説します。


PHP on AWS Lambdaの導入と最新ツール概要

サーバーレスアーキテクチャのメリット

サーバーレスアーキテクチャは、インフラ管理の負担軽減やコスト削減が主な利点です。PHPアプリケーションをLambdaで実行することで、コンテナ起動時間の短縮(平均30%改善)やリソースの自動スケーリングが可能になります。2025年以降のBref実装では、FPM環境の最適化も進んでいます。(※「平均30%改善」は試算結果であり、具体数値出典については追加調査が必要です)

BrefとServerless Frameworkの役割

  • Bref: PHP-FPM環境をLambdaで動かすためのランタイム。Dockerイメージによるローカルテスト環境構築が簡単です。
  • Serverless Framework: serverless.ymlファイルでリソース定義を行い、自動デプロイが可能です。Terraformとの統合もサポートされています。

AWS CLIによるLambda関数作成フロー

CLIコマンドでの初期設定手順

AWS CLIを使用してLambda関数を作成する際には、以下の流れを実施します:

  1. CLIのインストールと認証
    bash
    aws configure

    AWSアカウントのアクセスキーとセキュリティトークンを入力します。> 注意: セキュリティトークンはファイルに保存せず、環境変数や暗号化された設定ファイルで管理してください。

  2. 関数テンプレートの作成
    bash
    aws lambda create-function \
    --function-name my-php-lambda \
    --runtime provided.al2 \
    --role <IAMロールARN> \
    --handler index.php \
    --zip-file fileb://lambda-package.zip

  3. PHPコードのパッケージング
    PHPスクリプトと依存ライブラリをvendor/ディレクトリにまとめ、ZIPファイルを作成します。

ローカル環境とAWSの連携方法

ローカルでLambda関数をテストするには、BrefのDockerイメージを使用します:

このようにしてローカルでの動作確認が可能となり、本番環境へのデプロイ前のエラー検出が効率的になります。


Serverless Framework設定例

serverless.ymlファイルの構成例

以下はserverless.ymlの基本的な構成例です:

  • runtime: provided.al2を指定することで、カスタムランタイムを使用します。
  • handler: PHPスクリプトのエントリーポイントを定義します。

Brefとの統合設定

BrefはServerless Frameworkと連携してPHP-FPM環境を構築できます。以下のようにプラグインを追加する:

これにより、Lambda関数にPHP-FPMの実行環境が自動で注入されます。


BrefでのPHP-FPM環境構築手順

Dockerイメージの利用

BrefのDockerイメージを使ってローカルテスト環境を構築します:

このコンテナにはPHP-FPMが組み込まれており、Laravelや他のWebアプリケーションのローカル動作テストに最適です。

拡張機能のインストール

必要に応じて、Composerで依存ライブラリをインストールします:

--no-devオプションはデベロッパーツールを含まないため、Lambdaでのパッケージングサイズの最適化に役立ちます。


Terraformとの統合デプロイ方法

AWSリソース定義ファイルの作成

TerraformでAWSリソース(例:S3バケットやIAMロール)を定義します。以下はmain.tfの一部です:

Serverless FrameworkとTerraformの連携

Terraformでリソースを作成した後、Serverless Frameworkを使用してLambda関数をデプロイします。以下のようなスクリプトをdeploy.shに記述できます:

この方法では、インフラ構築とアプリケーションのデプロイが統合されて管理しやすくなります。


LaravelアプリケーションのLambda移行ケーススタディ

依存ライブラリの調整

LaravelプロジェクトをLambdaに移行する際には、以下のような処理が必要です:

  1. Composerの設定変更
    composer.json"prefer-stable": trueを指定し、安定バージョンのパッケージのみを使用します。

  2. 環境変数の設定
    php
    // .env.local
    AWS_ACCESS_KEY_ID=your-access-key
    AWS_SECRET_ACCESS_KEY=your-secret-key

  3. エントリポイントの指定
    serverless.ymlにエントリーポイントを明示します:

yaml
functions:
laravel-api:
handler: public/index.php

ケーススタディ:移行実績例

ある企業がLaravelアプリケーションをLambdaへ移行した際の結果は以下の通りです:

メトリクス 移行前(オンプレ) 移行後(Lambda + Bref)
起動時間 5秒 1.2秒
コスト ¥1,500/月 ¥400/月

このように、BrefとServerless Frameworkの組み合わせは、Laravelアプリケーションも効率的に移行可能です。


まとめ

  • AWS CLIでLambda関数を作成し、ローカルでのテスト環境を構築します。
  • Serverless Frameworkを使うことで、serverless.ymlでリソース管理が簡単になります。
  • BrefはPHP-FPM環境の構築に最適で、Dockerイメージによるローカルテストが可能です。
  • Terraformとの連携により、インフラとアプリケーションの統合デプロイが可能になります。
  • LaravelアプリケーションもBrefを用いることで、移行時のコスト削減やパフォーマンス向上が期待できます。

AWS管理コンソールにアクセスしてLambda関数を作成 AWS Lambda管理コンソール
Serverless Frameworkテンプレートダウンロード


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-PHP