Share via


Azure Database for PostgreSQL - 단일 서버의 연결 문제 해결

적용 대상: Azure Database for PostgreSQL - 단일 서버

Important

Azure Database for PostgreSQL - 단일 서버는 곧 사용 중지됩니다. Azure Database for PostgreSQL - 유연한 서버로 업그레이드하는 것이 좋습니다. Azure Database for PostgreSQL - 유연한 서버로 마이그레이션하는 방법에 대한 자세한 내용은 Azure Database for PostgreSQL 단일 서버에 대한 새로운 소식을 참조하세요.

연결 문제는 다음과 같은 다양한 작업으로 인해 발생할 수 있습니다.

  • 방화벽 설정
  • 연결 제한 시간
  • 잘못된 로그인 정보
  • 일부 Azure Database for PostgreSQL 리소스에서 최대 한도 도달
  • 서비스 인프라 관련 문제
  • 서비스에서 수행되는 유지 관리
  • vCores 수를 조정하거나 다른 서비스 계층으로 이동하여 서버의 컴퓨팅 할당 변경

일반적으로 Azure Database for PostgreSQL에 대한 연결 문제는 다음과 같이 분류할 수 있습니다.

  • 일시적 오류(단기 또는 일시적)
  • 영구적 또는 일시적이지 않은 오류(정기적으로 되풀이되는 오류)

일시적인 오류의 해결

유지 관리가 수행되거나 시스템에 하드웨어 또는 소프트웨어에 오류가 발생하거나 서버의 vCore 수 또는 서비스 계층을 변경할 때 일시적 오류가 발생합니다. Azure Database for PostgreSQL 서비스는 고가용성을 기본적으로 제공하며, 이러한 유형의 문제를 자동으로 완화하도록 설계되었습니다. 그러나 일반적으로 최대 60초 미만의 짧은 기간 동안 애플리케이션과 서버의 연결이 끊깁니다. 대용량 트랜잭션으로 인해 장기 실행 복구가 발생하는 경우와 같이 경우에 따라 일부 이벤트를 완화하는 데 시간이 더 걸릴 수 있습니다.

일시적인 연결 문제를 해결하는 단계

  1. Microsoft Azure 서비스 대시보드에서 애플리케이션이 오류를 보고한 시간 동안 발생한 알려진 중단을 모두 확인합니다.
  2. Azure Database for PostgreSQL과 같은 클라우드 서비스에 연결하는 애플리케이션은 일시적 오류를 예상하고, 이러한 이벤트를 사용자에게 애플리케이션 오류로 표시하는 대신 해당 오류를 처리하는 다시 시도 논리를 구현해야 합니다. 일시적 오류 처리를 위한 모범 사례 및 설계 지침은 Azure Database for PostgreSQL에 대한 일시적 연결 오류 처리를 검토하세요.
  3. 서버에서 리소스 제한에 도달하면 오류가 일시적 연결 문제로 보일 수 있습니다. Azure Database for PostgreSQL의 제한 사항을 참조하세요.
  4. 연결 문제가 계속 발생하거나 애플리케이션에서 오류가 발생하는 기간이 60초를 초과하는 경우 또는 특정일에 오류가 여러 번 발생하는 경우에는 Azure 지원 사이트에서 지원 받기를 선택하여 Azure 지원 요청을 접수합니다.

지속적인 오류의 문제 해결

애플리케이션에서 Azure Database for PostgreSQL 연결에 계속 실패하는 경우 일반적으로 다음 문제 중 하나를 나타낼 수 있습니다.

  • 서버 방화벽 구성: Azure Database for PostgreSQL 서버 방화벽이 프록시 서버 및 게이트웨이를 포함하여 클라이언트에서 연결을 허용하도록 구성되어 있는지 확인합니다.
  • 클라이언트 방화벽 구성: 클라이언트의 방화벽은 데이터베이스 서버에 연결을 허용해야 합니다. 연결할 수 없는 서버의 IP 주소와 포트는 허용되어야 하며, 일부 방화벽에서는 PostgreSQL과 같은 애플리케이션 이름이 허용되어야 합니다.
  • 사용자 오류: 연결 문자열의 서버 이름 또는 사용자 이름에 누락된 @servername 접미사와 같은 연결 매개 변수가 잘못 입력되었을 수 있습니다.
  • 서버가 ipv6 연결을 허용하도록 구성되지 않음 오류가 표시되는 경우, 기본 계층에서는 VNet 서비스 엔드포인트를 지원하지 않습니다. 기본 서버에 연결하려는 서브넷에서 Microsoft.Sql 엔드포인트를 제거해야 합니다.
  • SSL 지원이 컴파일되지 않을 때 sslmode 값 "***"가 유효하지 않음 연결 오류가 표시되는 경우 PostgreSQL 클라이언트가 SSL을 지원하지 않음을 의미합니다. 대부분의 경우, 클라이언트 쪽 libpq는 "--with-openssl" 플래그로 컴파일되지 않았습니다. SSL이 지원되는 PostgreSQL 클라이언트에 연결해 보세요.

지속적인 연결 문제를 해결하는 단계

  1. 클라이언트 IP 주소를 허용하도록 방화벽 규칙 을 설정합니다. 임시 테스트 용도로만 0.0.0.0을 시작 IP 주소로 사용하고 255.255.255.255를 끝 IP 주소로 사용하여 방화벽 규칙을 설정합니다. 이는 모든 IP 주소에 대한 서버를 엽니다. 이렇게 해서 연결 문제가 해결되면 이 규칙을 제거하고 적절하게 제한된 IP 주소 또는 주소 범위에 대해 방화벽 규칙을 만듭니다.
  2. 클라이언트와 인터넷 간의 모든 방화벽에서 아웃바운드 연결을 위해 5432 포트가 열려 있는지 확인합니다.
  3. 연결 문자열 및 기타 연결 설정을 확인합니다.
  4. 대시보드에서 Service Health를 확인합니다. 지역 가동 중단이 있다고 생각되는 경우 새 영역으로 복구하는 단계는 Azure Database for PostgreSQL의 비즈니스 연속성 개요를 참조하세요.

다음 단계