我已经使用Java开发了该应用程序,并且还将Amazon PostgreSQL数据库用于数据管理。我将应用程序托管在Elastic beanstalk中。现在,有人建议我使用Amazon CloudFormation。因此,我以JSON格式创建了基础结构代码,其中还包括Amazon RDS,但我对此表示怀疑。
当我使用CloudFormation时,它将为我的应用程序自动创建新的数据库实例,但是我在Java代码中指定了另一个数据库实例名称,那么它将如何通信?
请帮助我澄清疑问。
预先感谢...
答案 0 :(得分:0)
您可以在CFN的输出部分中配置数据库URL,以便获得所需的URL
答案 1 :(得分:0)
要使用AWS::RDS::DBInstance返回Return values的端点URL:
Endpoint.Address :数据库的连接端点。例如:mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com
Endpoint.Port :数据库接受连接的端口号。例如:3306
要从堆栈中删除Endpoint.Address
,必须将Outputs部分添加到模板中。例如:
"Outputs": {
"DBEndpoint": {
"Description": "Endpoint for my RDS Instance",
"Value": {
"Fn::GetAtt" : [ "MyDB", "Endpoint.Address" ]}
}
}
}
然后使用适用于Java的AWS开发工具包,您可以查询CFN堆栈的输出以在Java应用程序中使用。