■ はじめに
https://dk521123.hatenablog.com/entry/2019/11/10/205535
などで使う LocalStack を学び、 ローカルで、疑似AWS(今回「AWS Lambda」)を作成する。
目次
【1】LocalStack とは? 1)サポートしているAWSサービス 2)全体構成 【2】設定環境 0)前提条件 1)docker, docker-compose のインストール と 設定 2)aws-cliのインストール と 設定 3)LocalStack の インストール と 起動 4)ホストOS起動時に自動で実行するように設定 5)ローカル上にAWS Lambda 環境を作る
【1】LocalStack とは?
* ローカル上で、擬似AWS環境を作ることができ、テストできる
1)サポートしているAWSサービス
* 以下を参照。 => 無償版・有償版で異なるので注意(例えば、S3は無償だがGlueは有償)
https://docs.localstack.cloud/user-guide/aws/feature-coverage/
2)全体構成
* 公式ドキュメントの以下の図を一度目を通しておくといい => 特に、使用ポートなど勉強になった
https://docs.localstack.cloud/contributing/basics/#general-application-architecture
【2】設定環境
Windowsの環境にVirtualBox または、 WSL2 をインストールして そこに構築する
0)前提条件
VirtualBox と Guest OS について、事前に設定しておく。 VirtualBoxについては、以下の関連記事を参照。
https://dk521123.hatenablog.com/entry/2013/02/28/005116
追記
* 以下の関連記事で行ったWSL2でも同等の環境が作れた
https://dk521123.hatenablog.com/entry/2020/12/08/165505
https://dk521123.hatenablog.com/entry/2020/12/10/094125
環境例
* OS : Windows10 * VirtualBox : v 6.0.14 r133895 (Qt5.6.2) * Guest OS : Ubuntu 18.04.3 LTS (「lsb_release -a」で確認) * git : v2.17.1 * Python : Python 3.6.9 * Docker : v18.09.7 * LocalStack : v0.10.5 ※ Guest OS の デフォルト の 10GB だと少ないので多めにとっておく
1)docker, docker-compose のインストール と 設定
[1-1] docker, docker-compose のインストール
https://dk521123.hatenablog.com/entry/2018/04/10/234030
より抜粋 ==== sudo apt install docker # 確認1-1 docker --version # 確認1-2 sudo systemctl status docker sudo apt install docker-compose # 確認2-1 docker-compose -v ====
2)aws-cliのインストール と 設定
sudo apt install awscli
# 'dummy-user' という profile を作成する aws configure --profile dummy-user # 入力する AWS Access Key ID [None]: dummy-id AWS Secret Access Key [None]: dummy-key Default region name [None]: ap-northeast-1 Default output format [None]: json # 確認1 cat ~/.aws/credentials # 確認2 cat ~/.aws/config
3)LocalStack の インストール と 起動
[3-1] LocalStack の インストール
git clone https://github.com/atlassian/localstack.git
[3-2] LocalStack を 起動
# "localstack"ディレクトリに移動 cd localstack # 起動 docker-compose up # 以下は、「-d : バックグラウンドで実行」 # TMPDIR=/private$TMPDIR DATA_DIR=~/localstack/data sudo docker-compose up -d
[3-3] 確認
ブラウザで「http://[設定環境のホスト名/IP]:8080」にアクセスする ⇒ エラーなく表示されたらOK
4)ホストOS起動時に自動で実行するように設定
docker update --restart=always localstack_main => 無効にしたい場合は、「docker update --restart=no localstack_main」 => docker update --restart の詳細は、以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2020/04/13/000000
5)ローカル上にAWS Lambda 環境を作る
長くなったので、以下の関連記事を参照のこと。
LocalStack ~ ローカルで疑似Lambda/S3を作成する ~
https://dk521123.hatenablog.com/entry/2019/12/16/231149
参考文献
https://qiita.com/mmclsntr/items/709863ba98a4855988f3
https://qiita.com/rio_matsui/items/e0c2c772d4579d00a312
関連記事
LocalStack ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2019/12/16/231149
LocalStack ~ awscli-local ~
https://dk521123.hatenablog.com/entry/2020/12/16/211127
MWAA ~ aws-mwaa-local-runner + LocalStack ~
https://dk521123.hatenablog.com/entry/2021/11/07/132014
AWS Glue ~ ローカル環境を作成する ~
https://dk521123.hatenablog.com/entry/2019/11/10/205535
VirtualBox のインストール
https://dk521123.hatenablog.com/entry/2013/02/28/005116
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000
Docker compose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/05/21/222910
Docker compose ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
Docker compose ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432