PostgreSQL용 AlloyDB에 연결
BigQuery 관리자는 AlloyDB 데이터 액세스를 위한 연결을 만들 수 있습니다. 이 연결을 통해 데이터 분석가는 AlloyDB에서 데이터를 쿼리할 수 있습니다.
AlloyDB에 연결하려면 다음 단계를 수행해야 합니다.
시작하기 전에
- BigQuery Connection API 사용 설정하기
-
AlloyDB 연결을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 BigQuery 연결 관리자 (
roles/bigquery.connectionAdmin
) 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
AlloyDB 연결 만들기
AlloyDB에 연결할 때 연결을 사용하여 데이터베이스 사용자 인증 정보를 처리하는 것이 좋습니다. 연결은 암호화되어 BigQuery 연결 서비스에 안전하게 저장됩니다. 사용자 인증 정보가 소스의 다른 데이터에 대해서도 유효하면 같은 연결을 다시 사용할 수 있습니다. 예를 들어 하나의 연결을 사용하여 AlloyDB 인스턴스의 동일한 데이터베이스를 여러 번 쿼리할 수 있습니다.
다음 옵션 중 하나를 선택하여 AlloyDB 연결을 만듭니다.
bq
다음 플래그와 함께 bq mk
명령어를 입력합니다.
bq mk \
--connection \
--location=LOCATION \
--project_id=PROJECT_ID \
--connector_configuration '{
"connector_id": "google-alloydb",
"asset": {
"database": "DATABASE"
"google_cloud_resource": "RESOURCE_PATH"
},
"authentication": {
"username_password": {
"username": "USERNAME",
"password": {
"plaintext": "PASSWORD"
}
}
}
}' \
CONNECTION_ID
다음을 바꿉니다.
LOCATION
: AlloyDB의 데이터와 결합할 BigQuery 데이터 세트의 리전을 지정합니다. 이 연결을 사용하는 쿼리는 이 리전에서 실행되어야 합니다.PROJECT_ID
: Google Cloud 프로젝트 ID를 입력합니다.DATABASE
: 데이터베이스 이름을 입력합니다.RESOURCE_PATH
: //alloydb.googleapis.com 프리픽스가 포함된 AlloyDB 인스턴스의 연결 URI를 입력합니다.- 샘플 URI:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- 샘플 URI:
USERNAME
: 데이터베이스 사용자의 이름을 입력합니다.PASSWORD
: 데이터베이스 사용자의 비밀번호를 입력합니다.CONNECTION_ID
: 이 연결을 식별하기 위한 연결 ID를 입력합니다.
API
BigQuery 연결 API 내에서 ConnectionService
내에서 CreateConnection
를 호출하여 연결을 인스턴스화할 수 있습니다. 자세한 내용은 클라이언트 라이브러리 페이지를 참조하세요.
서비스 계정에 액세스 권한 부여
프로젝트 내에서 첫 번째 연결을 만들면 서비스 계정이 자동으로 생성됩니다. 서비스 계정의 이름은 BigQuery Connection Service 에이전트입니다. 서비스 계정 ID의 형식은 다음과 같습니다.
service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
AlloyDB에 연결하려면 BigQuery가 사용자를 대신하여 데이터에 액세스할 수 있도록 새 연결 액세스 권한을 AlloyDB에 부여해야 합니다. 이 서비스 계정에는 다음 권한이 있어야 합니다.
alloydb.instances.connect
연결과 관련된 서비스 계정에 이 권한이 이미 할당된 AlloyDB 클라이언트 IAM 역할을 부여할 수 있습니다. 서비스 계정에 이미 필요한 권한이 있으면 이 단계를 생략할 수 있습니다.
콘솔
IAM 및 관리자 페이지로 이동합니다.
액세스 권한 부여를 클릭합니다.
주 구성원 추가 대화상자가 열립니다.
새 주 구성원 필드에 서비스 계정 이름 BigQuery Connection Service 에이전트 또는 연결 정보에서 가져온 서비스 계정 ID를 입력합니다.
역할 선택 필드에서 AlloyDB를 선택한 후 AlloyDB 클라이언트를 선택합니다.
저장을 클릭합니다.
gcloud
gcloud projects add-iam-policy-binding
명령어를 사용합니다.
gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_ID --role=roles/alloydb.client
다음 값을 제공합니다.
PROJECT_ID
: Google Cloud 프로젝트 IDSERVICE_ACCOUNT_ID
:service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
의 프로젝트 번호를 바꾸고 사용합니다.
사용자와 연결 공유
데이터를 쿼리하고 연결을 관리할 수 있도록 사용자에게 다음 역할을 부여할 수 있습니다.
roles/bigquery.connectionUser
: 사용자가 연결을 사용하여 외부 데이터 소스에 연결하고 쿼리를 실행할 수 있습니다.roles/bigquery.connectionAdmin
: 사용자가 연결을 관리할 수 있습니다.
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
다음 옵션 중 하나를 선택합니다.
bq
다음 set-iam-policy
명령어를 사용하세요.
bq set-iam-policy RESOURCE FILE_NAME
다음을 바꿉니다.
RESOURCE
:project_id.region.connection_id
또는region.connection_id
형식으로 리소스 이름을 입력합니다.FILE_NAME
: IAM 정책이 포함된 파일 이름을 JSON 형식으로 입력합니다.
set-iam-policy 명령어에 대한 자세한 내용은 IAM으로 리소스 액세스 제어를 참조하세요.
API
BigQuery 연결 REST API 참조 섹션의 projects.locations.connections.setIAM
메서드를 사용하고 policy
리소스의 인스턴스를 지정합니다.
다음 단계
- 다양한 연결 유형 알아보기
- 연결 관리 알아보기
- 통합 쿼리 알아보기
- AlloyDB 데이터 쿼리 방법 알아보기