🍣

AWS Blogの「新しいサーバーレス LAMP スタック – Part 1」をやってみる

2021/01/24に公開

Summary

  • AWS blogの新しいサーバーレス LAMP スタック – Part 1の通りだと動かなかったので備忘録として記す。
  • index.php<?phpを記載しないと動かなかった。
  • 最終的な目的はインフラとして組むべき部分がどこらへんになるのかを理解すること

Detail

構成

Part1ではLambdaのみ、VPCにも属さないのでものすごくシンプルに下記となる。


図1

Cloud9を作成

Custom PHP runtimeを作成

githubの手順にしたがって作成する。

autoloader.phpが必要になるので./bin/php composer.phar require guzzlehttp/guzzle実施後 vendor/下にautoloader.phpが作成されていることを確認したほうがよい。

Generating autoload files
1 package you are using is looking for funding.
Use the `composer fund` command to find out more!
Segmentation fault

上記のようにGenarating autoload filesのメッセージが出力されていれば問題なさそう

作成されていなかった場合は再度requireを実施すること。

確認
$ ll vendor/
total 8
-rw-rw-r-- 1 ec2-user ec2-user  178 Jan 24 10:45 autoload.php
drwxrwxr-x 2 ec2-user ec2-user 4096 Jan 24 10:45 composer
drwxrwxr-x 5 ec2-user ec2-user   48 Jan 24 10:45 guzzlehttp
drwxrwxr-x 4 ec2-user ec2-user   45 Jan 24 10:45 psr
drwxrwxr-x 3 ec2-user ec2-user   27 Jan 24 10:45 ralouphie

PHP Lambda 関数の作成

Blogの手順にしたがって「PHP Lambda 関数の作成」を実施する

手順8のindex.phpでは動作しないので下記コードに修正

src/index.php
<?php
//index function
function index($data)
{
 return "Hello, ". $data['name'];
}

「保存」というボタンは見つからなかったのでindex.phpファイルを作成後「デプロイ」ボタンを押すことで対応した。

「起動設定セクション」にハンドラはなく、「ランタイム設定」のところにあるのでそちらを修正すること

あとは問題ないかと


図2

おつかれさまでした

Discussion