메인 콘텐츠로 건너뛰기

지원되는 Postgres 버전

ClickPipes는 Aurora PostgreSQL 호환 에디션 12 이상을 지원합니다.

논리적 복제 활성화

Aurora 인스턴스에 다음 설정이 이미 구성되어 있으면 이 섹션은 건너뛰어도 됩니다.
  • rds.logical_replication = 1
이전에 다른 데이터 복제 도구를 사용한 적이 있다면, 이 설정은 일반적으로 미리 구성되어 있습니다.
postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)
아직 구성하지 않았다면 다음 단계를 따르십시오:
  1. 필요한 설정이 포함된, 사용 중인 Aurora PostgreSQL 버전에 맞는 새 파라미터 그룹을 생성합니다:
    • rds.logical_replication을 1로 설정합니다
  1. 새 파라미터 그룹을 Aurora PostgreSQL 클러스터에 적용합니다
  1. 변경 사항을 적용하기 위해 Aurora 클러스터를 재부팅합니다

데이터베이스 사용자 구성

관리자 권한 사용자로 Aurora PostgreSQL writer 인스턴스에 연결한 다음, 다음 명령을 실행합니다:
  1. ClickPipes 전용 사용자를 생성합니다:
    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. 이전 단계에서 생성한 사용자에게 스키마 수준의 읽기 전용 권한을 부여합니다. 다음 예시는 public 스키마에 대한 권한을 보여줍니다. 복제할 테이블이 포함된 각 스키마에 대해 이 명령을 반복하십시오:
    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
    
  3. 사용자에게 복제 권한을 부여합니다:
    GRANT rds_replication TO clickpipes_user;
    
  4. 복제할 테이블을 포함하는 publication을 생성합니다. 성능 오버헤드를 피하려면 publication에는 꼭 필요한 테이블만 포함할 것을 강력히 권장합니다.
publication에 포함되는 모든 테이블에는 기본 키(primary key) 가 정의되어 있거나, 레플리카 아이덴티티(replica identity)FULL로 구성되어 있어야 합니다. 범위를 어떻게 정해야 하는지에 대한 지침은 Postgres FAQs를 참조하십시오.
  • 특정 테이블에 대한 publication을 생성하려면:
    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    
    • 특정 스키마의 모든 테이블에 대한 publication을 생성하려면:
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
clickpipes publication에는 지정된 테이블에서 생성된 변경 이벤트 집합이 포함되며, 이후 복제 스트림을 수집하는 데 사용됩니다.

네트워크 액세스 설정

IP 기반 접근 제어

Aurora 클러스터로의 트래픽을 제한하려면 문서에 안내된 정적 NAT IP 주소를 Aurora 보안 그룹의 Inbound rules에 추가하십시오. 프라이빗 네트워크를 통해 Aurora 클러스터에 연결하려면 AWS PrivateLink를 사용할 수 있습니다. 연결을 설정하려면 ClickPipes용 AWS PrivateLink 설정 가이드를 따르십시오.

Aurora 관련 고려 사항

Aurora PostgreSQL에서 ClickPipes를 설정할 때는 다음 사항을 유의하십시오.
  1. 연결 엔드포인트: 논리적 복제에서는 replication slot을 생성하려면 쓰기 권한이 필요하며 프라이머리 인스턴스에 연결해야 하므로, 항상 Aurora 클러스터의 writer 엔드포인트에 연결하십시오.
  2. 장애 조치 처리: 장애 조치가 발생하면 Aurora는 reader를 새 writer로 자동 승격합니다. ClickPipes는 연결이 끊어진 것을 감지하고 writer 엔드포인트에 다시 연결을 시도하며, 이 엔드포인트는 이제 새 프라이머리 인스턴스를 가리키게 됩니다.
  3. Global Database: Aurora Global Database를 사용하는 경우, 리전 간 복제가 이미 리전 간 데이터 이동을 처리하므로 프라이머리 리전의 writer 엔드포인트에 연결해야 합니다.
  4. 스토리지 관련 고려 사항: Aurora의 스토리지 계층은 클러스터의 모든 인스턴스에서 공유되므로, 표준 RDS보다 논리적 복제 성능이 더 좋을 수 있습니다.

동적 클러스터 엔드포인트 처리하기

Aurora는 적절한 인스턴스로 자동 라우팅되는 안정적인 엔드포인트를 제공하지만, 일관된 연결을 보장하기 위한 추가적인 방법은 다음과 같습니다.
  1. 고가용성 구성에서는 애플리케이션이 Aurora writer 엔드포인트를 사용하도록 구성하세요. 이 엔드포인트는 현재 프라이머리 인스턴스를 자동으로 가리킵니다.
  2. 리전 간 복제를 사용하는 경우, 지연 시간을 줄이고 장애 허용을 높이기 위해 각 리전별로 별도의 ClickPipes를 설정하는 것을 고려하세요.

다음 단계

이제 ClickPipe를 생성하고 Aurora PostgreSQL 클러스터에서 ClickHouse Cloud로 데이터 수집을 시작할 수 있습니다. ClickPipe 생성 과정에서 필요하므로 Aurora PostgreSQL 클러스터를 설정할 때 사용한 연결 정보(connection details)를 반드시 기록해 두십시오.
마지막 수정일 2026년 6월 10일