我有一个问题。
因此,我尝试使用 terraform 自动执行 RDS 连接字符串,但数据库标识符是在每个 AWS 账户中的每个区域随机生成的。
是否可以事先知道数据库标识符?如果是这样,我有办法自动化它吗?
下面是我当前的脚本:
sudo socat TCP-LISTEN:5432,reuseaddr,fork TCP4:env0.**cvhjdfmcu7ed**.us-east-1.rds.amazonaws.com:5432
我目前正在使用下面的脚本将变量输入到我的 userdata tpl 文件中的 terraform
sudo nohup socat TCP-LISTEN:${port},reuseaddr,forkTCP4:${name}.${connection}.${aws_region}.rds.amazonaws.com:${port}
如果这里有人可以建议我可以用来自动化 ${connection}
变量的方法,以便我可以将其部署在任何 aws 帐户和区域中,而不必担心可能会发生什么标识符将是。
最佳答案
您可以使用 aws_db_instance 中可用的 endpoint
属性。或aws_rds_cluster用于访问 Terraform 中的 hostname:port
RDS 端点的 Terraform 资源。
如果您不在需要访问端点地址的同一个 Terraform 中创建/管理 RDS 实例,那么您将使用适当的 Terraform datasource
而不是 Terraform resource
,它将查找 RDS 信息并使端点值在 Terraform 模板的其余部分中可用。
关于amazon-web-services - AWS RDS 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70188692/