problem
운영 DB 의 장애대응 프로세스를 구성을 하다가 동적으로 RDB endPoint 를 바꾸어 주어야 할때 사용 했다.

요청을 proxy 가 받아서 Rds 로 요청을 넘겨준다.
main DB 가 다운되면, Proxy 의 타겟을 변경하여
RDB 의 endPoint 동적으로 변경 해줄 수 있다.
solution
프록시 생성

RDS -> 프록시 탭 -> 프록시 생성

자신이 사용하고 있는 엔진을 선택하고,
프록시 식별자와 데이터 베이스를 선택 해준다.

IAM 역할 생성은 건들이면 안됨.
새 보안 암호 생성을 눌러주자.

DB 접속 username 과 password 를 넣은 후,
아래 데이터베이스를 선택하고, 그 이후는 기본 구성으로 저장 완료 한다.

방금 만든 키를 선택하고, 프록시 생성을 눌러 생성을 마무리한다.
방화벽 [ 중요 ]

보안그룹을 선택 해준거나 생성 해준다.
이 설명은 아래에 다시 이어진다.
IAM 설정 [ 중요 ]
AWS IAM 을 오면,

얘가 생성 되어있을 것이다.
신뢰 관계 탭으로 들어오면,
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rds.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
이렇게 되어있는것을 확인해준다.
없으면, 인증탭으로 다시 가서 생성해 준다.
보안그룹설정
위에서 생성 or 선택해준 보안 그룹탭으로 온다.
인바운드에 들어올 곳(bastion host)의 주소를 기본포트와 추가 해준다.
postgres : 5432
mysql :3306
프록시서버는 기본 포트를 사용하기 때문에 db엔진의 기본 포트와 함께 추가해준다.

마지막으로 프록시 탭에 아까 생성해둔 프록시로 들어와
대상그룹 상태가 사용가능 으로 표시 되어있으면 완료 !
사용 불가 -> 인증 , IAM , 방화벽 부터 천천히 다시 살펴본다.

체크포인트
1.

필자는 database 명을 tata 로 지정 해두었다. ( postgres database 가 없음 )
postgres data base 가 없으면 위와 같은 에러를 만나게 된다.
아무것도 없는 postgres database 를 만들어주자. ( 경유해서 가는듯.. )
create database postgres;
2.
필자는 bastion server 를 통해 ssh 터널링 으로 DB 에 접근한다.
또 DB의 포트는 12345 를 사용한다고 가정하고, 작성한다.
[EC2 보안그룹] 아웃바운드에 [Proxy 보안그룹] 포트 추가 : 기본포트 (5432)
[Proxy 보안그룹] 인바운드에 [EC2 보안그룹] 포트 추가 : 기본포트 (5432)
[Proxy 보안그룹] 아웃바운드에 [RDS 보안그룹] 포트 추가 : 12345
[Proxy 보안그룹] 아웃바운드에 [EC2 보안그룹] 포트 추가 : 5432
[RDS 보안그룹] 인바운드에 [Proxy 보안그룹] 포트 추가 : 12345
[RDS 보안그룹] 아웃바운드에 [Proxy 보안그룹] 포트 추가 : 12345
'개-발 > Infra' 카테고리의 다른 글
| [Infra] datadog 설치 (0) | 2025.11.07 |
|---|---|
| [infra] Pinpoint 설치 (with.mac, docker) (6) | 2025.08.04 |
| [infra] valkey 적용기 (turn over Redis) (0) | 2025.04.21 |
| [Infra] 인증 서버 구현하기 (TLS 인증방식) (1) | 2025.02.15 |
| [Infra] pub/sub 사용시 주의사항 (1) | 2024.12.21 |