このページ内容は2022年9月9日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。
LocalStackはAWSのリソースをローカルでエミュレートするためのツールlocal_stackです。全てのサービスをエミュレートできるわけではないですが、API GatewayやAthena, CloudFront, CloudFormation, Cognito, Lambda, ECSなどをローカルでエミュレートできますlocal_stack_support。ただし、一部リソースのエミュレートは有料で、月28-36ドルかかりますlocal_stack_price。
LocalStackはDockerを使うことで、以下のように簡単に動かすことができますhow_to_use_local_stack。
1docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack
AWS CLIでエンドポイントをhttp://localhost:4566
に設定し、コマンドを叩くとDocker内にリソースを作成できます。
1$ aws --endpoint-url=http://localhost:4566 s3api create-bucket --bucket test --region us-east-12{3"Location": "/test2"4}5$ aws --endpoint-url=http://localhost:4566 s3 ls62022-07-31 23:51:17 test
このLocalStackはCircleCIやGitHub ActionsなどのCI上でも起動させることができ、よりAWSをエミュレートした環境でテストを実行できますlocal_stack_in_ci。
また Serverless FrameworkやAWS SAMのようなローカルでServerlessの開発をするためのツールと組み合わせて利用可能です[^local_stack_integration1][^local_stack_integration2]。