2017-09-14 1 views
1

Elastic Beanstalk 용 스프링 부트 마이크로 서비스를하고 있는데 배포 할 때 RDS 자격 증명을 내 응용 프로그램에 전달하는 방법을 명확히 알고 싶습니까?스프링 부트 RDS 연결 자격증 명

이전에는 Cloud Foundry에서 작업했으며 Spring Cloud Connectors 라이브러리가 DataSource의 인스턴스를 가져 오는 데 사용할 수있는 전용 Cloud 클래스를 제공하며 로그인/비밀번호를 명시 적으로 지정할 필요가 없음을 알고 있습니다. AWS와

내가 명시 적으로 응용 프로그램 환경에서의 자격 증명을 지정해야 할 것으로 보인다 RDS_HOSTNAME, RDS_USERNAME, RDS_PASSWORD, ... (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html?icmpid=docs_elasticbeanstalk_console) 그리고 난에 (봄 클라우드 AWS가 자동으로 작업을 수행 할 수 있습니다 예를 찾을 수 없습니다 CF와 같은 방식으로).

나를 위해 AWS에 대한 일반적인 방법은 불편한 것 같습니다. 또한 응용 프로그램과 통합 된 RDS 인스턴스 (응용 프로그램 수명주기에 바인딩 된) 환경 변수가 자동으로 설정되는 경우 외부 RDS 인스턴스의 경우이 작업을 수행 할 수없는 이유는 무엇입니까?

답변

0

이들은 Elastic Beanstalk 응용 프로그램과 RDS 인스턴스를 통합 할 경우 Elastic Beanstalk 환경에 할당되는 표준 환경 변수입니다. 통합하지 않으면 eb setenv 명령을 사용하여 EB 환경에서 해당 환경 변수를 작성하기 만하면됩니다.

이 메커니즘은 RDS 인스턴스 이외의 다른 용도로 사용됩니다. 아마도 Elastic Beanstalk 애플리케이션이 액세스해야하는 Redis 또는 MongoDB 데이터베이스 나 API와 같은 외부 서비스가있을 수 있습니다. 환경 변수를 작성하면 보안 증명서와 어플리케이션에 필요한 모든 환경 특정 엔드 포인트를 지정할 수 있습니다.

시스템 환경 변수에 액세스하는 표준 Java/Spring 메소드를 사용하면 이러한 값을 응용 프로그램에 가져 오면됩니다.

+0

좋아, 이제 AWS의 RDS 바인딩이 Cloud Foundry와 유사하게 작동 할 수 있다고 생각했습니다. 여기서는 데이터베이스 서비스를 바인딩하고 Spring Cloud Connectors에서 이미 구성된 DataSource를 얻을 수 있습니다. –