2017-09-14 4 views
1

Ich arbeite an Spring-Boot-Microservice für Elastic Beanstalk und möchte klären, wie RDS-Anmeldeinformationen an meine Anwendung weitergegeben werden, wenn sie bereitgestellt wird?Spring Boot RDS-Verbindungsanmeldeinformationen

Zuvor arbeitete ich mit Cloud Foundry, und ich weiß, dass die Spring Cloud Connectors-Bibliothek eine dedizierte "Cloud" -Klasse bietet, die zum Abrufen einer Instanz von DataSource verwendet werden kann und keine explizite Angabe von Login/Passwort erforderlich ist.

Mit AWS scheint es, dass ich explizit Anmeldeinformationen in Anwendungsumgebung angeben RDS_HOSTNAME, RDS_USERNAME, RDS_PASSWORD, ... (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html?icmpid=docs_elasticbeanstalk_console) Und ich konnte keine Beispiele gefunden, die Frühlings-Cloud-AWS, das automatisch tun können (in der genauso wie in CF).

Für mich sieht es einfach unpraktisch aus, ist es eine übliche Methode für AWS? Auch wenn RDS-Instanz integriert mit Anwendung (gebunden an App-Lebenszyklus) Umgebungsvariablen automatisch eingestellt sind, warum kann dies nicht im Falle einer externen RDS-Instanz getan werden?

Antwort

0

Dies sind die Standardumgebungsvariablen, die Ihrer Elastic Beanstalk-Umgebung zugewiesen werden, wenn Sie die RDS-Instanz in Ihre Elastic Beanstalk-Anwendung integrieren. Wenn Sie es nicht integrieren, müssen Sie diese (oder ähnliche) Umgebungsvariablen einfach in Ihrer EB-Umgebung mit dem Befehl eb setenv erstellen.

Beachten Sie, dass der gleiche Mechanismus für andere Dinge als RDS-Instanzen verwendet werden kann. Vielleicht haben Sie einen externen Dienst wie eine Redis- oder MongoDB-Datenbank oder eine Art von API, auf die Ihre Elastic Beanstalk-Anwendung zugreifen muss. Durch das Erstellen von Umgebungsvariablen können Sie sowohl Sicherheitsanmeldeinformationen als auch beliebige umgebungsspezifische Endpunkte angeben, die Ihre Anwendung benötigt.

Sie müssen nur die standardmäßige Java/Spring-Methode für den Zugriff auf Systemumgebungsvariablen verwenden, um diese Werte in Ihre Anwendung zu übernehmen.

+0

Ok, ich dachte nur, dass die RDS-Bindung in AWS ähnlich wie Cloud Foundry funktioniert, wo ich einfach den Datenbankdienst binden und die DataSource von Spring Cloud Connectors konfigurieren kann. –