Docker
docker-compose を使わずにDocker環境を構築します。
以下の内容のDockerfileを作成します。
FROM localstack/localstack:2.0.2
Dockerfileがあるディレクトリで以下を実行して、Dockerイメージを作成します。
docker build -t localstack .
以下を実行して、コンテナを起動します。
docker run -itd -p 4566:4566 -v G:\docker\localstack:/docker --name localstack localstack /bin/bash注意 オプションvで指定しているのは共有ディレクトリで、これはWindows用の設定になります。
動作確認
LocalStackが正常動作しているかの確認は、ヘルスチェックを使うか、LocalStackコマンドを使う方法があります。
ヘルスチェック
LocalStackのヘルスチェックは以下で実行できます。
curl http://localhost:4566/health | jq注意 これは結果のJSONを整形するため、jqコマンドを使っています。
正常だと以下のような有効サービスの一覧がJSON形式で返ってきます。
{
"services": {
"acm": "available",
"apigateway": "available",
"cloudformation": "available",
"cloudwatch": "available",
"config": "available",
"dynamodb": "available",
"dynamodbstreams": "available",
"ec2": "available",
"es": "available",
"events": "available",
"firehose": "available",
"iam": "available",
"kinesis": "available",
"kms": "available",
"lambda": "available",
"logs": "available",
"opensearch": "available",
"redshift": "available",
"resource-groups": "available",
"resourcegroupstaggingapi": "available",
"route53": "available",
"route53resolver": "available",
"s3": "available",
"s3control": "available",
"secretsmanager": "available",
"ses": "available",
"sns": "available",
"sqs": "available",
"ssm": "available",
"stepfunctions": "available",
"sts": "available",
"support": "available",
"swf": "available",
"transcribe": "available"
},
"version": "2.0.2"
}
LocalStackコマンド
以下のLocalStackコマンドで有効サービスが確認できます。
localstack status services公式のDockerイメージを使っていて、そのコンテナ内にいる場合は、localstackコマンドのパスが無いので、以下を実行します。
/opt/code/localstack/bin/localstack status services
実行結果は以下のようになります。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Service ┃ Status ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩ │ acm │ ✔ available │ │ apigateway │ ✔ available │ │ cloudformation │ ✔ available │ │ cloudwatch │ ✔ available │ │ config │ ✔ available │ │ dynamodb │ ✔ available │ │ dynamodbstreams │ ✔ available │ │ ec2 │ ✔ available │ │ es │ ✔ available │ │ events │ ✔ available │ │ firehose │ ✔ available │ │ iam │ ✔ available │ │ kinesis │ ✔ available │ │ kms │ ✔ available │ │ lambda │ ✔ available │ │ logs │ ✔ available │ │ opensearch │ ✔ available │ │ redshift │ ✔ available │ │ resource-groups │ ✔ available │ │ resourcegroupstaggingapi │ ✔ available │ │ route53 │ ✔ available │ │ route53resolver │ ✔ available │ │ s3 │ ✔ available │ │ s3control │ ✔ available │ │ secretsmanager │ ✔ available │ │ ses │ ✔ available │ │ sns │ ✔ available │ │ sqs │ ✔ available │ │ ssm │ ✔ available │ │ stepfunctions │ ✔ available │ │ sts │ ✔ available │ │ support │ ✔ available │ │ swf │ ✔ available │ │ transcribe │ ✔ available │ └──────────────────────────┴─────────────┘