이 페이지에서는 자동 설정 흐름을 사용하여 스트림을 만드는 방법을 설명합니다.
자동 스트림 설정을 사용하면 실행해야 하는 단계 수를 줄여 PostgreSQL용 Cloud SQL 관리 데이터베이스에서 BigQuery로 데이터를 이동하는 프로세스가 간소화됩니다. 이 흐름을 사용하면 PostgreSQL용 Cloud SQL 인스턴스의 개요 페이지에서 직접 스트림을 만들 수 있습니다. Datastream은 스트림과 소스 데이터베이스 간의 VPC 연결을 안전하게 보호하고 데이터베이스 구성과 스트림 연결 리소스를 만듭니다.
시작하기 전에
- Datastream, Network Connectivity, Compute Engine API를 사용 설정합니다.
- Datastream 리소스를 만들고 관리하는 데 필요한 Identity and Access Management (IAM) 권한이 있는지 확인합니다. 자세한 내용은 다음 섹션을 참고하세요.
- 복제를 위해 소스 PostgreSQL용 Cloud SQL 데이터베이스를 만들고 구성합니다. 자세한 내용은 CDC용 PostgreSQL용 Cloud SQL 데이터베이스 구성을 참고하세요.
스트림을 만들기 전에 인스턴스에 논리적 복제를 사용 설정하는 것이 좋습니다. 논리 복제를 사용 설정하지 않으면 Datastream에서 논리 복제를 사용 설정하여 소스 인스턴스를 다시 시작합니다.
PostgreSQL용 Cloud SQL 인스턴스에 논리적 복제를 사용 설정하는 방법은 CDC용 PostgreSQL용 Cloud SQL 데이터베이스 구성을 참고하세요.
소스 데이터베이스가 비공개 서비스 액세스를 사용하도록 구성되어 있는지 확인합니다.
필수 권한
자동 스트림 생성 흐름을 사용하려면 다음 Identity and Access Management (IAM) 역할 또는 권한이 필요합니다.
- 필요한 API를 사용 설정하고 네트워크 구성 작업을 실행하는
serviceusage.services.enable,compute.networkAdmin cloudsql.admin를 사용하여 인스턴스 구성 작업을 실행합니다.datastream.admin은 Datastream이 사용자를 대신하여 실행하는 관리 작업에 사용됩니다.
데이터베이스 관리자 사용자에게 복제하려는 스키마에 대한 GRANT 권한도 필요합니다. 소스 데이터베이스에 연결하고 다음을 실행합니다.
GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE; GRANT SELECT on ALL TABLES IN SCHEMA "SCHEMA_NAME" to"USER_NAME" WITH GRANT OPTION; ALTER DEFAULT PRIVILEGES IN SCHEMA "SCHEMA_NAME" GRANT SELECT ON TABLES TO "USER_NAME" WITH GRANT OPTION;
스트림 만들기 및 시작
스트림을 만들고 시작하려면 다음 단계를 따르세요.
콘솔
시작하기
소스 PostgreSQL용 Cloud SQL 데이터베이스 인스턴스 개요 페이지로 이동합니다.
BigQuery로 데이터 스트리밍 섹션에서 스트림 만들기를 클릭합니다.
시작하기 페이지의 스트림 이름 필드에 스트림 이름을 입력합니다. 고유 식별자가 자동으로 채워집니다.
인스턴스 사용자 계정 세부정보 제공 섹션에서 인증 방법을 선택합니다.
IAM 데이터베이스 인증: 사용자에게 Identity and Access Management (IAM) 보안 주체 ID가 할당된 경우 이 옵션을 사용할 수 있습니다. 자세한 내용은 IAM 주 구성원을 참고하세요. 이 옵션을 선택하는 경우 사용자에게
cloudsqlsuperuser역할과CREATEROLE권한을 수동으로 부여해야 합니다.- Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- Cloud SQL 인스턴스를 선택합니다.
- 탐색 메뉴에서 Cloud SQL Studio를 클릭하고 로그인합니다.
- 탐색기 창에서 사용자에 대해 다음 쿼리를 실행합니다.
GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 기본 제공 데이터베이스 인증:
cloudsqlsuperuser역할이 있는 사용자의 사용자 이름과 비밀번호를 제공합니다. 이 옵션을 선택하는 경우 사용자가 복제하려는 테이블에GRANT권한이 있는지 확인하세요.
지역, 암호화, 라벨과 같은 추가 스트림 세부정보를 검토합니다. 필요한 경우 추가 스트림 세부정보 섹션을 펼쳐 변경사항을 적용합니다.
계속을 클릭합니다.
소스 구성
- 스트림 소스 구성 페이지에서 데이터를 복제할 데이터베이스를 선택합니다.
- 포함할 객체 목록은 기본적으로 사용 가능한 모든 객체를 선택합니다. 목록에 표시된 객체는 스트리밍에 필요한 권한이 있는 객체입니다. 선택한 객체를 변경하려면 목록에서 선택사항을 수정합니다.
- 백필 모드 및 최대 동시 백필 연결 수와 같은 고급 스트림 구성을 검토합니다. 필요한 경우 고급 스트림 구성 섹션을 펼쳐 변경사항을 적용합니다.
- 계속을 클릭합니다.
대상 위치 구성
- 대상 구성 페이지에서 필요한 경우 BigQuery 대상 설정을 조정합니다. 자세한 내용은 스트림의 대상에 대한 정보 구성을 참고하세요.
스트림 만들기 및 시작
만들고 나중에 시작을 클릭하여 스트림을 만들고 나중에 Datastream에서 시작하거나 시작을 클릭하여 스트림을 즉시 만들고 시작합니다.
나를 위해 자동으로 실행되는 작업에 관한 알림이 전송됩니다.
- Datastream은 내부 IP 주소 범위, 서브네트워크, 네트워크 연결과 같은 필수 Virtual Private Cloud 리소스를 만듭니다.
- Datastream은 CDC용 테이블을 구성하고, 복제 슬롯을 설정하고, 데이터베이스의 모든 테이블에 대한 게시를 설정하고, 전용 Datastream 사용자를 만듭니다.
- Datastream이 비공개 연결 구성과 소스 및 대상 연결 프로필을 만듭니다.
스트림을 만들거나 만들고 시작할 것인지 확인합니다.
스트림 모니터링
Google Cloud 콘솔의 소스 인스턴스 개요 페이지에서 기본 스트림 세부정보를 모니터링할 수 있습니다. 이 페이지에는 스트림 상태, 스트림 이름, 대상 BigQuery 데이터 세트, 대상 프로젝트 식별자와 같은 정보가 표시됩니다.
개요 페이지에서 스트림 시작, 중지, 일시중지와 같은 작업을 실행할 수도 있습니다. 더 세부적인 모니터링 정보를 보려면 스트림 이름을 클릭하여 Datastream으로 이동하세요.
스트림 삭제
자동화된 흐름을 사용하여 만든 스트림을 삭제하면 PostgreSQL 복제 슬롯과 같은 일부 리소스가 자동으로 삭제됩니다. 하지만 수동으로 삭제해야 하는 리소스가 있습니다.
- 간행물입니다. 게시물은 데이터베이스 관리자 사용자를 사용하여 생성되며 소유자(기본적으로 게시물을 생성한 사용자)만 삭제할 수 있습니다.
- Datastream 리더 사용자입니다.
- Datastream 소스 및 대상 연결 프로필
- 비공개 연결 리소스입니다.
- 자동화된 흐름 중에 생성된 모든 네트워크 리소스(예: 서브넷 및 네트워크 연결)
다음 단계
- 수동으로 스트림을 만드는 방법 알아보기
- 스트림을 모니터링하는 방법을 자세히 알아보세요.