我有个问题。
因此,我试图用terraform自动化我的RDS连接字符串,但数据库标识符是在每个aws帐户中按区域随机生成的。
有可能在拿到数据库标识符之前就知道吗?如果是的话,我有办法自动化它吗?
以下是我当前的脚本:
sudo socat TCP-LISTEN:5432,reuseaddr,fork TCP4:env0.**cvhjdfmcu7ed**.us-east-1.rds.amazonaws.com:5432
我目前正在使用下面的脚本将变量输入到用户数据tpl文件中的地形
sudo nohup socat TCP-LISTEN:${port},reuseaddr,forkTCP4:${name}.${connection}.${aws_region}.rds.amazonaws.com:${port}
如果这里的一些人可以提出我可以用来自动化${connection}
变量的方法,这样我就可以在任何aws帐户和区域中部署它,而不必担心标识符可能是什么。
您可以使用aws_db_instance或aws_rds_cluster Terraform资源中可用的endpoint
属性来访问Terraform中的hostname:port
rds端点。
如果您没有在需要访问端点地址的同一Terraform中创建/管理RDS实例,那么您将使用适当的Terraformdatasource
而不是Terraformresource
,它将查找RDS信息,并使端点值在Terraform模板的其余部分中可用。