Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What is going on with this article?
@y-u-t-a

LocalStack で AWS CLI の練習をする

More than 1 year has passed since last update.

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 に慣れていきたいと思う

参考ページ

12
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
y-u-t-a
cacco
未来のゲームチェンジャーの「まずやってみよう」をカタチに

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
12
Help us understand the problem. What is going on with this article?