どさんこウェブ

自分で調べた技術ネタの備忘録的な感じで徒然とブログを書いていこうかな

Terraformで定義したAWSリソースをLocalStackにデプロイする

はじめに

こんにちは。
AWSとTerraformの仕事と個人学習で、LocalStack を使っています。
今回は、勉強したことの振り返りです。
※本記事では、Terraformなどのツールの解説はしません。

構成

今回構築したのは、以下の構成図のようにS3にファイルをアップロードしたらLambdaを実行するシンプルなものです。

ソースコードは以下になります。

github.com

構築

Gitクローンします。

git clone https://github.com/44taka/study-localstack.git

LocalStackのコンテナを起動します。

docker compose up -d

terraformディレクトリに移動し、Terraformの初期化を実行します。

cd terraform
terraform init

Terraformの実行計画を確認します。

terraform plan

実行計画に問題がなければ、構築を開始します。

terraform apply

動作確認

AWS CLIコマンドでも確認できますが、今回は LocalStack Desktop を使います。
ダウンロード手順は以下ページをご参照ください。

iret.media

まずは、Lambdaが作成されていることを確認します。

はい、作成されていますね。 次にS3で対象バケットが作成されていることを確認します。

こちらも無事に作成されていますね。
では、最後にファイルをアップロードしてLambdaが実行されるかを確認します。

ログを確認すると、ファイルをアップロードした直後にLambdaが実行されているのを確認できますね。

削除

不要になったら、削除しましょう。

terraform destroy

おわりに

以上でTerraformで定義したAWSリソースをLocalStackにデプロイする手順になります。
お金を気にすることなく、Terraformの勉強ができるので個人的にオススメの学習法です。いいなと思ったら、ぜひ試してみてください。