Lambda

Typescriptを使用したサーバレスWebsocketチャットサーバーの構築

チャットサーバーの見積もり相談で、Websocket使った場合の実装を整理したので、メモっておきます。
Read more

Serverless,ECS(Fargate)自動デプロイ環境の構築

デプロイを自動化するのがMustになりつつありますが、なかなか完璧な自動デプロイ環境を作るのは難しいなーと感じています。 で、最近、所属会社の経営層へのプレゼンのネタとして、中途半端にデプロイ自動化しているプロジェクトを、全リソース自動デプロイ化したら面白いんじゃね?という点で色々検証してみましたので、それについての記事になります。
Read more

Lambdaのローカル開発環境とCI/CD構築(coverageも)

Lambdaをサクサク作りたい 最近実務でもプライベートでもLambdaを使う機会が多いのですが、毎回悩むのが開発環境とCI/CD。 ちょっとしたLambdaならブラウザコンソール上のエディタを使って作るとか、zipで固めるとかでいいんですけど、それなりに大きなLambda関数だとやっぱり ローカルで開発&単体テスト&結合テスト –> GitにPush –> 自動テスト&デプロイ(ついでにcoverage計測) てな流れを作りたい。
Read more

Lambciとimg2lambdaとserverlessでLambdaのデプロイフローを構築する

Lambdaのローカル環境 これまでLambdaを構築する際には、ソースコードを決め打ちで書いてzipで上げたり、コンソール上のエディタでポチポチ開発していたりしてました。 PythonとかNodejsとかなら、それでも簡単なAPIくらいなら作れるのですが、ちょっと複雑なことになったり、PHPみたいにCustom Runtimeを使いたい場合とかは、何度もデプロイし直してトライアンドエラーするのは効率が悪いです。 やっぱり、他のソースと同じようにローカルでガリガリ書いて、コマンドで自動デプロイができた方が良いので色々探したところ、Lambciとimg2lambda(あとserverless)を使ったフローが良さそうだったので紹介します。
Read more

【CORS対応】Lambdaで動くLaravelの静的ファイルをCloudFrontで配信する

静的ファイルをキャッシュしたい 前回の記事ではLambda上にLaravelを構築しました。 とりあえず動くは動くんですが、Lambda上で全てのファイルをいちいち読み込んでいるので、容量が大きいファイルをやりとりするサービスではパフォーマンス面で不安が残ります。 そのため、今回の記事では静的ファイル(publicフォルダ配下)をS3に配置し、Cloudfrontで高速に配信できるようにしたいと思います。また、キャッシュサーバから受信したCSS等から別サーバのリソースを読み込むことを考慮し、CORS設定も行っていきたいと思います。
Read more

LambdaでLaravelを動かす(SAM使用)

Laravel in Lambda 最近Lambda環境でLaravelを動かす機会がありました。 LaravelはPHPのフレームワークなので、基本的にはPHP用のカスタムランタイムを適用してソースファイルをまるごとアップロードすれば動きます。 ただ、手動でzipで固めてアップロードして…というのもなんかあれなので、今回はCloudformationの拡張であるServerless Application Model(SAM)を使用してデプロイまでやってみたいと思います。
Read more