amazon-web-services - 出现 InvalidSignatureException 错误,而我在机器上的时间是正确的
问题描述
terraform apply 给我以下错误:
错误:创建 Lambda 函数时出错:InvalidSignatureException:签名已过期:20190628T091524Z 现在早于 20190628T092024Z(20190628T092524Z - 5 分钟)
许多人建议在我运行 terraform 命令的本地计算机上修复时间,但这对我来说似乎不是问题。我的本地机器时间是正确的,没有问题。
这个没有解决我的问题:( Terraform apply 由于时间不匹配而失败
解决方案
我认为它的发生是由于互联网速度慢的问题,所以我通过以下步骤解决了这个问题。
- 即时安装 NPM 模块
- 即时创建拉链
- 将 zip 推送到 s3
- 然后从 s3 指定目标密钥,而不是从本地推送 zip
这是工作代码。
resource "null_resource" "npm" {
provisioner "local-exec" {
command = "cd ../lambda-functions/loadbalancer-to-es && npm install --prod=only && chmod -R 777 node_modules"
}
}
resource "aws_s3_bucket_object" "file_upload" {
bucket = "${var.env_prefix_name}${var.s3_suffix}"
key = "lambda-functions/loadbalancer-to-es.zip"
source = "${data.archive_file.source.output_path}"
# etag = "${filemd5("../lambda-functions/loadbalancer-to-es.zip")}"
}
# Zip the Lambda function on the fly
data "archive_file" "source" {
type = "zip"
source_dir = "../lambda-functions/loadbalancer-to-es"
output_path = "../lambda-functions/loadbalancer-to-es.zip"
depends_on = ["null_resource.npm"]
}
# Created AWS Lamdba Function: Memory Size, NodeJS version, handler, endpoint, doctype and environment settings
resource "aws_lambda_function" "elb_logs_to_elasticsearch" {
function_name = "${var.env_prefix_name}-alb-logs-to-elk-test"
s3_bucket = "${var.env_prefix_name}${var.s3_suffix}"
s3_key = "${aws_s3_bucket_object.file_upload.key}"
description = "elb-logs-to-elasticsearch"
memory_size = 1024
timeout = 900
runtime = "nodejs8.10"
role = "${aws_iam_role.role.arn}"
depends_on = ["null_resource.npm" ]
source_code_hash = "${base64sha256(data.archive_file.source.output_path)}"
handler = "index.handler"
environment {
variables = {
ELK_DOCKTYPE = "some env"
}
}
}
推荐阅读
- c# - 在 C# 中的这个小问题中,递归是如何工作的?
- c++ - 如果“struct”和“class”是同一个东西,那么为什么模板中只使用“class”
不是“结构”? - python - 如何将 python 目录包含到 CMakeList.txt 文件中
- javascript - Angular mat-pagination onClick 下一页出现黑边
- javascript - H5和JSON模型的输出不同
- python - 在python中计算R2预测
- firebase - 在使用 Tflite 包时在颤振中使用自定义模型时,有没有办法解决解释器忙问题?
- python - 如何在 Turtle 中进行冷却?
- qtstylesheets - QT 样式表中的感叹号是什么意思?
- javascript - SVG不显示阴影并失去质量