Lambda × Laravel(bref)× Serverless Framework

Lambda × Laravel(bref)× Serverless Framework AWS
記事内に広告が含まれています。

この記事では、「brefを用いてLambda上でLaravelを動作させて、Serverless Frameworkを使ってLambdaにデプロイする方法」について書いています。

前提知識

  • brefは、Lambda上でPHP/Laravelを動作させるための設定を行なってくれるライブラリ
  • Serverless Frameworkは、サーバレスアプリケーションを簡単に構築するためのツールで、サクッとデプロイすることが可能

serverlessコマンドをインストールする

まずは、serverlessコマンドをインストールします。

$ npm install -g serverless
$ serverless -v
Framework Core: 3.19.0
Plugin: 6.2.2
SDK: 4.3.2

AWS Access Keyを作成する

上記ドキュメントに記載通りに進めていきます。今回は「bref-cli」ユーザーを作成しました。

作成したユーザーの認証情報を保存する

$ serverless config credentials --provider aws --key <key> --secret <secret> --profile bref-cli

これで、認証情報が「.aws/credentials」に書き込まれます。

brefのインストールおよび初期化を行う

brefのインストールを行います。

$ composer require bref/bref

続けて、初期化を行います。

$ vendor/bin/bref init

 What kind of lambda do you want to create? (you will be able to add more functions later by editing `serverless.yml`) [Web application]:
  [0] Web application
  [1] Event-driven function
 > 

Creating index.php
Creating serverless.yml

                                                                                                                        
 [OK] Project initialized and ready to test or deploy.                                                                  
                                                                                                                        
      The files created were automatically added to git.

用途を聞かれますが、特に用途を決めていないのであれば、何も選択せずに「Enter」を押下!

Serverless FrameworkでLambdaのデプロイを行う

いざデプロイを実施!

$ serverless deploy --aws-profile bref-cli

Deploying app to stage dev (us-east-1)

✔ Service deployed to stack app-dev (144s)

endpoint: ANY - https://XXXXXXXXX.amazonaws.com
functions:
  api: app-dev-api (17 MB)

これで、エンドポイントに表示されているURLにアクセスすると、index.phpの内容が表示されます。

デプロイが完了し、ファイルが表示されることを確認できたので、今回作成したアプリケーションは削除しておきます。

$ serverless remove --aws-profile bref-cli
Removing app from stage dev (us-east-1)

✔ Service app has been successfully removed (36s)

これで、先ほどのURLにアクセスするとエラーメッセージが表示されます。

参考資料

コメント

タイトルとURLをコピーしました