본문 바로가기

⭐ AWS/SecretManager

SecretManager를 활용하여 DB 환경 관리를 구성

728x90
반응형

# SecretManager를 활용한 DB 환경 관리 구성하기

- 일단 DB정보는 매우 중요하므로 별도의 관리 프로세스가 필요하다.

예를들어 DB의 계정이 외부에 노출이 되면 문제가 발생하듯 말이다. 물론 DB를 Public 환경에 두는 곳은 거의 없을테지만 만약을 위해서라도 그리고 관리 목적으로라도 DB 정보를 별도의 서비스에 관리하는 것은 매우 바람직한 구성이다.

여기서는 AWS SecretManager라는 AWS 서비스를 활용할 계획이다.

AWS SeceretManager는 AWS에서 제공하는 별도의 키 관리 서비스이다. 비슷한 서비스로는 AWS KMS가 존재하지만 성격이 조금 다르다. KMS는 키값을 암복호화 하는 기능을 제공한다.

여기서는 Springboot의 백엔드 application.yml에 있는 환경을 SecretManager에서 가져와 설정하는 방법에 대해서 간단히 이야기 하고자 한다.

1. 들어가기에 앞서

- 프로세스는 매우 간단하다.

SecretManager에 key : value 형태로 값을 설정하고, 해당 값을 Springboot에서 가져다 쓰는 방식이다.

방식은 매우 심플하고, 설정 방법 또한 매우 간단하다.

아! 들어가기에 앞서 가격에 대해서 이야기 하자면 SecretManager의 서비스 가격은 0.4불로 매우 저렴하다. 참고하자.

2. 생성하기

생성법은 매우 간단하므로 아래의 캡쳐 화면 몇개만 확인하면 된다.

- AWS SecretManager 서비스로 이동

- 우측 상단에 "새 보안 암호 저장" 버튼을 클릭

클릭하면 아래와 같은 입력창이 나온다.

나는 여기서 예시로 RDS에 대한 보안 값을 생성 하고자 한다.

일단 자격 증명은 RDS에 대한 자격증명 값이다. RDS의 아이디와 패스워드를 입력하여 자격증명을 수행한다.

그리고 하단에 데이터베이스에는 현재 생성되어 있는 RDS를 선택하면 된다.

2. 생성하기 part 2

보안 암호 이름은 임의로 설정해도 무방하다.

중요한것은 태그 값인데 이 태그 값이 실제 application.yml에서 불러오는 환경설정 값이 된다.

그래서 태그값을 정확하게 입력 하는게 중요하다.

3. 생성하기 part 3

교체구성

자동 교체에 대한 구성이다. 람다 함수를 사용하여 해당 태그 정보를 자동으로 교체 할 수 있다.

이건 생략

4. 생성하기 part 4

검토, 현재까지 작업 내역에 대한 검토 사항이다.

5. 생성하기 part 5

- 생성된 리스트를 보면 아래와 같다.

6. Springboot에서 사용하기

- application.yml 파일을 아래와 같이 설정한다.

username 값을 가져오기 위해서는 아래와 같이. username에 SecretManager arn 정보를 넣어주면 된다.

해당 arn 정보가 가지고 있는 값을 application.yml 값과 매핑하여 값을 가져온다고 보면 된다.

SecretManager의 arn 정보가 해당 값을 가지고 있다고 보면 된다. 값 꾸러미? 같은 의미로 보면 된다.

그래서 아래와 같이 username을 arn 정보를 매칭하여 넣어주면 된다.

이상 Springboot에서 SecretManager를 활용하여 키값을 가져오는 방법에 대해서 알아보았다.

다음에는 KMS를 활용한 DB 암복호화에 대해서 알아보자.

 

- 끝 -

728x90
반응형

'⭐ AWS > SecretManager' 카테고리의 다른 글

SecretManager 여러 Region 에서 사용하기  (0) 2024.01.18
SecretManager 정보 가져오는 방법  (0) 2023.11.07