AWS RDS mariadb 인스턴스에 연결하는 동안 오류가 발생했습니다.

AWS RDS mariadb 인스턴스에 연결하는 동안 오류가 발생했습니다.

방금 AWS EC2 Ubuntu 인스턴스와 동반 RDS mariadb 인스턴스를 생성했습니다. (저는 현재 무료 등급을 사용하고 있습니다.)

동일한 VCS 내에서만 액세스할 수 있도록 RDS에 대한 공개 액세스를 해제했습니다. 내 EC2 상자는 VCS와 같은 위치에 있으며 거기에서 데이터베이스에 연결하고 싶습니다.

Ubuntu 컴퓨터에 mariadb-client를 설치했습니다. RDS 인스턴스 페이지의 엔드포인트를 RDS 상자로 사용하고 다음 명령을 실행했습니다.

mysql  -P 3306 -u thomas -p -h ******.******.us-east-1.rds.amazonaws.com

ERROR 2005 (HY000): Unknown MySQL server host '******.*****.us-east-1.rds.amazonaws.com' (-2)

호스트 *****.********.us-east-1.rds.amazonaws.com이 찾을 수 없음을 반환했습니다.

처음 시도했을 때 서버 이름을 잘못 입력했을 때 오류 뒤에 (-3)이 표시되는 것을 보고 재미있다고 생각했습니다. 그래서 구글에서 오류코드를 찾아보니 이런 내용이 있었습니다.https://dev.mysql.com/doc/refman/5.5/en/error-messages-client.html오류 코드 2005에 대해 알려주지만 괄호 안의 부분은 알려주지 않습니다.

문서에서 포함을 참조하고 있는데 확인했지만 -2를 찾을 수 없습니다. 그래서:

1) 괄호 안의 정보는 어디서 확인할 수 있나요?

2) RDS 인스턴스에 액세스할 수 없는 이유는 무엇입니까?

답변1

뭐, 예상대로 난 바보야. 첫째, 나는 이것을 깨닫지 못했지만 어떤 이유로 끝점이 변경되었습니다. 아마도 설정을 변경한 후 묻지 않고 다시 빌드하고 새 엔드포인트 이름을 부여했을 것입니다. 이것이 nslookup 및 호스트 명령이 실패하는 이유입니다.

그런 다음 작업이 시작되자 연결에 사용했던 스크립트 작업을 시작했고 -h 매개변수의 호스트 이름 끝에 :3306을 남겼다는 것을 깨달았습니다. 나는 이것을 제거하고 모든 것이 작동하기 시작했습니다.

웹 개발자의 로보토미에 "아니오"라고 투표하면 이런 일이 발생합니다.

답변2

호스트 이름 대신 RDS 인스턴스의 IP 주소를 사용하는 것이 좋습니다. 클라이언트 패키지 없이 포트에 직접 액세스할 수 있는지 확인하세요. 호스트 3306에 원격으로 로그인합니다.

또한 VPC에 있으므로 서브넷이 일치하는지 확인하세요. 이를 통해 이전에는 여러 내부 서브넷을 가질 수 있었습니다.

관련 정보