LocalStackとは
開発環境においてAWSのサービスを擬似的に使用できるモックフレームワークです。無料で使えるサービス、有料版でしか利用できないサービスは以下のgithubのページを参照してください。
https://github.com/localstack/localstack
ちなみに以下のlocalstackは古いものなので注意してください。
https://github.com/atlassian/localstack
AWS CLIのインストール
以下からインストーラをダウンロードしてインストールします。
https://awscli.amazonaws.com/AWSCLIV2.msi
aws cliのバージョン表示
コマンドプロンプトを立ち上げて、以下のコマンドと結果が表示されればインストール完了
aws --version
aws-cli/2.2.35 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
LocalStack用のAWS設定
コマンドプロンプトを立ち上げて、以下のコマンドでProfileの設定を行います。
※C:\Users\[UserName]\.aws配下にconfigとcredentialsの2ファイルが生成されます。
aws configure --profile=localstack
AWS Access Key ID [None]: dummy
AWS Secret Access Key [None]: dummy
Default region name [None]: ap-northeast-1
Default output format [None]: json
docker-compose.ymlの作成
適当な場所にdocker-compose.ymlを作成し、以下の内容で設定します。
version: "3.8"
services:
localstack:
image: localstack/localstack
container_name: localstack
network_mode: bridge
ports:
- "127.0.0.1:53:53"
- "127.0.0.1:53:53/udp"
- "127.0.0.1:443:443"
- "127.0.0.1:4566:4566"
- "127.0.0.1:4571:4571"
environment:
- SERVICES=${SERVICES- }
- DEBUG=${DEBUG- }
- DATA_DIR=/tmp/localstack/data
- LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR- }
- LOCALSTACK_API_KEY=${LOCALSTACK_API_KEY- }
- KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
- DOCKER_HOST=unix:///var/run/docker.sock
- HOST_TMP_FOLDER=/tmp/localstack/tmp
- LAMBDA_DOCKER_NETWORK=host
volumes:
- ./data/localstack:/tmp/localstack
- /var/run/docker.sock:/var/run/docker.sock
LocalStackの起動
ひとまずエラーが発生しないことを確認しながら起動してみます。
※次回からはdocker-compose up -d でバックグラウンド実行
docker-compose up
Creating localstack_main ... done
Attaching to localstack_main
localstack_main | Waiting for all LocalStack services to be ready
...
S3のバケットを作成
挙動確認のためS3のバケットを作成してみます。
aws s3 mb s3://test-bucket --endpoint-url=http://localhost:4566 --profile=localstack
make_bucket: test-bucket
S3のバケット確認
上記で成功していますが、一応バケット一覧を表示してみます。
aws s3 ls --endpoint-url=http://localhost:4566 --profile=localstack
2021-09-08 01:15:58 test-bucket
※volumesでデータが永続化するように設定しているので、dockerを落としても作ったバケットは消えません。
以上です。
0 件のコメント:
コメントを投稿