PostgreSQL 데이터베이스에서 읽기

이 가이드에서는 PostgreSQL 데이터베이스에서 데이터를 읽는 방법을 설명합니다.

시작하기 전에

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

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. Cloud Data Fusion, Cloud Storage, BigQuery, and Cloud Dataproc API를 사용 설정합니다.

    API 사용 설정

  5. Cloud Data Fusion 인스턴스를 만듭니다.
  6. PostgreSQL 데이터베이스가 Cloud Data Fusion에서의 연결을 허용할 수 있는지 확인합니다. 이를 안전하게 수행하려면 비공개 Cloud Data Fusion 인스턴스를 만드는 것이 좋습니다.

Cloud Data Fusion을 사용할 때는 Cloud Console과 별도의 Cloud Data Fusion UI를 모두 사용합니다. Cloud Console에서는 Google Cloud 프로젝트를 만들고 Cloud Data Fusion 인스턴스를 만들고 삭제할 수 있습니다. Cloud Data Fusion UI에서는 스튜디오 또는 랭글러와 같은 다양한 페이지를 통해 Cloud Data Fusion 기능을 사용할 수 있습니다.

  1. Cloud Console에서 인스턴스 페이지를 엽니다.

    인스턴스 페이지 열기

  2. 인스턴스의 작업 열에서 인스턴스 보기 링크를 클릭합니다.

  3. Cloud Data Fusion UI에서 왼쪽 탐색 패널을 사용하여 필요한 페이지로 이동합니다.

PostgreSQL 비밀번호를 보안 키로 저장

PostgreSQL 비밀번호를 보안 키로 추가하여 Cloud Data Fusion 인스턴스에서 암호화합니다. 이 가이드의 뒷부분에서 비밀번호가 Cloud KMS를 통해 검색되도록 합니다.

  1. Cloud Data Fusion 페이지의 오른쪽 상단 모서리에서 시스템 관리자를 클릭합니다.

  2. 구성 탭을 클릭합니다.

  3. HTTP 호출을 클릭합니다.

    구성

  4. 드롭다운 메뉴에서 PUT을 선택합니다.

  5. 경로 필드에 namespaces/default/securekeys/pg_password를 입력합니다.

  6. 본문 필드에 {"data":"your_password"}를 입력합니다. your_password를 PostgreSQL 비밀번호로 바꿉니다.

  7. 보내기를 클릭합니다.

    비밀번호

응답이 상태 코드 200인지 확인합니다.

Cloud SQL PostgreSQL용 JDBC 드라이버 가져오기

Cloud SQL에서는 JDBC 드라이버에 소켓 팩토리 라이브러리를 사용해야 하기 때문에 GitHub의 Cloud SQL 소켓 팩토리 저장소에서 JDBC 드라이버를 빌드합니다. 또한 GitHub의 Cloud SQL 소켓 팩토리 저장소 출시 페이지에서 JDBC 드라이버를 다운로드할 수 있습니다.

PostgreSQL용 Cloud SQL에 연결

  1. Cloud Data Fusion UI에서 메뉴 를 클릭하고 랭글러 페이지로 이동합니다.

  2. 화면 왼쪽 하단 모서리에서 연결 추가를 클릭합니다.

  3. 연결할 소스 유형으로 데이터베이스를 선택합니다.

    연결 추가

  4. PostgreSQL용 Google Cloud SQL에서 업로드 링크를 클릭합니다.

    소스 선택

  5. PostgreSQL 드라이버가 포함된 JAR 파일을 업로드합니다. JAR 파일은 name-version.jar 형식이어야 합니다. JAR 파일 형식이 이 형식이 아니면 업로드하기 전에 이름을 바꿉니다.

  6. 다음을 클릭합니다.

  7. 드라이버 이름, 클래스 이름, 버전을 입력합니다.

  8. 마침을 클릭합니다.

  9. 연결 추가 창이 열리면 PostgreSQL용 Google Cloud SQL을 클릭합니다. JAR 이름이 PostgreSQL용 Google Cloud SQL 아래에 표시됩니다.

    JAR이 업로드되었습니다.

  10. 필수 연결 필드를 작성합니다. 비밀번호 필드에서 이전에 저장한 보안 키를 선택합니다. 이렇게 하면 비밀번호가 Cloud KMS를 통해 검색됩니다.

    비밀번호 선택

  11. 연결 문자열 필드에서 연결 문자열을 다음과 같이 입력합니다.

    jdbc:postgresql://google/database_name?cloudSqlInstance=instance_conn_name&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

    다음을 바꿉니다.

    • database_name: 인스턴스 세부정보 페이지의 데이터베이스 탭에 나열된 Cloud SQL 데이터베이스 이름입니다.
    • instance_conn_name: 인스턴스 세부정보 페이지의 개요 탭에 표시된 Cloud SQL 인스턴스 연결 이름입니다.
    인스턴스 연결 이름입니다.

    예를 들면 다음과 같습니다.

    jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

  12. Cloud SQL Admin API를 사용 설정합니다.

  13. 다음 IAM 역할을 service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com 서비스 계정에 부여합니다.

    • Cloud SQL 관리자
    • Cloud Data Fusion 관리자
    • Cloud Data Fusion API 서비스 에이전트
  14. 연결 테스트를 클릭하여 연결이 데이터베이스와 설정되었는지 확인합니다.

  15. 연결 추가를 클릭합니다.

PostgreSQL 데이터베이스가 연결되면 (랭글러에서) 데이터에 변환을 적용하고 파이프라인을 만든 후 (스튜디오에서) 출력을 싱크에 씁니다.

다음 단계