25
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LocalStack で AWS CLI の練習をする

Last updated at Posted at 2020-01-23

LocalStack とは、AWS のリソースのモックをローカルに作成するツール。
LocalStack は AWS CLI の練習をするのに最適なのではと思い立ち実験してみた。

前提

  • Docker がインストールされていること
  • AWS CLI がインストールされていること(AWS CLI のイメージへのエイリアスでも可)

LocalStack のコンテナ作成

LocalStack の Docker イメージを使用することでコマンド1発で LocalStack 環境が出来上がる。

docker run -itd --rm -p 4566:4566 localstack/localstack:latest

※ docker run のオプションの説明

  • -itd : -i -t -d の略。ざっくり言うと「バックグラウンド」で「起動しっぱなし」にする
  • --rm : コンテナ停止時にコンテナを削除
  • -p : ホストとコンテナとのポート疎通設定。 4566:4566 は「ホストの 4566 ポート」と「コンテナの 4566 ポート」を疎通させる設定

動作確認

localstack で作成されたリソースは http://localhost:4566 に公開される。( localstack v0.11.0 からの変更点)
--endpoint-url=http://localhost:4566 を設定することで localstack で作成されたリソースにアクセスできる。

AWS CLI の Docker イメージ を使用している場合、 localhost でホストOSにアクセスできないため、以下の手順の localhosthost.docker.internal に読み替える。

パラメータストア作成

aws ssm put-parameter \
    --name sample-param \
    --value sample-value \
    --type String \
    --endpoint-url=http://localhost:4566

パラメータストア取得

aws ssm get-parameter --name sample-param --endpoint-url=http://localhost:4566

S3 バケット作成

aws s3 mb s3://sample-bucket --endpoint-url=http://localhost:4566

S3 バケット一覧取得

aws s3 ls --endpoint-url=http://localhost:4566

S3 ファイルアップロード

touch test.txt
aws s3 cp test.txt s3://sample-bucket/ --endpoint-url=http://localhost:4566
rm test.txt

S3 バケット内のオブジェクト一覧取得

aws s3 ls s3://sample-bucket --endpoint-url=http://localhost:4566

S3 バケット内のオブジェクト削除

aws s3 rm s3://sample-bucket/test.txt --endpoint-url=http://localhost:4566

まとめ

  • LocalStack を使えば AWS CLI を試す環境が簡単に作れることが分かった
  • 一部 AWS サービスのモックは 有料版 LocalStack が必要になるが、主要サービスは無料版で十分まかなえる
  • LocalStack で心置きなくコマンドを実行して AWS CLI に慣れていきたいと思う

参考ページ

25
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?