localstackとはAWS環境のシュミレータです。
今回はdockerを使用してlocalstackを使用します。
コンテナ作成
準備
localstackのdockerコンテナを生成します。
生成にはdocker-composeを使用します。
docker-compose.ymlは以下の通りです。
version: "3.8"
services:
localstack:
container_name: "sample_localstack_01"
image: localstack/localstack:latest
ports:
- 4567:4566 # LocalStack Gateway
environment:
- SERVICES:s3
イメージ
今回はlocalstackの最新イメージを使用します。
image: localstack/localstack:latest
ポート番号
今回はあえてホスト側からアクセスするポートを4567にしてますが特に意味はありません。4566でも問題ないです。
ports:
- 4567:4566 # LocalStack Gateway
AWS サービス
使用するAWSのサービスを指定します。今回はS3を使用するのでS3としました。
コンテナ起動
docker-compose up
aws cli 認証情報
今回は試しにS3バケットの作成と作成したバケット名を表示させてみます。
aws cliコマンドを使用します。
aws cliコマンドを実行する際に認証情報が必要になります。
localstackの場合ダミー情報を使用します。
% aws configure --profile localstack
AWS Access Key ID [None]: dummy
AWS Secret Access Key [None]: dummy
Default region name [None]: us-east-1
Default output format [None]: json
実行
バケットを作成します。
% aws s3 mb s3://localstack-bucket --endpoint-url=http://localhost:4567 --profile localstack
make_bucket: localstack-bucket
作成したバケット名を表示します。
% aws s3 ls --endpoint-url=http://localhost:4567 --profile localstack
2023-09-07 19:24:49 localstack-bucket