Repolode
terraform-aws-modules

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. 1

    Terraform の設定で、source と必須の関数引数を指定してモジュールを宣言します

  2. 2

    Terraform の作業ディレクトリを初期化します

    terraform init
  3. 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 の数値は毎日更新されます。

関連プロジェクト