https://registry.terraform.io/providers/hashicorp/archive/latest/docs/data-sources/file
- lambda.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
data "archive_file" "lambda_hoge" { type = "zip" source_dir = "../files/lambda_hoge" output_path = "../files/lambda_hoge.zip" } resource "aws_lambda_function" "lambda_hoge" { filename = data.archive_file.lambda_hoge.output_path function_name = "lambda-hoge-${var.environment}" handler = "index.handler" publish = true role = aws_iam_role.lambda_hoge.arn runtime = "nodejs20.x" source_code_hash = data.archive_file.lambda_hoge.output_base64sha256 timeout = 5 } |
TerraformでLambdaをデプロイする場合、ローカルでzipファイルをGit管理しておくか、S3にアップロードしておく必要がある。しかし、コード修正する場合解凍して圧縮する必要があるので、手間がかかる。 archive_file
を利用すればソースコードをそのままGit管理ができるのと、terraform apply時にzipファイル化してデプロイしてくれるので便利な小技である。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。