LoginSignup
5
4

More than 1 year has passed since last update.

LocalStackがあれば大体何でもローカルでAWS開発ができる

Last updated at Posted at 2021-12-07

この記事は ZOZO #3 Advent Calendar 2021 8日目の記事になります。

AWSのサービスの中でもフルマネージドサービスを多用するアプリケーションを実装するうえで一番困るのは、ローカルでどうテストするか?かと思います。
例えば、LambdaとかSQSとかKinesisとかフル活用するサービスなどがその対象になりますね。

そこでLocalStack。実は5年前にLambda中心のServerlessアーキテクチャのサービスを作ったときにも一度検討しましたが、当時はまだ使い勝手が良くなく、結局毎度AWS環境にあげて試していました。

そこが現在、とても使いやすいサービスとなっていて、この度のプロジェクトではフル活用しました。ローカルで試せるのはとても助かります。

CommunityEditionとProEditionがありまして、その差はこちらになりますが、大方のユースケースではCommunityEditionで十分かと思います。

使い方も簡単。
1. docker-compose.yaml作って起動

services:
  localstack:
    image: 'localstack/localstack:0.12.12'
    ports:
      - 4566:4566
docker compose up -d
  1. LocalStack用のCLIを用意(基本AWS CLIと同じコマンドが使える)
pip install awscli-local
  1. CloudFormationのファイルを用意(本番と共通でよい)。

  2. CloudFormationをLocalStack用のCLIで実行

awslocal cloudformation create-stack --stack-name test-stack --template-body file://resources.yaml --parameters file://parameters/local.json

これで多くのAWSサービスがlocalhost:4566で使用可能になります。
ちなみに今のプロジェクトで使用しているのは
・S3
・Kinesis
・SES
・DynamoDB
になります。

ぜひ参考にしてみてください。

次の日も自分ですね。セキュリティから始まるDDDというタイトルでお届けします。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4