2017-09-14 133 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。 –