공개 postgresql rds 인스턴스에 연결할 수 없습니다


23

단일 퍼블릭 서브넷이 있고 퍼블릭 인터넷을 통해 연결할 수있는 VPC에서 기본 테스트 PostgreSQL RDS 인스턴스를 생성했습니다. 포트 5432에 대해 열려있는 기본 보안 그룹을 사용합니다. 연결하려고하면 실패합니다. 나는 매우 간단한 것을 놓치고 있어야합니다. 그러나 나는 이것을 잃어 버렸습니다.

데이터베이스 설정은 Publicly Accessible다음 과 같습니다. RDS 설정

보안 그룹 설정은 다음과 같습니다 (위의 RDS 설정에서 엔드 포인트 옆의 녹색 "승인 됨"힌트로 확인 됨). 보안 그룹 설정

연결에 사용하려는 명령은 다음과 같습니다.

psql --host=myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com \
     --port=5432 
     --username=masteruser 
     --password 
     --dbname=testdb

그리고 이것은 Yosemite MacBook Pro에서 연결하려고 할 때 얻는 결과입니다 (참고 : 54. * ip 주소로 해결됩니다).

psql: could not connect to server: Operation timed out
    Is the server running on host "myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com" (54.xxx.xxx.xxx) and accepting
    TCP/IP connections on port 5432?

방화벽이 활성화되어 있지 않으며 다른 공급자 (예 : Heroku)의 공개 PostgreSQL 인스턴스에 연결할 수 있습니다.

여기에서 많은 손실을 입었으므로 문제 해결 팁을 많이 주시면 감사하겠습니다.

최신 정보

설명에 따라 기본 VPC에 대한 인바운드 ACL 규칙은 다음과 같습니다. 네트워크 ACL 구성


1
NetworkACL을 엉망으로 만들었습니까? 인터넷 액세스를 차단할 수있는 가능한 설정을 찾고 싶습니다.
Optichip

답장을 보내 주셔서 감사합니다! 첫 번째 규칙은 연결된 모든 소스의 모든 포트를 허용하는 것이므로 ACL은 아무것도 차단하지 않는 것으로 보입니다.
Edward Q. Bridges

답변:


27

문제는 보안 그룹의 인바운드 규칙이 보안 그룹을 소스로 지정했다는 것입니다. 내 IP 주소가 포함 된 CIDR로 변경하면 문제가 해결되었습니다.


6
CIDR의 작동 방식을 모르는 사람 당신의 IP 주소가 91.61.76.202 인 경우 (사용 당신 찾을 수 myipaddress.com을 ) 설정 소스 91.61.76.202/32 등
톰 G

이 솔루션의 모습을 스크린 샷으로 찍어 주시겠습니까?
smaccoun

기쁘 겠지만 더 이상이 인스턴스가 온라인 상태가 아닙니다.
Edward Q. Bridges

11

비슷한 문제에 직면하고 있는데 이것이 내가 해결 한 방법입니다.

RDS 인스턴스의 보안 그룹을 클릭하고 인바운드 규칙을 확인하십시오. 다음과 같은 것을 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오

IP를 포함하도록 IP 범위를 설정하거나 소스 드롭 다운에서 "Anywhere"를 선택하여 로컬 호스트 또는 어디서나 액세스 할 수 있도록해야합니다.

여기에 이미지 설명을 입력하십시오


그렇습니다. 나는 거기에 있던 사용자 지정 규칙을 유지하고 내 IP 주소를 자동으로 선택하는 새 규칙을 추가했습니다.
MSC

1

postgres에 연결하는 동안 비슷한 문제가 발생했습니다. 공개적으로 true에 액세스했지만 이벤트에 연결할 수 없습니다.

보안 그룹에 하나의 규칙 인바운드 규칙을 추가했으며 이제는 완벽하게 작동합니다.

여기에 이미지 설명을 입력하십시오


0

누군가의 시간을 절약하기 위해 내 찾은 결과를 추가하고 싶었습니다. 위에서 설명한이 솔루션은 dev ec2 인스턴스에서 작동했지만 새 서버로 마이그레이션 한 후 작동이 중지되었습니다. 내 RDS 인스턴스와 EC2 인스턴스가 동일한 VPC에 있었기 때문에 RDS 인스턴스가 보안 그룹에 추가 한 퍼블릭 IP를 볼 수 없었습니다. 이 작업을 수행하려면 EC2 인스턴스의 프라이빗 IP 인 RDS 인스턴스 보안 그룹에 세부 정보를 추가해야합니다.


-1

Postgres 인스턴스를 생성 한 후 기본 보안 그룹 (rds-launch-wizard)에 내 IP 주소 만 표시되었으므로 연결하기 전에 모든 트래픽 유형 및 모든 곳의 소스를 추가해야했습니다. 네트워킹 전문가는 아니지만 인바운드 규칙으로 내 자신의 IP 주소에 연결할 수 없다는 것이 이상합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.