尝试通过Terraform部署AWS lambda函数时出现错误



我在试图通过terraform脚本部署AWS lambda.py时遇到了错误。我对AWS Terraform非常陌生,目前无法找出错误。

请在下面找到lambda的地形脚本:

resource "null_resource" "push_invoke_container" {
depends_on = [aws_ecr_repository.<xx>_ecr]
triggers = {
dockerfile = "${sha256(file("./lambda/Dockerfile"))}"
app_code   = "${sha256(file("./lambda/main.py"))}"
}
provisioner "local-exec" {
command = "sh ./lambda/deploy.sh ${aws_ecr_repository.<xx>_ecr.name} ${aws_ecr_repository.<xx>_ecr.repository_url}"
}
}

resource "aws_lambda_function" "invoker" {
package_type  = "Image"
depends_on    = [aws_ecr_repository.lambda_ecr, null_resource.push_invoke_container]
function_name = "${var.app_prefix}_invoker_lambda_${var.environment}_test"
image_uri     = "${aws_ecr_repository.lambda_ecr.repository_url}:latest" #"${aws_ecr_repository.lambda_ecr.repository_url}:latest"
role          = var.invoker_lambda_role_arn_crawler
timeout       = 90
tracing_config {
mode = "Active"
}
environment {

variables = {
CLUSTER          = "${aws_ecs_cluster.<xx>.id}",
LAUNCH_TYPE      = "FARGATE",
ASSIGN_PUBLIC_IP = "DISABLED",
SUBNETS          = "${var.subnet_id}",
SECURITY_GROUPS  = "${aws_security_group.<xx>_ecs_security_group.id}",
TASK_DEFINITION  = "${aws_ecs_task_definition.<xx>.arn}"
}
}
}

当通过terraform init运行上述脚本时,我得到以下错误:

Error: error configuring S3 Backend: error validating provider credentials: error calling sts:GetCallerIdentity: RequestError: send request failed
│ caused by: Post "https://sts.amazonaws.com/": dial tcp 52.xx.yyy.zzz:443: i/o timeout

任何帮助都将非常感激

此错误表明您没有登录到AWS帐户,如果您在本地运行它,请尝试像下面这样传递AWS帐户的安全和访问密钥。

terraform init -backend-config="access_key=<your access key>" -backend-config="secret_key=<your secret key>"

另外,验证"区域"为S3后端提供。

最新更新