home

localstackをローカル環境に立ち上げてみる

2022-06-05T15:11:04+09:00

前提

AWSのCLIコマンドを学習する目的でlocalstackを立ち上げます。
プログラムの動作確認用にも使えます。

環境

  • macOS 11.6.4
  • docker-compose: 2.0.0
  • localstack: 0.14.3(執筆時点で最新)

手順

docker-compose.xmlを任意のディレクトリに作成

以下にdocker-compose.ymlがあるのでこちらを参考に作成。
https://github.com/localstack/localstack/blob/master/docker-compose.yml

docker-compose.yml
version: "3.8"

services:
  localstack:
    container_name: "localstack"
    image: localstack/localstack:0.14.3
    ports:
      - 4566:4566
    environment:
      - SERVICES=s3, sqs
      - DEBUG=1
      - DATA_DIR=/tmp/localstack/data
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "${TMPDIR:-/tmp}/localstack:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"

environmentに定義できる設定は以下に載っています。
https://docs.localstack.cloud/localstack/configuration/

  • SERVICES: カンマ区切りで使用したいサービスを記載
  • DEBUG: ログをより詳細に出力したい場合にフラグを立てる
  • DATA_DIR: 永続データを保存するためのローカルディレクトリ

コンテナを立ち上げる

docker-compose up -d

立ち上がっているか確認

XXX % docker ps           
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                             NAMES
205ec2df7163   localstack/localstack:0.14.3   "docker-entrypoint.sh"   20 minutes ago   Up 20 minutes   4510-4559/tcp, 5678/tcp, 0.0.0.0:4566->4566/tcp   localstack

AWSの設定ファイルと認証情報ファイルを設定

AWS CLIコマンドを使用するときに必要になります。
設定ファイル(config)と認証情報(credentials)を直接編集で以下の通り記載してください。
コマンドでも設定できます。こちらを参考にしてください。

~/.aws/config

config
[profile localstack]
region = ap-northeast-1
output = json

~/.aws/credentials

credentials
[localstack]
aws_access_key_id = dummy
aws_secret_access_key = dummy

自己紹介

サムネイル

y5347M

バックエンドエンジニアをしています。