【ローカルスタック】

LocalStack とは?

公開:
💡 AWSの「練習場」が自分のPCに出現する魔法のツール
📌 このページのポイント
LocalStack:AWSをローカルで再現 ローカルPC Docker / LocalStack S3 Lambda DynamoDB SQS IAM CloudWatch localhost :4566 開発・テスト アプリケーションコード AWS SDK / CLI テストスイート 課金なし・高速・安全
LocalStackのイメージ
ひよこ ひよこ
LocalStackって何をするツールなの?
ペンギン先生 ペンギン先生
AWSのクラウドサービスを自分のパソコンの中で動かせるツールだよ。たとえばS3にファイルを保存する機能を作りたいとき、本物のAWSにつながなくても手元で試せるんだ
ひよこ ひよこ
えっ、AWSを使わなくていいの?お金もかからないってこと?
ペンギン先生 ペンギン先生
そのとおり!開発やテストの段階では本物のAWSにアクセスする必要がないから、課金を気にせず何度でも試せるんだ。S3・Lambda・DynamoDB・SQSなど主要なサービスがエミュレートされているよ
ひよこ ひよこ
どうやって使うの?難しそう…
ペンギン先生 ペンギン先生
Dockerさえ入っていれば簡単だよ。docker-compose upでLocalStackを起動して、あとはAWS CLIのエンドポイントlocalhostに向けるだけ。既存のコードをほとんど変えずに使えるんだ
ひよこ ひよこ
CI/CDでも使えたりするの?
ペンギン先生 ペンギン先生
もちろん!GitHub Actionsなどのパイプラインの中でLocalStackを起動して、AWS連携のテストを自動化するのは定番パターンだね。本番AWSの認証情報をCIに渡さなくて済むからセキュリティ面でも安心だよ
ひよこ ひよこ
無料版と有料版があるみたいだけど、何が違うの?
ペンギン先生 ペンギン先生
Community版は無料でS3・Lambda・DynamoDBなど主要サービスが使える。Pro版はAPI GatewayのREST APIやRDS、ECSなどより高度なサービスが追加されるんだ。実はLocalStackは内部で各サービスのAPIを忠実に再現していて、CloudFormationテンプレートリソース作成もできるから、IaCの検証にも使えるよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「LocalStack」って出てきたら「AWSをローカルPCで再現するエミュレーター」と思えればだいたいOK!
📖 おまけ:英語の意味
「LocalStack」 = ローカル環境のスタック(技術基盤)
💬 Local(ローカル)+ Stack(技術スタック)で、「クラウドの技術スタックをローカルに持ってくる」という意味だよ
← 用語集にもどる