programing

AWS: 컴퓨터에서 RDS 데이터베이스에 연결할 수 없음

sourcetip 2022. 10. 2. 23:10
반응형

AWS: 컴퓨터에서 RDS 데이터베이스에 연결할 수 없음

EC2 인스턴스/라이브 Web은 RDS 데이터베이스에 정상적으로 접속할 수 있습니다.단, 로컬머신에서 코드를 디버깅할 때 데이터베이스에 접속할 수 없어 다음 오류가 발생합니다.

Operation Error: (2003, "aa9jliuygesv4w.c03i1 ck3o0us.us-east-1.rds.amazonaws.com"의 MySQL 서버에 접속할 수 없습니다" (10060)

추가했습니다..pem ★★★★★★★★★★★★★★★★★」.ppk「」의 키.sshEB CLI eb eb eb eb 。더 이상 어떻게 해야 할지 모르겠어요.

참고로 이 앱은 장고에 있습니다.

그것은 그렇게 어렵지 않다는 것이 판명되었다.다음의 순서를 실행합니다.

  1. EC2 대시보드로 이동
  2. Security Groups 탭으로 이동
  3. RDS 데이터베이스 보안 그룹만 선택하고 선택합니다.Security Group 세부 정보가 하단에 표시됩니다.
  4. [ Inbound ]탭을 클릭합니다.
  5. [Edit] 버튼을 클릭합니다.
  6. 유형 추가:MYSQL/Aurora;프로토콜:TCP;범위:3306;출처:0.0.0/0

순서

PUBLIC ACCESSIBILITY [YES] (네)로 되어 있다

이게 내가 지난 3일 동안 해결하려고 했던 거야

공개 접근성 변경 절차

임의의 IP 주소로부터의 트래픽 수용

RDS 인스턴스 생성 후 보안 그룹 인바운드 규칙이 특정 IP 주소로 설정되었습니다.임의의 IP 주소에서 액세스 할 수 있도록 인바운드 규칙을 편집해야 했습니다.

  • "보안 그룹 규칙"
  • Security Group 선택
  • "인바운드 규칙"을 클릭합니다.
  • "인바운드 규칙 편집"을 클릭합니다.
  • "Source"에서 드롭다운을 선택하고 "Anywhere"를 클릭합니다.
  • ::0 또는 0.0.0/0 이 표시됩니다.
  • "규칙 저장"을 클릭합니다.

이 페이지의 훌륭한 솔루션을 검토하느라 2시간이나 걸렸어요.바보 같은 대답을 할 시간이야!

Security Group, VPC, 라우팅 테이블, 서브넷, 게이트웨이를 리다이렉트했습니다...아니요. AWS 콘솔에서 URL을 복사 붙여넣기했습니다. 경우에 따라 후행 공간이 숨겨질 수 있습니다.엔드포인트가 에 있습니다.<div> 「」라고 요소가 표시됩니다\n db 넣게 됩니다.이것을 Intellij db 커넥터에 붙여넣으면 스페이스에 강제로 붙여 넣습니다.

소스코드의 견적 문자열에 URL을 붙여넣은 후에야 문제를 발견했습니다.

숨은 공간

IDE의 숨겨진 공간

VPC 및 서브넷이 널리 사용되지 않는지 확인합니다.

다음의 CIDR 설정은, 2개의 서브넷에 대해서 유효하게 동작합니다.

  • VPC10.0.0.0/16 10.0.0.0 — 10.0.255.255 (65536 addresses)

  • 1 '''110.0.0.0/17 10.0.0.0 — 10.0.127.255 (32768 addresses, half)

  • 2 '''2''10.0.128.0/17 10.0.128.0 — 10.0.255.255 (32768 addresses, other half)

서브넷이 3개 필요한 경우 조정합니다.


RDS 데이터베이스에 접속할 수 없었습니다.모든 세부사항을 수동으로 검토해보니 모든 것이 괜찮았습니다.아무런 문제 징후도 없었고 문서에서도 적절한 정보를 찾을 수 없었습니다.VPC는 좁은 CIDR(10.0.0/22)로 설정되어 각 서브넷에는 255개의 주소가 할당되어 있습니다.CIDR을 10.0.0/16으로 변경하여 2개의 서브넷으로 완전히 분할한 후 RDS 접속이 동작하기 시작했습니다.내가 문제의 근원을 겨우 찾은 것은 순전히 행운이었다. 왜냐하면 그것은 나에게는 말이 안 되기 때문이다.

저 같은 경우에는 사이즈를 업그레이드 할 때.rds 인스턴스의 프라이빗주소가 VPC의 프라이빗서브넷에 포함되었습니다.My instance is in private subnet(내 인스턴스가 개인 서브넷에 있습니다) 문서사용하여 로컬 컴퓨터에서 해당 문서에 연결할 없습니다.

그러나 루트 테이블을 변경해도 문제가 해결되지 않았습니다.결국 문제를 해결한 것은 사이즈를 다운그레이드한 후 사이즈를 다시 업그레이드하는 것입니다.프라이빗 주소가 퍼블릭서브넷에 폴백되면모든 것이 아주 잘 작동한다.

또, ec2 인스턴스 내부에서도 접속할 수 없었습니다.

AWS RDS 옵션을 조사한 결과, ec2 인스턴스는 현재와 같은 VPC의 RDS에만 연결할 수 있는 것으로 나타났습니다.

RDS가 있는 같은 VPC에 ec2 인스턴스를 작성하면 예상대로 액세스할 수 있었습니다.

위의 모든 답을 시도해 본 경우...데이터베이스 재생성...

AWS on 데이터베이스 생성은 퍼블릭/프라이빗 액세스를 허용하는 옵션을 제공합니다.

여기에 이미지 설명 입력

글쎄요, 거의 모든 분들이 답을 지적해 주셨기 때문에 여러분이 이해할 수 있도록 다른 시각으로 설명해 드리겠습니다.

AWS RDS에 접속하는 방법에는 두 가지가 있습니다.

  1. 인스턴스를 같은 VPC 및 서브넷으로 프로비저닝합니다.DB에 연결할 수 있는 워크벤치를 설치합니다.일반인에게 접근할 수 있도록 할 수 있습니다.예제:동일한 VPC 그룹에 윈도우즈 인스턴스를 프로비저닝하고 워크벤치를 설치한 후 끝점을 통해 DB에 연결할 수 있습니다.

  2. 다른 방법은 원치 않는 액세스를 방지하기 위해서만 IP에 공개적으로 DB에 액세스할 수 있도록 하는 것입니다.DB Security Group을 변경하여 IP에 대한 DB 포트 트래픽만 허용할 수 있습니다.이렇게 하면 사용자만 DB에 공개적으로 액세스할 수 있습니다.이는 SG의 소스 부분에 보안 그룹을 추가하는 다양한 AWS 서비스에 대해 수행하는 방법입니다.

두 옵션이 모두 기능하지 않는 경우 오류가 VPC 라우팅 테이블에 있습니다.VPC 라우팅 테이블에서 서브넷과 관련되어 있는지 여부 및 인터넷게이트웨이가 연결되어 있는지 여부를 확인할 수 있습니다.

이 비디오를 보면 의심을 해소할 수 있습니다.

https://youtu.be/e18NqiWeCHw

VPN 또는 방화벽 차단 연결이 있는지 확인하는 것을 잊지 마십시오.

언급URL : https://stackoverflow.com/questions/37212945/aws-cant-connect-to-rds-database-from-my-machine

반응형