2024. 10. 26. 13:15ㆍ개발일지
시도
1. 퍼블릭 액세스 여부
가장 기본적이기 때문에 가장 먼저 확인했던 부분인다. RDS를 생성할 때 연결 항목에서 퍼블릭 액세스 여부를 체크할 수 있다. 외부 IP에서 RDS를 사용하고 싶다면 ‘퍼블릭 액세스 가능’으로 체크하자. 하지만 우리는 이미 퍼블릭 액세스를 허용해 놓은 상황이었다.
2. VPC 보안 그룹 인바운드 규칙
퍼블릭 액세스를 허용해도 문제가 해결되지 않는다면 보안 그룹 규칙이 잘 설정되어 있는지 확인해보자
서비스 → 네트워크 및 보안 → 보안 그룹으로 이동한다.
RDS의 보안 그룹에 들어가 인바운드 규칙을 편집한다.
원래 내 IP 주소를 넣어 놨지만 혹시 인바운드 규칙이 문제인가 싶어서 모든 IP 주소가 접근할 수 있도록 열어놨다. 하지만 문제는 해결되지 않았다.
이대로 놔두면 보안 이슈가 발생하기 때문에 인바운드 규칙이 문제인지 확인해 본 후 특정 IP만 접근할 수 있도록 수정해 주자
해결
3. Private 서브넷을 Public 서브넷으로 변경
마지막은 이 문제를 해결해 준 방법이다.
1번과 2번 방법으로도 외부에서 접근할 수 없었던 이유는 RDS가 사용하는 서브넷이 public이 아닌 private으로 설정되어 있기 때문이다.
서브넷을 public으로 변경해 보자
AWS에서 서비스 → VPC → 라우팅 테이블로 이동한다.
RDS가 사용하고 있는 VPC에 접근해서 라우팅 편집을 클릭한다.
처음에 들어가면 local 대상의 라우팅밖에 존재하지 않는다.
라우팅 추가 버튼을 클릭해 준다.
- 첫 번째 대상 : 0.0.0.0/0
- 두 번째 대상 : 마우스로 클릭하면 리스트가 나오는데 ‘인터넷 게이트웨이’를 선택한다. 그러면 igw-xxxx… 형식의 ID가 자동으로 생성된다. 해당 게이트웨이를 클릭한다.
그러면 아래와 같이 되었을 것이다. 변경 사항을 저장해 준다.
가끔 이런 문제가 터지면 머리가 아프다ㅠ
VPC와 서브넷 원리에 대해 좀 더 공부해 봐야겠다.
'개발일지' 카테고리의 다른 글
Docker 설정 (0) | 2023.07.11 |
---|---|
Docker 설치 (0) | 2023.07.11 |
Nginx를 통한 Https설정 (SSL 인증서) (0) | 2023.07.03 |
05.16 TIL (Stack과 Queue 그리고 Array와 Linked List 자료구조와 차이점) (0) | 2023.05.16 |
05.16 TIL (웹 서버와 WAS의 차이) (0) | 2023.05.16 |