少し更新が途絶えてしまいました...
まあ、気を取り直してまた更新を続けます。
今回は、localstackというクラウドアプリを開発する際のテスト/モックツールです。
画像元(https://localstack.cloud/)
簡単に言ってしまうと、AWSサービスアカウントを作成することなく無償でテストできる みたいなかんじです。
さっそく準備からやっていきます。
環境: macOS
Docker
dockerとdocker-composeというものが必要になります。
以下から、docker for mac
をインストールします。
docker for macには、docker-composeも入っているかと思いますので便利です。
勿論、個別にインストールすることも可能ですので、 「dockerだけ入っている!」という方は、こちらを参考にしましょう!
AWS Cli
俗に言うAWSコマンドというものがあります。 AWSのマネジメントコンソールでは、基本的にほぼAPIで操作しています。 なので、cliコマンドを実行し、使用しているサービスを制御やコントロールすることが可能です。
AWS サービスを管理するための統合ツールです。ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用してこれらを自動化することができます。
引用: AWS公式
まず、cliをインストールするにあたって、Pythonのpip
がインストール使用できることを確認しましょう。
$ pip --version
Pythonのヴァージョンが3.6以上(公式の例が3.6であるため)であることを確認できたら、以下を実行。
$ pip3 install awscli --upgrade --user
cliがインストールできたか確認しましょう。
$ aws --version
バージョンがきちんと表示されたら完了です。
aws configure
cliコマンドを使用するにあたって、cliコマンドを使用するprofileやregionなどを設定します。
私の場合は、ホームディレクトリ配下に.aws/
というディレクトリを作成して、
その配下にcredentialsとconfigファイルを置いています。
今回は、あくまでローカルで動作させるだけですので、それぞれのファイルに設定しなければならない 設定値はほぼダミーで構いません。
aws configure
コマンドで、オプションにporofile名(今回はわかりやすくlocalstack)を指定し実行させ、
アクセスキーなどを入力していきます。
$ aws configure --profile localstack AWS Access Key ID [None]: dummy AWS Secret Access Key [None]: dummy Default region name [None]: us-east-1 Default output format [None]: json
リージョンなのですが、日本ならap-northeast-1
を指定しがちですが、
localstackのデフォルトがus-east-1
ですのでアメリカを指定します。
ここまでできたら、あとはlocalstack のインストールです。
localstackをインストール
任意のプロジェクトルートにいって、以下を実行。
$ git clone https://github.com/localstack/localstack.git
そすると、docker-compose.yamlというファイルが確認できるかと思います。
このファイルがあるところで、docker-compose upが実行かのうです。
$ docker-compose up
複数のportでlocalstackのAWSサービスが開始され、Ready... がでたら、localshotのport8080をブラウザで開いてみましょう。
ダッシュボードが確認できたら完了です!!!
これで模擬的にAWSサービスを使用できます。
※ cliを使用するにあたって、既にクレデンシャルなど指定している人は、 本番環境や会社のアカウントに影響がでないように気をつけましょう!
cliでエンドポイントを指定したりて色々試せるかと思います。 機会があれば、サンプルがてらその記事も書けたらと思います。
以上.