EC2 서버 내에 mysql을 설치하고 유저를 생성하였다. 그런데 로컬의 workbench에서 ec2내의 mysql에 접속이 되지 않는다...
이런 문제를 꽤 겪었었는데 대부분의 문제는 AWS 콘솔을 통한 인바운드 규칙 변경이나 EC2의 방화벽 설정을 통해서 풀렸었다.
흔하게 나타나는 원인으로 올바르지 않은 비밀번호를 입력해서 이런 문제가 나타날 수 있다.
위와 같이 인바운드 규칙에서 ssh와 mysql만 내 IP에서 접속하고 나머지는 모든 IPv4로 열어두었다.
WorkBench에 사용한 비밀번호로 잘 로그인 되는 것을 볼 수 있었다.
그럼에도 해결이 되지 않았다.
아웃바운드 규칙에 아래와 같이 적용하니 잘 작동하였다.
응답 트래픽의 허용
때문이다.
클라이언트가 MySQL 서버에 연결을 시도할 때, 인바운드 규칙이 적절히 설정되어 있다면 요청은 서버로 도달한다. 그러나 서버가 클라이언트에게 응답을 보낼 수 없다면 연결이 완료되지 않는다. 아웃바운드 규칙을 통해 MySQL 서버가 클라이언트에게 응답할 수 있도록 허용하면 연결이 정상적으로 이루어진다.