클라비요 고급 데이터 플랫폼은 Klaviyo의 표준 마케팅 애플리케이션에 포함되어 있지 않으며, 관련 기능에 액세스하려면 구독이 필요합니다. 이 요금제를 구매하는 방법을 알아보려면 결제 가이드를 참조하세요.

스크린샷 2025-11-09 at 12.41.47 PM.png
개요

개요

이 가이드는 Redshift 관리자가 Klaviyo 에 대한 Amazon Redshift 준비, 필요한 최소 액세스 권한 부여, 일정에 따라 프로필 데이터를 가져올 수 있도록 연결을 완료하는 과정을 안내합니다. 방법을 배우게 됩니다:

  1. KLAVIYO_TMPKLAVIYO_IMPORT_FROM_DWH 스키마 생성
  2. 다음에 대한 전용 서비스 사용자 만들기 Klaviyo
  3. 최소 권한 권한 부여
  4. (선택 사항) 권한 및 연결 유효성 검사
  5. Redshift를 Klaviyo 에 연결하고 동기화 만들기 시작하기

지원되는 개체 및 테이블 구조에 대한 모범 사례를 포함하여 데이터 웨어하우스 가져오기 작동 방식에 대한 배경 지식은 Klaviyo에서 데이터 웨어하우스 가져오기 이해를 참조하세요.

필수 스키마 만들기

필수 스키마 만들기

Redshift가 Klaviyo 에 사용할 데이터베이스에 두 개의 스키마를 생성합니다:

-- Redshift DB 관리자 또는 역할로 실행 CREATE SCHEMA
CREATE SCHEMA IF NOT EXISTS klaviyo_import_from_dwh;
CREATE SCHEMA IF NOT EXISTS klaviyo_tmp;
  • KLAVIYO_IMPORT_FROM_DWH - 동기화할 준비가 완료된 최종 테이블 또는 뷰를 여기에 배치합니다. 설정하는 동안 Klaviyo 에서 이 스키마의 개체를 나열하여 선택할 수 있으므로 가져오려는 테이블만 포함하세요.
  • KLAVIYO_TMP - 동기화 작업 중 임시/준비 테이블을 위해 Klaviyo 에서 독점적으로 사용합니다. Klaviyo 에서 이 스키마를 자동으로 관리하고 정리하므로 여기서 데이터를 수정하지 마세요.
Klaviyo 서비스 사용자 만들기

Klaviyo 서비스 사용자 만들기

독립적으로 교체할 수 있는 강력한 비밀번호를 사용하여 Klaviyo 전용 데이터베이스 사용자를 만듭니다.

-- 자신의 이름과 강력한 비밀번호로 바꾸기
CREATE USER klaviyo_data_transfer_user WITH PASSWORD 'REPLACE_WITH_STRONG_PASSWORD';

서비스 사용자의 보조금을 관리할 역할을 만듭니다:

CREATE ROLE klaviyo_data_transfer_role;
GRANT ROLE klaviyo_data_transfer_role TO klaviyo_data_transfer_user;

사용자 이름과 비밀번호를 안전하게 보관하세요. Klaviyo를 Redshift에 연결할 때 사용하게 됩니다.

필요한 권한 부여(최소 권한)

필요한 권한 부여(최소 권한)

-- 1) 임시 테이블 허용
GRANT TEMPORARY ON DATABASE your_database TO ROLE klaviyo_data_transfer_role;

-- 2) 스테이징 스키마에 대한 권한 Klaviyo 관리
GRANT USAGE ON SCHEMA klaviyo_tmp TO ROLE klaviyo_data_transfer_role;
GRANT CREATE ON SCHEMA klaviyo_tmp TO ROLE klaviyo_data_transfer_role;

-- 3) 가져오기 스키마에 대한 읽기 전용 액세스 권한 부여
GRANT USAGE ON SCHEMA klaviyo_import_from_dwh TO ROLE klaviyo_data_transfer_role;
GRANT SELECT ON ALL TABLES IN SCHEMA klaviyo_import_from_dwh TO ROLE klaviyo_data_transfer_role;
-- 향후 새 테이블에 대한 액세스 권한을 부여하는 것을 잊지 마세요

-- 3a) 특정 뷰에 SELECT 권한을 부여합니다(필요에 따라 반복)
GRANT SELECT ON VIEW klaviyo_import_from_dwh.예제_보기_이름 TO 역할 klaviyo_data_transfer_role;
(선택 사항) 설정 확인

(선택 사항) 설정 확인

Klaviyo 사용자로 몇 가지 간단한 검사를 실행하여 보조금이 올바른지 확인합니다.

-- 대상 데이터베이스로 전환
SET search_path TO klaviyo_tmp;

-- 4.1 KLAVIYO_TMP에서 생성/읽기 검증
CREATE TABLE IF NOT EXISTS permission_check (id INT);
INSERT INTO permission_check VALUES (1);
SELECT COUNT(*) FROM permission_check; -- 예상 1
DROP TABLE permission_check;

-- 4.2 가져오기 테이블의 가시성 확인
SET search_path TO klaviyo_import_from_dwh;
SELECT tablename FROM pg_table_def
WHERE schemaname = 'klaviyo_import_from_dwh'
LIMIT 25;

-- 4.3 소스 테이블에서 SELECT 확인 또는 조회
SELECT * FROM klaviyo_import_from_dwh.EXAMPLE_TABLE;
네트워크 액세스

네트워크 액세스

Klaviyo 가 Redshift 엔드포인트에 도달할 수 있어야 합니다.

  • 공용 Redshift 엔드포인트: 허용 목록 Klaviyo의 방화벽 또는 보안 그룹에 있는 고정 IP.
  • 비공개 엔드포인트(예: PrivateLink): 내부 네트워크 경로 및 보안 정책을 통해 연결성을 보장합니다.

보안 그룹을 사용하는 경우, Klaviyo의 IP 범위에 대해 Redshift 포트(기본값 5439)에서 인바운드 액세스를 허용하세요:

184.72.183.187/32
52.206.71.52/32
3.227.146.32/32
44.198.39.11/32
35.172.58.121/32
3.228.37.244/32
54.88.219.8/32
3.214.211.176/32
가져오기 테이블 준비(구조 & performance)

가져오기 테이블 준비(구조 & performance)

정확하고 효율적인 증분 동기화를 위해 가져오려는 모든 테이블이 이러한 규칙을 따르는지 확인하세요:

  • 타임스탬프 열입니다: 행별 생성 또는 마지막 업데이트 타임스탬프(예: 삽입된_일, 업데이트된_일, 수정된_일)를 포함합니다.
  • 단조로운 업데이트: 행이 변경될 때마다 타임스탬프가 증가해야 합니다.
  • 표준 시간대: 표준 시간대: UTC를 사용하거나 표준 시간대 정보를 포함합니다. 누락된 경우 Klaviyo 는 UTC로 가정합니다.
  • 일관된 식별자: 가져오기 테이블에서 동일한 프로필 식별자(이메일, 전화, external_id 등)를 사용하여 중복을 방지하세요.
  • 동의 형식: 동의 데이터를 동기화할 때는 파일 또는 SFTP 업로드에 사용된 것과 동일한 유효한 값/형식을 따르세요.
  • 성능: 효율적인 증분 읽기를 위해 타임스탬프 열의 정렬 또는 dist 키를 고려하세요.
  • 뷰: 테이블 또는 뷰에서 가져오기: Klaviyo 사용자에 대해 간단한 SELECT가 작동하는 한 테이블 또는 뷰에서 가져올 수 있습니다.
Redshift를 다음에 연결 Klaviyo

Redshift를 다음에 연결 Klaviyo

  1. Klaviyo 에서 왼쪽 사이드바를 열고 고급 → 동기화로 이동합니다.
  2. 동기화 생성을 클릭합니다.
  3. 데이터 웨어하우스에서 데이터 가져오기를 선택합니다.
  4. Redshift를 선택합니다.
  5. Redshift에 연결을 클릭하고 다음 연결 세부 정보를 입력합니다:
필드설명
호스트Redshift 엔드포인트( 예: example-cluster.abc123.us-east-1.redshift.amazonaws.com)
포트5439(또는 사용자 지정 포트)
데이터베이스 klaviyo_tmpklaviyo_import_from_dwh가포함된 데이터베이스
사용자 이름/비밀번호Klaviyo 서비스 사용자 자격 증명

연결하면 Klaviyo 에서 자격 증명과 네트워크 연결을 테스트합니다. 확인이 완료되면 동기화를 생성하고 klaviyo_import_from_dwh에서 테이블 또는 뷰를 선택할 수 있습니다.

문제 해결 팁

문제 해결 팁

연결 테스트 실패

  • 방화벽 또는 보안 그룹 규칙이 Klaviyo의 IP가 올바른 포트에서 Redshift 엔드포인트에 도달할 수 있도록 허용하는지 확인합니다.
  • SSL 설정과 올바른 엔드포인트(클러스터 대 워크그룹), 지역 및 포트를 사용하고 있는지 확인합니다.

테이블이 표시되지 않음

  • 테이블이 klaviyo_import_from_dwh에 있는지 확인합니다.
  • Klaviyo 사용자에게 스키마에 USAGE가 있고 테이블 또는 뷰에 SELECT가 있는지 확인합니다.

새 행 동기화 없음

  • 행 변경 시 타임스탬프 열이 업데이트되고 UTC를 사용하거나 표준 시간대 정보를 포함하는지 확인합니다.

런타임 시 권한 오류

  • Klaviyo 사용자로 유효성 검사 SQL을 다시 실행합니다.
  • 필요한 경우 부여 또는 기본 권한을 다시 적용합니다.
보안 및 유지 관리

보안 및 유지 관리

  • 서비스 사용자 비밀번호는 정기적으로 그리고 직원이 바뀔 때마다 교체하세요.
  • Klaviyo 사용자를 위의 두 스키마로 제한하고 필요한 경우에만 사용 권한을 부여하세요.
  • 정확한 GRANT 문과 허용 목록에 포함된 IP 범위를 문서화한 간단한 런북을 보관하세요.
자주 묻는 질문

자주 묻는 질문

여러 Redshift 데이터베이스에서 가져올 수 있나요?
예, 그렇습니다. 각 데이터베이스에 두 개의 스키마를 만들고 각 데이터베이스의 개체를 별도의 동기화로 연결합니다.

구체화된 뷰를 사용할 수 있나요?
예, 그렇습니다. 구체화된 보기에서 SELECT를 Klaviyo 사용자에게 부여합니다.

부록: 간단한 가져오기 테이블에 대한 DDL 예제

부록: 간단한 가져오기 테이블에 대한 DDL 예제

CREATE TABLE klaviyo_import_from_dwh.profile_base (
 external_id VARCHAR(128),
 email VARCHAR(320),
 phone VARCHAR(32),
 first_name VARCHAR(128),
 last_name VARCHAR(128),
 country VARCHAR(64),
 inserted_at TIMESTAMP
);

-- 삽입/업데이트 시 단조롭게 증가하는 타임스탬프 보장
-- (ETL/ELT를 사용하여 로드 시 삽입_at = GETDATE() 설정)
이 도움말 문서가 유용했나요?
이 형식은 도움말 문서 피드백 용도로만 사용하세요. 지원 팀에 문의하는 방법.

Klaviyo에서 자세히 살펴보기

커뮤니티
동료, 파트너, Klaviyo 전문가와 연결되어 영감을 받고 인사이트를 공유하며, 모든 궁금한 사항에 대해 답을 얻으세요.
파트너
특정 작업을 도와주거나 지속적인 마케팅 관리를 위해 Klaviyo 인증 전문가를 고용하세요.
지원

계정을 통해 지원에 액세스하세요.

이메일 지원 (무료 체험 및 유료 계정) 연중무휴 24시간 사용 가능

채팅/가상 비서
사용 가능 여부는 위치 및 요금제 유형에 따라 다름