AmazonSAMをローカル実行してMySQLに接続する
AmazonSAMをローカル実行してMySQLに接続する AmazonSAMをローカル実行してMySQLに接続する AmazonSAMのLambdaをローカルで実行する時は以下ですよね。 $ sam local start-api AmazonSAMって上記で自動的にDockerコンテナ起動してLambdaの実行環境を作ってくれます。 で、既にDockerでMySQLが起動してる場合、そのMySQLにLambdaから接続される方法でちょっと困ったんで手順残しときます。 Dockerネットワーク作成 AmazonSAMとMySQLでネッワークを共有させるためにネットワークを作ります。 作成 $ docker network create my-network 削除 $ docker network rm my-network MySQLで独自ネットワークを使わせる 作成したmy-network上でMySQLのコンテナを起動します。 直接コンテナ起動する場合は --network オプションを指定します。 $ docker run -e MYSQL_ROOT_PASSWORD=passw0rd -d -p 3306:3306 --network my-network mysql:8.0 docker-composeを使う場合はcompose.ymlを以下のように設定します。 version : '3.9' services : db : image : mysql : 8.0 environment : MYSQL_ROOT_PASSWORD : passw0rd TZ : 'Asia/Tokyo' hostname : db_host ports : - 3306 : 3306 networks : - my - network networks : my-network : external : true AmazonSAMで独自ネットワークを使わせる 以下のように --docker-network オプ...