[AWS] Spring Cloud Config S3 Backend 사용하기
Cloud&Container/AWS 2020. 3. 26. 10:57Spring Cloud Config Server 설정)
[S3 설정]
- S3 버킷 생성
- 접근권한 부여
[ConfigApplication.java]
@SpringBootApplication
@EnableConfigServer
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
[build.gradle]
compile 'com.amazonaws:aws-java-sdk-s3'
[application.yml]
server:
port: 8888
spring:
profiles:
active: awss3
cloud:
config:
server:
awss3:
region: ap-northeast-2
bucket: s3config
[Config Server 접근 URL]
http://localhost:8888/${S3-FILE-NAME}/${PROFILE-NAME}
- 생성한 버킷 하위로 설정 파일 목록이 존재 해야 합니다.
- ${S3-FILE-NAME} 는 생성한 Bucket 아래 만든 설정 파일명 입니다.
- backoffice
- ${PROFILE-NAME} 은 설정 파일에 대한 프로필명 입니다.
- app1, app2
예제)
Config Server URL :
http://localhost:8888/backoffice/app1
S3 :
megatoidiscons3config/backoffice-app1.yml
or
megatoidiscons3config/backoffice-app1.properties
[backoffice-app1.yml]
project.app1="backoffice-app1"
[backoffice-app2.yml]
project.app2="backoffice-app2"
Spring Cloud Config Client 설정)
[application.yml]
spring:
cloud:
config:
name: backoffice
uri: http://localhost:8888
profile: app1,app2
[HelloController.java]
@RestController
public class HelloController {
@Value ("${project.app1}")
String projectApp1;
@Value ("${project.app2}")
String projectApp2;
@RequestMapping("/app1")
public String helloApp1() {
return projectApp1;
}
@RequestMapping("/app2")
public String helloApp2() {
return projectApp2;
}
}
git 사용 하는 건 문서들이 많이 나와 있어서 s3 로 정리해 봤습니다.