0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LocalStack入門:ローカルでCloudFormationとS3を試す

Posted at

LocalStackとは

LocalStackとは、AWSのサービスをローカル環境で疑似的に使うことができるツールです。
クラウド環境を使わずに、S3やLambdaなどの動作確認や開発ができます。
今回はこのツールを使ってCloudFormationでS3バケットを作成してみます。

ローカル環境で動かしてみる

docker-compose.ymlファイルを以下のように記載します

version: '3.8'

services:
  localstack:
    image: localstack/localstack
    ports:
      - "4566:4566"  # LocalStackの統一エンドポイント
    environment:
      - SERVICES=cloudformation,s3,dynamodb  # 有効にするサービスをカンマ区切りで指定
      - DEBUG=1  # デバッグモードを有効化

その後、以下コマンドを実行し、LocalStackを立ち上げます

$ docker-compose up -d

CloudFormationをデプロイしてみる

試しに以下のCloudFormationコードを書きました

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: my-localstack-bucket

その後、LocalStackにデプロイしてみます

$ aws --endpoint-url=http://localhost:4566 cloudformation create-stack --stack-name myteststack --template-body file://template.yml
{
    "StackId": "arn:aws:cloudformation:ap-northeast-1:000000000000:stack/myteststack/8320a915"
}

--endpoint-urlを指定しないと本番環境にデプロイされるので注意してください。

デプロイ後の確認

S3が存在してるか確認してみると、無事に作成されていました

$ aws --endpoint-url=http://localhost:4566 s3 ls 
2025-09-23 23:48:30 my-localstack-bucket

感想

実際のクラウド環境を触らずに気軽にリソース作成やテストができるので便利ですね。
CloudFormationを使って開発をしてる方は、CICDパイプラインなんかに組み込むと
デプロイ前に自動テストができて、いいかもしれません

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?