アシアルブログスマートフォン用の表示で見るアシアルブログアシアルの中の人が技術と想いのたけをつづるブログです2019-07-17LambdaでPHPを動かしてみたTweetPHPer(ぺちぱー)エンジニアの笹亀(ささがめ)です。プロジェクトマネージャーがメインですが、根っこの部分はエンジニアですwAWSのLambdaでもPHPが利用できるようになったというのを練馬で今年の春に行われたPHPerkaigiにて知りました。re:Inventで発表され、実際には2018年11月14日から利用ができるようになりました。Layerを使ってPHPを動かします。PHPで構築するまでには下記のものが必要となります。PHP関数を構築する際のディレクトリとファイル構成になります。template.yamlはSAMのサーバレス構成アプリケーションをCloudFormationにて、自動で環境を構築するための定義ファイルです。index.phpは関数の本体プログラムです。php.iniは関数の本体プログラムが利用するextensionを記載した設定ファイルです。これらのディレクトリ及びファイル構成を適当なプロジェクトフォルダ内に構築をして準備します。php.iniを作成し、ここまでで、基本構築は完了です。コマンドより、template.yamlに記載されたSAMの設定にそってAWSへ構築が自動的に行われます。deployのコマンド実行のイメージ図です。パッケージで準備をし、パッケージしたものをデプロイする手順にて実際にAWS上へ設定が展開されます。PHPの動作確認deployした後にAPIGatewayにて設定されているAPIGatewayでアクセス可能なURLを確認し(赤枠の部分)、ブラウザで実行するとPHPで記載されたプログラム(配列をJSON形式で出力する)が実行されているのがわかります。ry)にPHPで接続をさせて、データを処理し、出力するようなSPAとしてのAPIとして利用するのが一般的な利用とおもえます。今の時代にPHPを生で書くという方法はあまりどうかとおもうので、PHPのフレームワークを使いたくなります。LayerとBrefを組み合わせるとできるようなので、こちらも導入してAPIとして動かすのはありな気がします。bref.shいかがでしたでしょうか。実際にいろいろといじってみましたが、わざわざここまでしてPHPにこだわる必要は・・とは思いましたが、PHPしか書けないとかそういった人でも利用してもらうようなのかなぁっとも思いつつ、利用するのにもちゃんと実装目線でも使えるのか使えないのかをちゃんと意識することも大切だとおもいました。追記(2019/07/17)LambdaでDynamoDBの場合は問題になりませんが、サーバレスでRDBを利用する際に困る問題がコネクション数の問題です。去年ごろからAWSでも対応が進んできており、MySQL、PostgresでもAuroraサーバレスが東京リージョンでも利用可能になっております。Nuxt.jsとサーバレスアーキテクチャ」開催...こんにちは、アシアルの塚田です。1月31日に東京のITS山王健保...2018-10-15Monaca&サーバレス構成で作成したアプリこんにちは、笹亀です。Dispat...こんにちは。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。