읽기 풀 정보

Cloud SQL 읽기 풀은 대규모 읽기 워크로드의 부하 분산을 지원합니다.

읽기 풀이란 무엇인가요?

읽기 풀은 대규모 읽기 워크로드를 분산하는 데 사용되는 읽기 복제본 인스턴스의 모음입니다. 이러한 워크로드를 기본 인스턴스에서 읽기 풀로 리디렉션하여 기본 인스턴스의 부하를 줄일 수 있습니다.

읽기 풀의 각 읽기 복제본을 읽기 풀 노드라고 합니다.

여러 가지 방법으로 읽기 풀을 확장할 수 있습니다.

  • 수평 축소 또는 확장: 읽기 풀에서 읽기 풀 노드 수를 수정하여 부하 분산 용량을 수평으로 확장합니다. 각 읽기 풀은 1~20개의 읽기 풀 노드를 지원합니다.
  • 수직 확장 또는 축소: 읽기 풀 노드와 연결된 머신 유형을 수정하여 부하 분산 용량을 수직으로 확장합니다. 정의된 후에는 구성이 읽기 풀의 각 읽기 풀 노드에 일관적으로 적용됩니다.

스토리지, 연결 또는 데이터베이스 구성 플래그와 같은 읽기 풀 노드 설정을 수정하면 변경사항이 읽기 풀의 각 읽기 풀 노드에 일관적으로 자동 적용됩니다.

단일 읽기 엔드포인트를 통해 읽기 풀에 액세스

읽기 풀은 변경 불가능한 IP 주소가 있는 단일 읽기 엔드포인트를 통해 액세스할 수 있습니다. 엔드포인트를 통해 이루어진 연결은 읽기 풀 노드 중 하나로 자동 리디렉션됩니다. 읽기 풀을 수평 축소 또는 수평 확장하려는 경우 읽기 풀에서 새 읽기 풀 노드를 만들거나 이전 노드를 삭제할 수 있지만 이전에 이 단일 읽기 엔드포인트에 연결된 애플리케이션을 재구성할 필요는 없습니다.

각 읽기 풀 노드에는 자체 IP 주소도 있습니다. 데이터에 액세스하는 효율적인 방법은 아니지만 이러한 IP 주소를 사용하여 개별 읽기 풀 노드의 성능 문제를 해결할 수 있습니다.

읽기 풀 또는 읽기 풀 노드(IP 주소 또는 연결 문자열)의 연결 정보를 가져오는 방법에 대한 자세한 내용은 읽기 풀 정보 보기를 참조하세요.

읽기 풀 자동 확장

애플리케이션의 변화하는 워크로드 요구사항에 맞게 자동으로 크기가 조절되도록 읽기 풀을 구성할 수 있습니다. 자세한 내용은 읽기 풀 자동 확장을 참조하세요.

읽기 풀 특성

다음과 같은 특성이 적용됩니다.

  • 읽기 풀에는 고유한 Cloud SQL 지원 API가 없습니다. 읽기 풀을 만들거나 구성하거나 보는 모든 작업은 Cloud SQL 인스턴스 API를 사용하여 수행됩니다.

    예를 들어 gcloud CLI를 사용하여 읽기 풀을 만들 때는 gcloud sql instances create 명령어를 사용합니다. 마찬가지로 읽기 풀에 구성된 읽기 풀 노드 수를 확인하려면 gcloud sql instances describe 명령어를 사용합니다.

  • 노드가 2개 이상인 읽기 풀에는 서비스수준계약(SLA)이 적용됩니다.
  • 읽기 풀의 읽기 풀 노드는 항상 사용자가 지정한 것과 동일한 리전에 있습니다. Google Cloud 는 리전 내 모든 영역에서 읽기 풀 노드 상주를 번갈아 실행합니다.
  • 기본 인스턴스에는 하나 이상의 읽기 풀이 있을 수 있습니다.
  • 다음 작업에는 1초 미만의 다운타임이 발생합니다.
    • 수평 확장 또는 축소(읽기 풀 노드 추가 또는 삭제)
    • 수직 확장 또는 축소(풀의 노드 머신 유형 변경)
    • 기존 영역 읽기 복제본을 읽기 풀로 변환
  • 읽기 풀은 읽기 복제본과 마찬가지로 기본 인스턴스보다 먼저 유지보수를 받습니다. 읽기 복제본과 마찬가지로 읽기 풀은 기본 인스턴스의 유지보수 기간에 유지보수를 받습니다.
  • 각 읽기 풀 노드에는 Cloud SQL 읽기 복제본과 동일한 측정항목이 제공됩니다.
  • gcloud 또는 Google Cloud 콘솔을 사용하여 프로젝트의 세부정보를 설명할 때는 읽기 풀 이름이 나열되지만 개별 읽기 풀 노드 이름은 나열되지 않습니다.

제한사항

다음과 같은 제한사항이 적용됩니다.

  • 읽기 풀은 새 네트워크 아키텍처의 Cloud SQL Enterprise Plus 버전 인스턴스에서만 사용할 수 있습니다. 읽기 풀과 연결된 기본 인스턴스도 Cloud SQL Enterprise Plus 버전 인스턴스여야 합니다.
  • 데이터베이스가 정상인지 여부에 따라 읽기 풀 노드에서 트래픽이 제공되지만 해당 읽기 풀 노드의 복제 지연이 얼마나 높은지는 관계없습니다. 지연되지 않은 다른 읽기 풀 노드가 있더라도 지연된 읽기 풀 노드에서 트래픽이 제공될 수 있습니다. 데이터베이스 프로세스가 실행 중이고 쿼리에 응답할 수 있으면 데이터베이스가 정상으로 간주되지만 제공되는 데이터의 최신 상태에 관한 요구사항은 없습니다.
  • 단일 논리적 세션이 읽기 풀의 여러 읽기 풀 노드에 연결된다는 보장은 없습니다. 세션의 후속 요청이 이전 요청을 처리한 읽기 풀 노드보다 복제 위치(GTID)가 낮은 읽기 풀 노드에 연결될 수 있으며, 이로 인해 데이터베이스 상태가 과거로 돌아간 것처럼 보일 수 있습니다.
  • 다음 유형의 업데이트는 지원되지 않습니다.
    • 읽기 풀은 여전히 Cloud SQL 유지보수 업데이트를 수신하지만 읽기 풀을 새로운 주 버전 및 부 버전 데이터베이스로 업데이트할 수는 없습니다.
    • 읽기 풀의 노드 시작 또는 중지
  • 읽기 복제본에서 지원되지 않는 작업 외에도 읽기 풀에서는 다음 작업이 지원되지 않습니다.
    • 복제 사용 설정 및 중지
    • 복제본 승격
    • 다시 시작
    • 가져오기
    • 내보내기
    • 장애 조치
    • 다시 암호화
    • 클론
  • 공유 CA 또는 고객 관리 CA가 있는 SSL/TLS 인증서는 읽기 풀과 함께 사용할 수 없습니다.
  • 읽기 풀은 연결된 복제본이나 다른 읽기 풀과 같은 다른 인스턴스로 복제할 수 없습니다.
  • 읽기 풀은 기본 인스턴스에서 직접 복제해야 합니다. 연결된 복제본일 수 없습니다.
  • 리전 읽기 복제본을 읽기 풀로 변환하려면 먼저 리전 읽기 복제본을 영역 읽기 복제본으로 변환해야 합니다.
  • 읽기 풀을 만들거나 확장할 때는 읽기 풀과 연결된 이전 풀 생성, 수평 축소 또는 수평 확장 작업이 완료될 때까지 기다려야 합니다. 이 제한은 동일한 기본 인스턴스와 연결된 다른 모든 읽기 풀에도 적용됩니다. 동일한 기본 인스턴스와 연결된 여러 읽기 풀을 확장하려면 첫 번째 읽기 풀과 연결된 확장 작업이 완료될 때까지 기다린 후 다음 읽기 풀 확장을 시작해야 합니다. 동시 요청을 실행하면 Operation failed because another operation was already in progress. 오류가 표시될 수 있습니다.
  • 기본 복제본과 동일한 리전에 있는 영역 복제본만 읽기 풀에서 사용하도록 변환될 수 있습니다.
  • 애플리케이션이 전용 읽기 복제본에 연결해야 하는 경우(예: 특정 읽기 복제본에 보조 색인이 있는 경우) Cloud SQL 읽기 복제본을 생성해 대신 사용합니다.

다음 단계