WSL2を利用して環境構築を実施する。
公式サイトのDcoker-Composeの起動方法の手順を参考に起動する
-
任意のディレクトリにdocker-compose.ymlを作成する
touch docker-compose.yml -
docker-compose.ymlの下記内容を記載する
version: "3.8" services: localstack: container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}" image: localstack/localstack ports: - "127.0.0.1:4566:4566" # LocalStack Gateway - "127.0.0.1:4510-4559:4510-4559" # external services port range environment: - DEBUG=${DEBUG-} - DOCKER_HOST=unix:///var/run/docker.sock volumes: - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" - "/var/run/docker.sock:/var/run/docker.sock" -
次のコマンドを実行してコンテナを起動します
docker-compose up
以上で、LocalStackのサーバが起動された。
awscliをUbuntuにインストールするには、以下の手順に従ってください。
-
最新のパッケージリストを取得します。
sudo apt-get update -
awscliをインストールするために必要なパッケージをインストールします。sudo apt-get install awscli -
インストールが完了したら、
awscliが正しくインストールされたかどうかを確認するために、以下のコマンドを実行してバージョン情報を取得します。aws --version -
LocalStackにアクセスするため、credentialsを設定する。その際、credentialsの設定値は任意で問題ない。
aws configure --profile localstack AWS Access Key ID [None]: test AWS Secret Access Key [None]: test Default region name [None]:ap-northeast-1 Default output format [None]: json -
動作確認として、
awscliを利用して、LocalStackにアクセスする。# バケットを作成する aws s3 mb s3://localstack-bucket --endpoint-url=http://localhost:4566 --profile localstack >>> make_bucket: localstack-bucket # 作成したバケットを確認する aws s3 ls --endpoint-url=http://localhost:4566 --profile localstack >>> 2023-05-04 14:50:30 localstack-bucketまた、上記コマンドの実行時、LocalStackのコンテナからも下記のログを見ることができたため、正常にアクセスできたことを確認できる。
localstack_main | 2023-05-04T05:50:30.080 INFO --- [ asgi_gw_0] localstack.request.aws : AWS s3.CreateBucket => 200 localstack_main | 2023-05-04T05:54:05.592 INFO --- [ asgi_gw_0] localstack.request.aws : AWS s3.ListBuckets => 200
以上で、Ubuntuにawscliをインストールして、LocalStackにアクセスまでを確認できた。
上記までで疎通確認までは完了しているが、awscliを利用して、プロファイルの指定とエンドポイントの指定では、操作ミスに伴う、事故が起こる可能性が高くなると考えれる。
LocalStackが提供しているAWS CLIのラッパーであるawscli-localを利用することで操作ミスを起こしにくいと思われるため、個人的にはこちらの利用を推奨する。
-
pipをインストールする。
sudo apt-get update sudo apt-get install python3-pip -
awscli-localをインストールする。pip3 install awscli-local -
インストールが完了したら、以下のコマンドを実行してバージョン情報を確認します。
awslocal --version -
動作確認として、
awscli-localを利用して、LocalStackにアクセスする。# バケットを作成する awslocal s3 mb s3://localstack-bucket-awscli-local >>> make_bucket: localstack-bucket-awscli-local # 作成したバケットを確認する awslocal s3 ls >>> 2023-05-04 14:50:30 localstack-bucket >>> 2023-05-04 14:50:30 localstack-bucket-awscli-localまた、上記コマンドの実行時、LocalStackのコンテナからも下記のログを見ることができたため、正常にアクセスできたことを確認できる。
localstack_main | 2023-05-04T05:59:49.676 INFO --- [ asgi_gw_0] localstack.request.aws : AWS s3.CreateBucket => 200 localstack_main | 2023-05-04T05:59:57.678 INFO --- [ asgi_gw_0] localstack.request.aws : AWS s3.ListBuckets => 200
以上で、Ubuntuに awscli-local をインストールして設定する手順が完了しました。