Ошибка InvalidSignatureException, в то время как мое время на машине правильное - PullRequest
1 голос
/ 28 июня 2019

terraform apply дает мне следующую ошибку:

Ошибка: ошибка при создании лямбда-функции: InvalidSignatureException: Срок действия подписи истек: 20190628T091524Z более ранний, чем 20190628T092024Z (20190628T092524Z - 5 мин.)

Многие имеютРекомендуется зафиксировать время на локальном компьютере, с которого я запускаю команду terraform, но это не проблема для меня.Время на моей локальной машине правильное, проблем нет.

Это не помогло решить мою проблему :( Не удалось применить Terraform из-за несоответствия времени

1 Ответ

2 голосов
/ 01 июля 2019

Я думаю, что это происходит из-за медленной интернет-проблемы, поэтому я исправляю это, выполнив следующие шаги.

  • установка модуля NPM на лету
  • Создать почтовый индекс на лету
  • push 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"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...