본문 바로가기

개발

[AWS]1045 error in private rds

반응형

private rds(퍼블릭 엑세스가 불가한 rds)생성시 "Access denied for user admin@private subnet ...."로 에러가 발생합니다.

퍼블릭 엑세스가 불가한 경우여서 시간을 많이 보냈는데요. 이유는 rds의 서브넷 그룹과 보안그룹 때문이었습니다.

 

 

1. 서브넷 그룹

RDS 생성시 서브넷 그룹은 vpc 설정에 따라 default값이 있습니다. private subnet안에 rds와 ec2를 넣는 아키텍에서는 default를 사용하면 절대 안됩니다. 서브넷 그룹을 생성하는데, private ec2가 존재하는 가용영역과 서브넷을 설정해줘야합니다.

서브넷 그룹 생성 과정

 

2.보안그룹

RDS생성시 보안그룹을 default로하면 inbound가 모든 트레픽에 대해 허용해줍니다. 이를 3306에 대해서 허용을 해줘야 하기에, rds용 보안그룹을 새로 생성해 inbound(mysql 3306 허용)정책을 추가해주시면 됩니다. 그리고 새로 생성한 보안그룹으로 rds 보안그룹을 변경해줘야합니다.

 

 

1045에러의 원인은 정말 많습니다. mysql버전별 환경문제, 비밀번호 오류, 보안그룹/서브넷 그룹 이슈등 정말 많습니다.

그저 에러 발생시 조금씩 경우의 수들을 지워가서 추적하는것이 답이네요.

감사합니다.