AWS Lambdaで最強のWebAPI開発環境をつくる!

こんにちは時雨風です。
最近は、アニメにハマってました。リコリス・リコイルっていうんですけどご存じですか?
あまりの面白さにtwitterでは最終回の後にアニメ難民が大量発生したようです。なかには幻の15話を見たという報告が多数あがるなど集団幻覚の可能性もあるとか…。まあ、冗談だと思います。たぶん。
今期は、水星の魔女もおもしろそうで毎週ワクワクです。
この記事では、最近の発見したAWS Lambdaによるサーバーレス開発とDev Containersが相性めっちゃよくね?ていうのを紹介する記事です。
サンプルをつくりましたので、ぜひそれだけでも確認してみてください。
いいところ
- 多数のツールやライブラリを簡単にセットアップ
- 環境をDockerで隔離し、PCの環境を汚さない
- チームと簡単に共有できる
- 設定してしまえばボタン一つで環境が自動構築
わるいところ
- パソコンによってはDockerの処理が重い
- プロジェクト最初の設定段階で少し面倒
(でもこれについてはやらない時の面倒のほうが多いと思っている)
サンプルプロジェクトで使っているもの
AWS
サンプルプロジェクトで使用するサービスを列挙します。
- Lambda
- API Gateway
- CloudWatch
- CloudFormation
開発ツールなど
開発に使用するツールやライブラリを列挙します。
IDE
- Visual Studio Code
- 拡張機能 Dev Containers
開発仮想環境
- Docker Desktop
開発言語及び周辺ツール、ライブラリ
- Python 3.9
- Poetry
- Black
- Pylance
- mypy
- pytest
- aws-lambda-powertools
AWS公式ツール
AWSのリソース管理ツール:
- SAM
- CDK
操作用のコマンドラインツール:
- AWS CLI
- AWS SAM CLI
- AWS CDK CLI
サンプルプロジェクトの確認
用意したサンプルプロジェクトをローカルにて実行します。
実際に使っていただいた方がわかることがたくさんあると思います。
必要ツールのインストール
docker、vscode、Dev Containersのインストールが必要です。
- Docker Desktop
- Dev Containers
Windowsの場合
Windows Terminalを使用します。
winget install -q vscode
code --install-extension MS-CEINTL.vscode-language-pack-ja
code --install-extension ms-vscode-remote.remote-containers
Docker Desktopを手動でインストールし、再起動を行なってください。
Macの場合
ターミナルを使用します。Terminal.appはランチャーのその他にまとめられています。
Homebrewを使用します。インストールされていない場合は、トップページのスクリプトからインストールを行なってください。
brew install --cask visual-studio-code
brew install --cask docker
ランチャーにvscodeとDockerアプリが追加されるので起動します。
vscodeにてcmd(ctrl) + shift + pでコマンドパレットを開き、>shell Command: Install 'code' command in PATHを検索して選択します。