はじめに
こんにちは、shutamoです。
情報発信の練習と備忘録を兼ねて投稿してみます。
まだまだ未熟者なので、間違っていることがあれば指摘してください!
目次
LocalStackとは
AWSをローカル環境でシミュレートできるツールです。
そのため料金などを気にすることなくAWSのサービスを気軽に確認が可能です。
LocalStackには無料版(Community)と有料版(Pro)があります。主な違いは下記の通りです。
・利用可能なAWSサービスの違い
・無料版ではリソースが永続化されない(LocalStackを再起動すると既存のリソースが削除される。)
利用可能なサービスはこちらのページを参照してください。一覧で(Pro)と記載のサービスは有料版でのみ利用可能です。
環境準備
Windowsを想定しています。
LocalStack環境構築
まずDockerがインストールされている必要があります。まだの人はインストールしておいてください。
公式サイトのDocker-Composeでの起動手順を参考に起動します。
1.任意のディレクトリにdocker-compose.ymlを作成する。
2.作成した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:
# LocalStack configuration: https://docs.localstack.cloud/references/configuration/
- DEBUG=${DEBUG:-0}
volumes:
- "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
3.ymlファイルがあるディレクトリに移動し次のコマンドを実行しコンテナを起動する。
docker-compose up -d
以上でLocalStackのサーバーが起動されました。
AWSサービスを使うための準備
1.AWS CLIをインストールする。
2.正しくインストールされたか確認のため以下のコマンドを実行してバージョン情報を取得する。
aws --version
3.動作確認として、awscliを利用してLocalStackにアクセスする。
cliから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
バケットの作成をしてみる
# 作成コマンド
aws s3 mb s3://[任意の名前] --endpoint-url=http://localhost:4566 --profile localstack
# 実行結果
make_bucket: [任意の名前]
削除したい場合は下記コマンドで削除できます。
aws s3 rb s3://[削除したいバケット名] --force --endpoint-url=http://localhost:4566 --profile localstack
--forceはバケット内のオブジェクトも一緒に削除するときに書く
S3バケット一覧取得
aws s3 ls --endpoint-url=http://localhost:4566 --profile localstack
以上です。