VPC의 RDS 인스턴스가 "공개"(인터넷) 액세스 가능하도록하려면 연결된 모든 서브넷이 VPC의 "개인"이 아닌 "공용"이어야합니다.
퍼블릭 서브넷은 기본적으로 인터넷 게이트웨이 개체 (igw-xxxxxxxx)가 "인터넷"또는 최소한 액세스해야하는 인터넷 대상에 대한 경로로 사용되는 서브넷으로 정의됩니다. 일반적으로 주소는 0.0.0.0/0
입니다. 퍼블릭 서브넷은 연결된 퍼블릭 IP 주소가있는 인스턴스 (RDS 포함)에 사용해야하며 퍼블릭 IP 주소가없는 인스턴스에는 사용되지 않아야합니다. 프라이빗 주소는 변환없이 인터넷에서 작동하지 않기 때문입니다.
반면 프라이빗 서브넷에는 라우팅 테이블이 다른 EC2 인스턴스 (일반적으로 NAT 인스턴스)를 통해 인터넷 대상에 도달하도록 구성되어 있습니다. 이는 해당 서브넷과 연결된 VPC 라우팅 테이블에 "igw"가 아니라 i-xxxxxxxx로 표시됩니다. 해당 시스템 (실제로 자신이 라우팅 대상 역할을하는 시스템과 다른 서브넷에 있음)은 변환기 역할을하며 사설 IP 전용 인스턴스는 NAT 시스템의 공개를 사용하여 아웃 바운드 인터넷 요청을 투명하게 만들 수 있습니다. 인터넷 요구에 맞는 IP. 퍼블릭 IP 주소를 가진 인스턴스는 프라이빗 서브넷에 연결된 경우 인터넷과 올바르게 상호 작용할 수 없습니다.
특정 경우, 여기서 RDS 인스턴스와 연결된 서브넷은 서브넷에 기본 경로가 전혀 없기 때문에 실제로 프라이빗 또는 퍼블릭 서브넷으로 분류 할 수있는 것으로 구성되지 않았습니다. "igw"개체를 통해 기본 경로를 추가하거나 OP와 마찬가지로 연결이 필요한 인터넷 IP 주소에 고정 경로를 서브넷의 VPC 경로 테이블에 추가하면 연결 문제가 해결됩니다.
그러나 ... 비슷한 문제가 발생하면 변경 사항이 합리적으로 발생할 수 있기 때문에 서브넷에서 이미 올바르게 작동하는 것이 없으면 라우팅 테이블을 변경하거나 새 라우팅 테이블을 작성하고 서브넷을 연결할 수 없습니다. 기존 연결이 끊어 질 것으로 예상됩니다. 이 경우 올바른 경로 테이블 항목을 사용하여 다른 서브넷의 인스턴스를 프로비저닝하는 것이 올바른 과정입니다.
VPC를 설정할 때 서브넷 역할을 명확하게 정의하고 VPC를 처음 시운전 할 때 필요한 경로를 완전히 제공하는 것이 이상적입니다. 전체 VPC "LAN"은 소프트웨어 정의 네트워크라는 점도 기억해야합니다. 물리적 네트워크와 달리 라우터가 병목 현상이 발생하고 트래픽이 많은 시스템을 동일한 서브넷에 배치하는 것이 현명한 경우가 많습니다. 트래픽 교차 서브넷은 VPC에서 성능상의 단점이 없습니다. 머신은 머신의 IP 주소 요구에 적합한 서브넷 (퍼블릭 주소, 퍼블릭 서브넷)에 배치해야합니다. 공개 주소, 개인 서브넷이 없습니다.
VPC에서 프라이빗 / 퍼블릭 서브넷의 물류에 대한 자세한 내용은 VPC에서 프라이빗 서브넷이 필요한 이유 (스택 오버플로)에서 확인할 수 있습니다.
(110)
오류 메시지 수단 "연결 시간이 초과되었습니다"그래서 확실히 이것은 IP 연결 문제입니다. RDS 인스턴스는 두 개의 서브넷과 연결되어 있습니다. VPC 콘솔에서이 두 서브넷의 기본 경로는 무엇입니까? "igw-xxxxxxxx"입니까, "i-xxxxxxxx"입니까?