연결 관리
이 문서에서는 BigQuery 연결을 확인, 나열, 공유, 수정, 삭제하고 문제를 해결하는 방법을 설명합니다.
BigQuery 관리자는 서비스 및 외부 데이터 소스에 연결하는 데 사용되는 연결을 만들고 관리할 수 있습니다. BigQuery 분석가는 BigQuery로 데이터를 이동하거나 복사하지 않고도 이러한 연결을 사용하여 외부 데이터 소스에 대해 쿼리를 제출할 수 있습니다. 만들 수 있는 연결 유형은 다음과 같습니다.
- Amazon S3 연결
- Apache Spark 연결
- Blob Storage 연결
- Cloud Storage 데이터에 연결하고 원격 함수를 구현하기 위한 Cloud 리소스 연결
- Spanner 연결
- Cloud SQL 연결
- AlloyDB 연결
시작하기 전에
BigQuery Connection API 사용 설정하기
프로젝트의 서비스 계정 목록을 볼 수 있는지 확인합니다. BigQuery는 서비스 계정을 만들고 사용하여 외부 데이터 소스에 연결합니다. 연결을 만들면 Google Cloud 관리 Identity and Access Management(IAM) 서비스 계정이 자동으로 생성됩니다. 특정 연결에 연결된 서비스 계정을 보려면 연결 세부정보를 확인합니다.
필요한 역할
연결을 관리하는 데 필요한 권한을 얻으려면 관리자에게 다음의 IAM 역할을 부여해 달라고 요청하세요.
- 연결 세부정보 보기: 데이터 세트의 BigQuery 연결 사용자(
roles/bigquery.connectionUser
) - 모든 연결 나열: 데이터 세트의 BigQuery 연결 사용자(
roles/bigquery.connectionUser
) - 연결 공유: 연결에 대한 BigQuery 연결 관리자(
roles/bigquery.connectionAdmin
) - 연결 수정: 연결에 대한 BigQuery 연결 관리자(
roles/bigquery.connectionAdmin
) - 연결 삭제: 연결에 대한 BigQuery 연결 관리자(
roles/bigquery.connectionAdmin
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
이러한 사전 정의된 역할에는 이 문서의 작업을 수행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
- 연결 세부정보 보기:
bigquery.connections.get
- 모든 연결 나열:
bigquery.connections.list
- 연결 수정 및 삭제:
bigquery.connections.update
- 연결 공유:
bigquery.connections.setIamPolicy
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
모든 연결 나열
다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery 페이지로 이동합니다.
이러한 연결은 프로젝트의 외부 연결 그룹에 나열됩니다.
탐색기 창에서 프로젝트 이름 > 외부 연결을 클릭하면 모든 연결 목록이 표시됩니다.
bq
bq ls
명령어를 입력하고 --connection
플래그를 지정합니다. 선택적으로 나열할 연결 위치 및 프로젝트를 식별하기 위해 --project_id
및 --location
플래그를 지정합니다.
bq ls --connection --project_id=PROJECT_ID --location=REGION
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트 IDREGION
: 연결 리전
API
REST API 참조 섹션에서 projects.locations.connections.list
메서드를 사용합니다.
Java
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
연결 세부정보 보기
연결을 만든 후에는 연결의 구성에 대한 정보를 가져올 수 있습니다. 구성에는 전송을 만들 때 사용자가 입력한 값이 포함됩니다.
다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery 페이지로 이동합니다.
연결은 프로젝트의 외부 연결 그룹에 나열됩니다.
탐색기 창에서 프로젝트 이름 > 외부 연결 > 연결을 클릭합니다.
bq
bq show
명령어를 입력하고 --connection
플래그를 지정합니다. 선택적으로 연결 ID를 해당 연결의 프로젝트 ID 및 리전과 연결합니다.
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트 IDREGION
: 연결 리전CONNECTION_I
: 연결 ID
API
REST API 참조 섹션에서 projects.locations.connections.get
메서드를 사용합니다.
Java
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
사용자와 연결 공유
데이터를 쿼리하고 연결을 관리할 수 있도록 사용자에게 다음 역할을 부여할 수 있습니다.
roles/bigquery.connectionUser
: 사용자가 연결을 사용하여 외부 데이터 소스에 연결하고 쿼리를 실행할 수 있습니다.roles/bigquery.connectionAdmin
: 사용자가 연결을 관리할 수 있습니다.
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery 페이지로 이동합니다.
이러한 연결은 프로젝트의 외부 연결 그룹에 나열됩니다.
탐색기 창에서 프로젝트 이름 > 외부 연결 > 연결을 클릭합니다.
세부정보 창에서 공유를 클릭하여 연결을 공유합니다. 다음 작업을 수행합니다.
연결 권한 대화상자에서 주 구성원을 추가하거나 수정하여 다른 주 구성원과 연결을 공유합니다.
저장을 클릭합니다.
bq
bq 명령줄 도구로 연결을 공유할 수 없습니다. 연결을 공유하려면 Google Cloud 콘솔 또는 BigQuery Connections API 메서드를 사용하여 연결을 공유합니다.
API
BigQuery 연결 REST API 참조 섹션의 projects.locations.connections.setIAM
메서드를 사용하고 policy
리소스의 인스턴스를 지정합니다.
Java
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
연결 수정
연결에는 연결을 만든 사용자의 사용자 인증 정보가 사용됩니다. 연결에 연결된 사용자를 변경해야 할 경우 사용자의 사용자 인증 정보를 업데이트할 수 있습니다. 이 기능은 연결을 만든 사용자가 조직에 더 이상 없을 때 유용합니다.
연결의 다음 요소는 수정할 수 없습니다.
- 연결 유형
- 연결 ID
- 위치
다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery 페이지로 이동합니다.
이러한 연결은 프로젝트의 외부 연결 그룹에 나열됩니다.
탐색기 창에서 프로젝트 이름 > 외부 연결 > 연결을 클릭합니다.
세부정보 패널에서 세부정보를 수정하려면
세부정보 수정을 클릭합니다. 다음 작업을 수행합니다.연결 수정 대화상자에서 사용자 인증 정보를 포함한 연결 세부정보를 수정합니다.
연결 업데이트를 클릭합니다.
bq
bq update
명령어를 입력하고 연결 플래그 --connection
을 지정합니다. 정규화된 connection_id
가 필요합니다.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "INSTANCE", "database" : "DATABASE", "type" : "MYSQL" }' --connection_credential='{"username":"USERNAME", "password":"PASSWORD"}' PROJECT.REGION.CONNECTION_ID
다음을 바꿉니다.
INSTANCE
: Cloud SQL 인스턴스DATABASE
: 데이터베이스 이름USERNAME
: Cloud SQL 데이터베이스의 사용자 이름PASSWORD
: Cloud SQL 데이터베이스의 비밀번호PROJECT
: Google Cloud 프로젝트 IDREGION
: 연결 리전CONNECTION_ID
: 연결 ID
예를 들어 다음 명령어는 ID federation-test
및 연결 ID test-mysql
로 프로젝트에 있는 연결을 업데이트합니다.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "federation-test:us-central1:new-mysql", "database" : "imdb2", "type" : "MYSQL" }' --connection_credential='{"username":"my_username", "password":"my_password"}' federation-test.us.test-mysql
API
REST API 참조 섹션에서 projects.locations.connections.patch
메서드를 참조하고 connection
의 인스턴스를 지정합니다.
Java
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
연결 삭제
다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery 페이지로 이동합니다.
이러한 연결은 프로젝트의 외부 연결 그룹에 나열됩니다.
탐색기 창에서 프로젝트 이름 > 외부 연결 > 연결을 클릭합니다.
세부정보 창에서
삭제를 클릭하여 연결을 삭제합니다.연결을 삭제할까요? 대화상자에서 삭제 확인을 위해
delete
를 입력합니다.삭제를 클릭합니다.
bq
bq rm
명령어를 입력하고 연결 플래그 --connection
을 지정합니다. 정규화된 connection_id
가 필요합니다.
bq rm --connection PROJECT_ID.REGION.CONNECTION_ID
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트 IDREGION
: 연결 리전CONNECTION_ID
: 연결 ID
API
REST API 참조 섹션의 projects.locations.connections.delete
메서드를 참조하세요.
Java
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
다음 단계
- 원격 함수 사용 방법 알아보기
- Apache Spark에 저장 프로시저를 사용하는 방법 알아보기