Wil*_*ent 8 amazon-web-services amazon-rds terraform
通过 Terraform 部署 RDS 数据库时,我的默认目标不可用。运行以下命令:aws rds describe-db-proxy-targets --db-proxy-name <my_proxy_name_here>
我收到两个错误:最初处于状态:PENDING_PROXY_CAPACITY 最终超时并出现以下错误:DBProxy Target 由于内部错误而不可用
Wil*_*ent 13
经过广泛的研究,与 AWS 支持人员进行了两个小时的通话,但错误的搜索结果很少:PENDING_PROXY_CAPACITY
我偶然发现了以下讨论:https ://github.com/hashicorp/terraform-provider-aws/issues/16379
我的配置有几个问题:
我的 RDS 代理安全组的出站规则仅限于内部流量。这会导致问题,因为您需要公共互联网访问才能访问 AWS Secrets Manager!
在编写 Terraform 文档时,建议您可以将“用户名”选项传递给 rds_proxy 资源的 Auth 块(请参阅:https ://registry.terraform.io/providers/hashicorp/aws/4.26.0/docs /resources/db_proxy)。这不起作用,并返回一个错误,指出不需要用户名选项。这是因为 rds_proxy 希望 Auth 的所有信息都包含在所提供的 Secret arn 内的一个 json 对象中。因此,我创建了第二个秘密,其中包含所有身份验证信息,如下所示:
resource "aws_secretsmanager_secret_version" "lambda_rds_test_proxy_creds" {
secret_id = aws_secretsmanager_secret.lambda_rds_test_proxy_creds.id
secret_string = jsonencode({
"username" = aws_db_instance.lambda_rds_test.username
"password" = module.lambda_rds_secret.secret
"engine" = "postgres"
"host" = aws_db_instance.lambda_rds_test.address
"port" = 5432
"dbInstanceIdentifier" = aws_db_instance.lambda_rds_test.id
})
}
Run Code Online (Sandbox Code Playgroud)
我在这里发布此问题是因为 Github 问题已存档,并且我无法更新评论以包含一些搜索词,以帮助那些搜索相同问题的人更快地遇到该问题,因为有关 RDS_PROXY 的信息非常少这里遇到的错误。
归档时间: |
|
查看次数: |
4284 次 |
最近记录: |