AWS Lambdaなどのマネージドクラウドサービスを中心に、コードとクラウドインフラをデプロイするCLI・YAMLベースのフレームワーク。
terraform-aws-modules/terraform-aws-lambda
依存関係のインストールとデプロイパッケージのビルド機能を備えた、AWS Lambda関数とレイヤー作成用のTerraformモジュール。
- スター
- 1,041
- フォーク
- 783
- 未解決の Issue
- 7
- 最終コミット
- 9 日前
これは何?
このTerraformモジュールは、関数、レイヤー、エイリアス、イベント設定など、AWS Lambdaの大半のリソースを作成します。また、Terraformによるデプロイ前に依存関係をインストールし、コードをデプロイ用アーカイブにパッケージ化するビルド処理も行います。
ビルドは、AWS Lambdaがサポートするあらゆるランタイムとアーキテクチャを対象に、ローカルまたはDocker内で実行できます。パッケージはローカルまたはS3に保存でき、ローカルディスク、S3、URL、ECRイメージにあるビルド済みzipを使ってデプロイすることもできます。Lambda@Edge、VPC、EFS、プロビジョニング済み同時実行数、IAMポリシー、イベントソースマッピングも設定できます。
このモジュールはserverless.tfファミリーの一部で、エイリアス用のサブモジュールや、CodeDeployを使ったローリングデプロイ・カナリアデプロイ用のサブモジュールも提供しています。
主な機能
- 01Lambdaがサポートするあらゆるランタイムとアーキテクチャを対象に、ローカルまたはDocker内で依存関係をビルドします。
- 02デプロイパッケージを作成するほか、ローカルディスク、S3、URL、ECRにある既存のzipを使ってデプロイできます。
- 03デプロイパッケージをローカルまたはS3バケットに保存します。
- 04Lambda関数、レイヤー、エイリアス、Lambda@Edgeを管理します。
- 05VPC、EFS、IAMポリシー、トリガー、イベントソースマッピングを設定します。
ユースケース
- 他のインフラとあわせて、AWS Lambda関数とIAMロールをTerraformで管理する。
- Terraformの実行時にpipやnpmの依存関係を使って、PythonまたはNode.jsのLambdaコードをパッケージ化する。
- エイリアスとCodeDeployを使って、Lambda関数のカナリアデプロイやローリングデプロイを実行する。
クイックスタート
- 1
Terraform の設定で、source と必須の関数引数を指定してモジュールを宣言します
- 2
Terraform の作業ディレクトリを初期化します
terraform init - 3
計画したインフラストラクチャをプレビューして適用します
terraform apply
使う前に知っておきたいこと
- 依存関係のビルドには Python 3.6 以降が必要です。
トピック
よくある質問
- terraform-aws-lambda とは?
- 依存関係のインストールとデプロイパッケージのビルド機能を備えた、AWS Lambda関数とレイヤー作成用のTerraformモジュール。 このTerraformモジュールは、関数、レイヤー、エイリアス、イベント設定など、AWS Lambdaの大半のリソースを作成します。また、Terraformによるデプロイ前に依存関係をインストールし、コードをデプロイ用アーカイブにパッケージ化するビルド処理も行います。
- terraform-aws-lambda は無料で使えますか?ライセンスは?
- terraform-aws-lambda は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- terraform-aws-lambda は今もメンテナンスされていますか?
- 活発にメンテナンス中。terraform-aws-lambda の最終コミットは 2026年10月29日 です。
- terraform-aws-lambda は何に使えますか?
- 他のインフラとあわせて、AWS Lambda関数とIAMロールをTerraformで管理する。 Terraformの実行時にpipやnpmの依存関係を使って、PythonまたはNode.jsのLambdaコードをパッケージ化する。 エイリアスとCodeDeployを使って、Lambda関数のカナリアデプロイやローリングデプロイを実行する。
- terraform-aws-lambda のインストール方法は?
- Terraform の設定で、source と必須の関数引数を指定してモジュールを宣言します Terraform の作業ディレクトリを初期化します: terraform init 計画したインフラストラクチャをプレビューして適用します: terraform apply
- terraform-aws-lambda はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/terraform-aws-modules/terraform-aws-lambda
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
AWS Lambda関数のデプロイ、ロールバック、呼び出し、ログ確認、差分表示に対応したシンプルなCLIツール。
Zappaは、管理対象のサーバーを用意せずにPythonのWSGI・ASGIアプリやイベント駆動型関数をAWS LambdaとAPI Gatewayにデプロイします。
Terraform、Terragrunt、CloudFormation、AWS CDKのクラウドコストを、インフラ変更のデプロイ前に見積もれるオープンソースツール。
宣言的な構成を使って、TerraformからAWSリソースの作成、変更、削除を行えるプロバイダーです。
AIへのプロンプト、JSONグラフ、Terraformコードから、AWS・Azure・GCPの公式クラウドアイコンを使ったアーキテクチャ図を生成します。