2017-09-14 129 views
1

我正在爲Elastic Beanstalk開發Spring引導微服務,並且想要闡明RDS憑證在部署時如何傳遞給我的應用程序?Spring Boot RDS連接憑證

此前我曾與Cloud Foundry合作,並且我知道Spring Cloud Connectors庫提供了專用的「Cloud」類,可用於獲取DataSource的實例,並且不需要明確指定登錄名/密碼。

有了AWS看來,我要明確指定應用程序環境的憑據 RDS_HOSTNAME,RDS_USERNAME,RDS_PASSWORD,... (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html?icmpid=docs_elasticbeanstalk_console) 我不能發現的例子是,Spring雲AWS可以自動做到這一點(在與CF中的方式相同)。

對我來說這看起來不方便,它是AWS的常見方式嗎? 此外,如果RDS實例與應用程序(綁定到應用程序生命週期)環境變量集成自動設置,爲什麼這不能在外部RDS實例的情況下完成?

回答

0

如果您將RDS實例與Elastic Beanstalk應用程序集成,那麼這些標準環境變量將分配給您的Elastic Beanstalk環境。如果您沒有集成它,那麼您只需使用eb setenv命令在EB環境中創建這些(或類似的)環境變量。

請注意,同樣的機制可用於除RDS實例外的其他事情。也許你有像Redis或MongoDB數據庫這樣的外部服務,或者Elastic Beanstalk應用程序需要訪問的某種類型的API。通過創建環境變量,您可以指定您的應用程序需要的安全證書和任何環境特定的端點。

您只需要使用標準的Java/Spring訪問系統環境變量的方法,以便將這些值提取到您的應用程序中。

+0

好的,我只是認爲AWS中的RDS綁定可能類似於Cloud Foundry,我可以在其中綁定數據庫服務並從Spring雲連接器獲取已配置的DataSource。 –