Datastream을 사용해 데이터를 거의 실시간으로 BigQuery에 복제

Datastream을 사용하여 소스 데이터베이스에서 BigQuery 데이터 세트로 데이터를 복제하는 방법을 알아봅니다.


Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.

둘러보기


시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  6. Datastream API 사용 설정

    API 사용 설정

  7. Datastream 관리자 역할이 사용자 계정에 할당되었는지 확인합니다.

    IAM 페이지로 이동

표준 또는 공유 VPC 네트워크에 대해 비공개 연결 구성을 만들려는 경우 추가 기본 요건을 완료해야 합니다. 자세한 내용은 비공개 연결 구성 만들기를 참조하세요.

요구사항

Datastream은 다양한 소스 옵션, 대상 옵션, 네트워킹 연결 방법을 제공합니다.

이 빠른 시작에서는 PostgreSQL용 Cloud SQL 데이터베이스에서 BigQuery로 데이터를 복제한다고 가정합니다. 소스 데이터베이스의 경우 Datastream 공개 IP 주소의 연결을 수락하도록 데이터베이스 인스턴스를 구성할 수 있어야 합니다.

여기에서는 각 사용자 환경의 세부사항을 알 수 없기 때문에 네트워킹 구성과 관련해서 세부 단계를 제공할 수 없습니다.

이 빠른 시작에서는 IP 허용 목록을 네트워크 연결 방법으로 선택합니다. IP 허용 목록은 소스 데이터베이스의 데이터 액세스를 신뢰할 수 있는 사용자로 제한하고 제어하는 데 자주 사용되는 보안 기능입니다. IP 허용 목록을 사용하면 사용자 및 Datastream과 같은 다른 클라우드 서비스에서 이 데이터에 액세스할 수 있는 신뢰할 수 있는 IP 주소 또는 IP 범위의 목록을 만들 수 있습니다. IP를 허용 목록을 사용하려면 Datastream으로부터 수신되는 연결에 대해 소스 Cloud SQL 데이터베이스를 열어야 합니다.

연결 프로필 만들기

연결 프로필을 만들어서 Datastream의 소스 및 대상에 대한 기본 정보를 저장합니다. 그런 후 이 정보를 여러 스트림에서 재사용할 수 있습니다.

이 빠른 시작에서는 소스 연결 프로필의 프로필 유형으로 PostgreSQL을 선택하고 대상 연결 프로필의 프로필 유형으로 BigQuery를 선택합니다. Datastream은 연결 프로필의 정보를 사용해서 소스 데이터베이스 및 BigQuery에 연결합니다.

PostgreSQL 데이터베이스의 소스 연결 프로필 만들기

  1. Google Cloud 콘솔에서 Datastream의 연결 프로필 페이지로 이동합니다.

    연결 프로필 페이지로 이동

  2. 프로필 만들기를 클릭합니다.

  3. PostgreSQL 데이터베이스의 소스 연결 프로필을 만들려고 하므로 연결 프로필 만들기 페이지에서 PostgreSQL 프로필 유형을 클릭합니다.

  4. PostgreSQL 프로필 만들기 페이지의 연결 설정 정의 섹션에 다음 정보를 제공합니다.

    • 소스 데이터베이스의 연결 프로필 이름으로 My Source Connection Profile을 입력합니다.
    • 자동 생성된 연결 프로필 ID를 그대로 둡니다.
    • 연결 프로필을 저장할 리전을 선택합니다.

    • 연결 세부정보를 입력합니다.

      • 호스트 이름 또는 IP 필드에 Datastream이 소스 PostgreSQL 데이터베이스에 연결하는 데 사용할 수 있는 호스트 이름 또는 공개 IP 주소를 입력합니다. 이 빠른 시작의 IP의 네트워크 연결 방법으로 IP 허용 목록이 사용되므로 공개 IP 주소를 제공합니다.
      • 포트 필드에 소스 데이터베이스용으로 예약된 포트 번호를 입력합니다. PostgreSQL 데이터베이스에서 기본 포트는 일반적으로 5432입니다.
      • 사용자 이름비밀번호를 입력하여 소스 데이터베이스에 인증을 수행합니다.
      • 데이터베이스 필드에 데이터베이스 인스턴스를 식별하는 이름을 입력합니다. PostgreSQL 데이터베이스의 경우에는 일반적으로 postgres입니다.
  5. 연결 설정 정의 섹션에서 계속을 클릭합니다. PostgreSQL 프로필 만들기 페이지의 연결 방법 정의 섹션이 활성화됩니다.

  6. 소스 데이터베이스와 Datastream 간의 연결을 설정하는 데 사용할 네트워킹 방법을 선택합니다. 이 빠른 시작에서는 연결 방법 드롭다운 메뉴를 사용해서 IP 허용 목록을 네트워킹 방법으로 선택합니다.

  7. 표시된 Datastream 공개 IP 주소의 수신 연결을 허용하도록 소스 데이터베이스를 구성합니다.

  8. 연결 방법 정의 섹션에서 계속을 클릭합니다. PostgreSQL 프로필 만들기 페이지의 연결 프로필 테스트 섹션이 활성화됩니다.

  9. 테스트 실행을 클릭하여 소스 PostgreSQL 데이터베이스 및 Datastream이 서로 통신할 수 있는지 확인합니다.

  10. '테스트 통과' 상태가 표시되는지 확인합니다.

  11. 테스트에 실패하면 흐름의 적절한 부분에서 문제를 해결한 후 다시 테스트할 수 있습니다. 문제 해결 단계는 문제 진단 페이지를 참조하세요.

  12. 만들기를 클릭합니다.

BigQuery용 대상 연결 프로필 만들기

  1. Google Cloud 콘솔에서 Datastream의 연결 프로필 페이지로 이동합니다.

    연결 프로필 페이지로 이동

  2. 프로필 만들기를 클릭합니다.

  3. BigQuery의 대상 연결 프로필을 만들려고 하므로 연결 프로필 만들기 페이지에서 BigQuery 프로필 유형을 클릭합니다.

  4. BigQuery 프로필 만들기 페이지에서 다음 정보를 제공합니다.

    • 대상 BigQuery 서비스의 연결 프로필 이름으로 My Destination Connection Profile을 입력합니다.
    • 자동 생성된 연결 프로필 ID를 그대로 둡니다.
    • 연결 프로필을 저장할 리전을 선택합니다.
  5. 만들기를 클릭합니다.

PostgreSQL 데이터베이스의 소스 연결 프로필과 BigQuery의 대상 연결 프로필을 만든 후 이를 사용하여 스트림을 만들 수 있습니다.

스트림 만들기

이 섹션에서는 소스 PostgreSQL 데이터베이스에서 BigQuery로 데이터를 복제하는 스트림을 만듭니다.

스트림 만들기에는 다음이 포함됩니다.

  • 스트림 설정을 정의합니다.
  • 소스 데이터베이스에 만든 연결 프로필(소스 연결 프로필)을 선택합니다. 이 빠른 시작에서는 내 소스 연결 프로필입니다.
  • 복제 속성과 소스 데이터베이스의 테이블 및 스키마를 지정하여 스트림의 소스 데이터베이스에 대한 정보를 구성합니다. 여기에서 Datastream은 다음과 같은 특성을 갖습니다.
    • 대상으로 데이터를 전송할 수 있습니다.
    • 대상으로 전송이 제한됩니다.
  • Datastream이 계속되는 스트림 변경사항 뿐만 아니라 이전 데이터를 대상으로 백필하거나 변경사항만 데이터로 스트리밍할지 결정합니다.
  • BigQuery에 대해 만든 연결 프로필(대상 연결 프로필)을 선택합니다. 이 빠른 시작에서는 내 대상 연결 프로필입니다.
  • BigQuery 데이터 세트 구성과 같은 스트림의 대상에 대한 구성 정보입니다.
  • 스트림을 검증합니다.

스트림 설정 정의

  1. Google Cloud 콘솔에서 Datastream의 스트림 페이지로 이동합니다.

    스트림 페이지로 이동

  2. 스트림 만들기를 클릭합니다.

  3. 스트림 만들기 페이지의 스트림 세부정보 정의 패널에 다음 정보를 제공합니다.

    • 스트림 이름My Stream을 입력합니다.
    • 자동 생성된 스트림 ID를 그대로 둡니다.
    • 리전 메뉴에서 소스 연결 프로필을 만든 리전을 선택합니다.
    • 소스 유형 메뉴에서 PostgreSQL 프로필 유형을 선택합니다.
    • 대상 유형 메뉴에서 BigQuery 프로필 유형을 선택합니다.
  4. 스트림에 맞게 환경을 준비해야 하는 방법이 자동으로 반영되도록 생성된 필수 기본 요건을 검토합니다. 이러한 기본 요건에는 소스 데이터베이스 구성 방법과 BigQuery 구성 방법이 포함됩니다.

  5. 계속을 클릭합니다. 스트림 만들기 페이지의 PostgreSQL 연결 프로필 정의 패널이 표시됩니다.

소스 연결 프로필 정보 지정

  1. 소스 연결 프로필 메뉴에서 PostgreSQL 데이터베이스에 대한 소스 연결 프로필을 선택합니다.

  2. 테스트 실행을 클릭하여 소스 데이터베이스와 Datastream이 서로 통신할 수 있는지 확인합니다.

    테스트에 실패하면 연결 프로필과 관련된 문제가 표시됩니다. 문제 해결 단계는 문제 진단 페이지를 참조하세요. 문제 해결을 위해 필요한 항목을 변경한 후 다시 테스트합니다.

  3. 계속을 클릭합니다. 스트림 만들기 페이지의 스트림 소스 구성 패널이 표시됩니다.

스트림의 소스 데이터베이스에 대한 정보 구성

  1. 소스 데이터베이스의 복제 슬롯게시 이름을 제공합니다. 복제 슬롯과 게시는 PostgreSQL 데이터베이스를 구성할 때 생성되었습니다.

  2. 포함할 객체 메뉴를 사용하여 Datastream이 BigQuery에 복제할 소스 데이터베이스의 테이블과 스키마를 지정합니다. 데이터베이스에 최대 5,000개의 객체가 있는 경우에만 메뉴가 로드됩니다.

    이 빠른 시작에서는 Datastream이 모든 테이블과 스키마를 전송하도록 합니다. 따라서 메뉴에서 모든 스키마의 모든 테이블을 선택합니다.

  3. 계속을 클릭합니다. 스트림 만들기 페이지의 BigQuery 연결 프로필 정의 패널이 표시됩니다.

대상 연결 프로필 선택

  1. 대상 연결 프로필 메뉴에서 BigQuery의 대상 연결 프로필을 선택합니다.

  2. 계속을 클릭합니다. 스트림 만들기 페이지의 스트림 대상 구성 패널이 표시됩니다.

스트림의 대상 정보 구성

  1. Datastream이 BigQuery에 소스 데이터베이스의 모든 스키마에 대한 데이터 세트를 자동으로 만들 수 있도록 각 스키마를 위한 데이터 세트 옵션을 선택합니다.

  2. BigQuery에서 데이터 세트를 만들 위치를 선택합니다. 이 위치가 Datastream 스트림이 생성된 리전과 동일할 필요는 없습니다.

  3. 프리픽스quickstart-로 설정합니다. Datastream은 BigQuery에서 만드는 모든 데이터 세트의 시작 부분에 이 문자열을 추가합니다.

  4. 데이터 비활성 한도 지정 드롭다운 목록의 값을 15분으로 설정한 상태로 둡니다. BigQuery는 이 값을 사용해서 쿼리 시 데이터의 비활성 상태를 결정합니다.

  5. 계속을 클릭합니다. 스트림 만들기 페이지의 스트림 세부정보 검토 및 만들기 패널이 표시됩니다.

스트림 만들기

  1. 스트림은 물론 스트림이 소스 PostgreSQL 데이터베이스에서 BigQuery로 데이터를 전송하기 위해 사용하는 소스 및 대상 연결 프로필에 대한 세부정보를 확인합니다.

  2. 검증 실행을 클릭하여 스트림을 검증합니다. Datastream은 스트림을 검증하여 소스가 올바르게 구성되었는지 확인하고, 스트림이 소스 및 대상 모두에 연결할 수 있는지 확인하고, 스트림의 엔드 투 엔드 구성을 확인합니다.

  3. 모든 검증 확인에 통과하면 만들기를 클릭합니다.

  4. 스트림 만들기 대화상자에서 만들기를 클릭합니다.

스트림 시작

빠른 시작의 이전 섹션에서 스트림을 만들었지만 이를 시작하지는 않았습니다. 이제 이를 수행할 수 있습니다.

이 빠른 시작에서는 스트림 생성 프로세스로 인해 소스 데이터베이스에서 부하가 증가하는 경우를 대비하여 스트림을 별도로 만들고 시작합니다. 이러한 부하를 막으려면 스트림을 만들 때 시작하지 않고 부하가 발생해도 괜찮을 때 스트림을 시작합니다.

스트림을 시작하면 Datastream이 소스 데이터베이스에서 대상으로 데이터, 스키마, 테이블을 전송할 수 있습니다.

  1. Google Cloud 콘솔에서 Datastream의 스트림 페이지로 이동합니다.

    스트림 페이지로 이동

  2. 시작하려는 스트림 왼쪽의 체크박스를 선택합니다. 이 빠른 시작에서는 내 스트림입니다.

  3. 시작을 클릭합니다.

  4. 대화상자에서 시작을 클릭합니다. 스트림 상태가 Not started에서 Starting, Running으로 변경됩니다.

    스트림을 시작한 후 Datastream이 소스 데이터베이스에서 대상으로 데이터를 전송했는지 확인할 수 있습니다.

스트림 검증

이 섹션에서는 Datastream이 소스 PostgreSQL 데이터베이스의 모든 테이블에서 BigQuery로 데이터를 전송하는지 확인합니다.

  1. Google Cloud 콘솔에서 Datastream의 스트림 페이지로 이동합니다.

    스트림 페이지로 이동

  2. 생성된 스트림을 클릭합니다. 이 빠른 시작에서는 내 스트림입니다.

  3. 스트림 세부정보 페이지에서 대상 쓰기 경로 필드 아래에 표시된 링크를 클릭합니다. 별도의 탭에서 BigQuery Studio가 열립니다.

  4. 소스 PostgreSQL 데이터베이스의 스키마와 테이블을 나타내는 데이터 세트와 테이블이 표시되는지 확인합니다.

  5. 테이블 중 하나를 클릭하여 데이터 미리보기를 확인합니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔을 사용해서 프로젝트, Datastream 스트림과 연결 프로필, BigQuery 데이터 세트를 삭제합니다.

Datastream에서 만든 리소스를 삭제하면 할당량을 차지하지 않고 이후에 요금이 청구되지 않습니다. 다음 섹션에서는 이러한 리소스를 삭제 또는 해제하는 방법을 설명합니다.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 빠른 시작에서 만든 프로젝트를 삭제하는 것입니다.

  1. Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.

  3. 대화상자에서 프로젝트 ID를 입력하고 종료를 클릭하여 프로젝트를 삭제합니다.

스트림 삭제

  1. Google Cloud 콘솔에서 Datastream의 스트림 페이지로 이동합니다.

    스트림 페이지로 이동

  2. 삭제하려는 스트림을 클릭합니다. 이 빠른 시작에서는 내 스트림입니다.

  3. 일시중지를 클릭합니다.

  4. 대화상자에서 일시중지를 클릭합니다.

  5. 스트림 세부정보 페이지의 스트림 상태 창에서 스트림 상태가 Paused인지 확인합니다.

  6. 삭제를 클릭합니다.

  7. 대화상자에서 텍스트 필드에 Delete를 입력한 후 삭제를 클릭합니다.

연결 프로필 삭제

  1. Google Cloud 콘솔에서 Datastream의 연결 프로필 페이지로 이동합니다.

    연결 프로필 페이지로 이동

  2. 삭제하려는 각 연결 프로필의 체크박스를 선택합니다. 이 빠른 시작에서는 내 소스 연결 프로필내 대상 연결 프로필의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. 대화상자에서 삭제를 클릭합니다.

BigQuery 데이터 세트 삭제

  1. Google Cloud 콘솔에서 BigQuery Studio 페이지로 이동합니다.

    BigQuery Studio로 이동

  2. 이 빠른 시작을 만든 프로젝트 노드를 확장합니다.

  3. 삭제하려는 각 데이터 세트에 대해 작업 보기 메뉴를 클릭한 후 삭제를 클릭합니다.

  4. 대화상자에서 텍스트 필드에 delete를 입력한 후 삭제를 클릭합니다.

다음 단계