小编kir*_*1bm的帖子

AWS Secrets manager awscli 中收到错误:通过 Terraform 部署时未找到版本“AWSCURRENT”

概述

  1. 创建 aws_secretsmanager_secret
  2. 创建 aws_secretsmanager_secret_version
  3. 将唯一生成的字符串存储为上述版本
  4. 使用 local-exec 配置程序使用 bash 存储实际的安全字符串
  5. 例如,在 RDS 实例部署中使用 Secretsmanager 资源引用该字符串。

客观的

  1. 将所有纯文本字符串保留在驻留在 S3 存储桶中的远程状态之外
  2. 使用 AWS Secrets Manager 存储这些字符串
  3. 设置一次,通过调用Terraform中的资源来检索

问题

错误:Secrets Manager 密钥“arn:aws:secretsmanager:us-east-1:82374283744:secret:Example-rds-secret-fff42b69-30c1-df50-8e5c-f512464a4a11-pJvC5U”未找到版本“AWSCURRENT”

跑步时terraform apply

问题

为什么它不自动移动 AWSCURRENT 版本?我错过了什么吗?我的 bash 命令错误吗?该值不会写入secret_version,但它确实正确引用它。

查看 main.tf 代码,它实际执行命令:

provisioner  "local-exec" {

command =  "bash -c 'RDSSECRET=$(openssl rand -base64 16); aws secretsmanager put-secret-value --secret-id ${data.aws_secretsmanager_secret.secretsmanager-name.arn} --secret-string $RDSSECRET --version-stages AWSCURRENT --region ${var.aws_region} --profile ${var.aws-profile}'"

}
Run Code Online (Sandbox Code Playgroud)

代码

主.tf

data  "aws_secretsmanager_secret_version"  "rds-secret" {

secret_id =  aws_secretsmanager_secret.rds-secret.id

}

  

data  "aws_secretsmanager_secret"  "secretsmanager-name" …
Run Code Online (Sandbox Code Playgroud)

security bash amazon-web-services terraform aws-secrets-manager

8
推荐指数
1
解决办法
1万
查看次数

AWS ALB - 您必须从至少两个可用区中指定子网

对于 ALB - “您必须从至少两个可用区指定子网。”

对于 NLB - “您可以从一个或多个可用区指定子网。”

强制执行 2 个可用区作为 ALB 的 MUST 要求而不是 NLB 的原因是什么?

amazon-ec2 amazon-web-services aws-elb aws-alb

7
推荐指数
1
解决办法
1678
查看次数