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