AWS
docker

localstackをdockerを使ってセットアップする

More than 1 year has passed since last update.

AWSを使って開発するときに、開発環境はローカルに配置して気軽に実行したいので、LocalStackを構築してみました。起動方法はいくつかるようですが、すでにデータベースなどをdockerで立ち上げているので、dockerを使ってLocalStackを動かします。

インストール

ドキュメントにはgitのリポジトリをローカルにcloneするように書いてありますが、リポジトリ全体が必要はなく、docker-compose.ymlさえあればいいので、それをローカルにコピーします。本当に必要なのは、そのファイルの中のservicesのlocalstackのところだけですね。

起動

docker-compose up -d

で起動します。Macの場合は

TMPDIR=/private$TMPDIR docker-compose up -d

とします。

AWSのコマンドのインストール

ついでにawsのコマンドをインストールします。pyenvとpyenv-vertialenvがインストールされている前提で話します。

pyenv virtualenv 3.6.2 aws
pyenv shell aws

次にawsの設定を行います。

aws configure

これで4つの情報を聞いてくるので、こんな感じで入力します。

AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-east-1
Default output format [None]: json

これを設定しておかないと動かないので、適当に入力しておけばいいみたいです。

動作確認

あとは、「LocalStackをつかってローカルでLambdaを実行してみた」に書いてあるように、Lambdaを動かして動作確認します。

おわり

これで動作確認が終わりです。でも、ダッシュボードが8080のポートを使っていますが、dockerのイメージをそのまま使っている限りだと、このポートを変更することはできないようです。自分の開発中のものが8080を使っていると悲しいですね。