연결 프로필 만들기

이 페이지에서는 MongoDB 호환 소스 데이터베이스에서 Cloud Storage 버킷으로 데이터를 가져오는 데 나중에 사용될 Datastream 연결 프로필을 만드는 마이그레이션 프로세스의 준비 부분을 설명합니다.

이 단계에서는 다음 작업을 수행합니다.

  1. 이전에 만든 Cloud Storage 버킷의 Cloud Storage 연결 프로필을 만듭니다.
  2. MongoDB 호환 소스 데이터베이스의 연결 프로필을 만듭니다.

gcloud CLI에 로그인

다음 섹션에 설명된 이전 절차에서는 gcloud CLI를 사용하여 이전 단계를 구성하고 실행합니다. 먼저 Google Cloud 에 로그인하고 이전 파이프라인을 호스팅할 프로젝트를 선택합니다.

gcloud auth login
gcloud config set project "$PROJECT_ID"

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

Compute Engine으로 구동하는 MongoDB

다음 명령어를 실행하여 Compute Engine에서 호스팅되는 MongoDB 데이터베이스에 대한 Datastream 연결 프로필을 만듭니다.

샤드 클러스터에 연결할 때는 다음 명령어에서 --mongodb-replica-set 플래그를 생략하세요.

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_IP_ADDRESS" \
--mongodb-replica-set="$REPLICA_SET" \
--private-connection="$PRIVATE_CONNECTION_NAME" \
--mongodb-standard-connection-format \
--type=mongodb \
--mongodb-direct-connection

SSH를 통한 MongoDB

이 예에서는 MongoDB 호환 서버를 호스팅하는 머신에 직접 또는 배스천 호스트를 통해 비공개 네트워크에 SSH 연결을 구성했다고 가정합니다.

다음 명령어를 실행하여 Compute Engine에서 호스팅되는 MongoDB 데이터베이스에 대한 Datastream 연결 프로필을 만듭니다.

샤딩된 클러스터에 연결할 때는 다음 명령어에서 --mongodb-replica-set 플래그를 생략하세요.

SSH 비밀번호로 연결하려면 --forward-ssh-private-key 플래그 대신 --forward-ssh-password 플래그를 전달합니다.

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_IP_ADDRESS" \
--mongodb-replica-set="$REPLICA_SET" \
--forward-ssh-hostname="$BASTION_IP_ADDRESS" \
--forward-ssh-port="$BASTION_SSH_PORT" \
--forward-ssh-username="$BASTION_SSH_USERNAME" \
--forward-ssh-private-key="$BASTION_SSH_PRIVATE_KEY" \
--mongodb-standard-connection-format \
--type=mongodb \
--mongodb-direct-connection

Azure Cosmos DB

Azure Cosmos DB의 MongoDB API에서 변경 내역을 명시적으로 사용 설정하여 Datastream 스트림을 시작할 수 있습니다.

이 단계에서는 Azure CLI를 설치해야 합니다.

az resource patch --ids "/subscriptions/subscription_id/resourceGroups/resource_group_name/providers/Microsoft.DocumentDB/mongoClusters/vCore_cluster_name" \
--api-version 2024-10-01-preview \
--properties "{\"previewFeatures\": [ \"ChangeStreams\"]}"

subscription_id, resource_group_name, vCore_cluster_name을 Azure Cosmos DB 배포에 해당하는 값으로 바꿉니다.

다음 명령어를 실행하여 소스 Azure Cosmos DB에 대한 Datastream 연결 프로필을 만듭니다.

이 예에서는 MongoDB SRV 연결 형식으로 표현할 수 있는 공개 DNS 또는 IP 주소를 통해 소스에 액세스할 수 있다고 가정합니다. 또한 이 안내에서는 Azure Cosmos DB 서버가 인증에 사용자 이름과 비밀번호의 조합을 사용한다고 가정합니다.

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_HOST_ADDRESS" \
--mongodb-srv-connection-format \
--type=mongodb \
--static-ip-connectivity \
--labels=skip_all_validations=true

MongoDB Atlas

다음 명령어를 실행하여 소스 MongoDB Atlas 데이터베이스에 대한 Datastream 연결 프로필을 만듭니다.

이 예에서는 MongoDB SRV 연결 형식으로 표현할 수 있는 공개 DNS 또는 IP 주소를 통해 소스에 액세스할 수 있다고 가정합니다. 또한 이 안내에서는 MongoDB Atlas 서버가 인증에 사용자 이름과 비밀번호의 조합을 사용한다고 가정합니다.

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_HOST_ADDRESS" \
--mongodb-srv-connection-format \
--type=mongodb \
--static-ip-connectivity

연결 프로필 생성 모니터링에 관한 자세한 내용은 문제 해결을 참고하세요.

Cloud Storage 연결 프로필 만들기

이전에 만든 버킷인 Cloud Storage 대상의 Datastream 연결 프로필을 구성합니다.

gcloud datastream connection-profiles create "$DST_CONNECTION_PROFILE_NAME" \
--display-name="$DST_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--type=google-cloud-storage \
--bucket="$GCS_BUCKET_NAME" \
--root-path="/$GCS_BUCKET_ROOT_PATH"

연결 프로필 생성 모니터링에 관한 자세한 내용은 문제 해결을 참고하세요.

다음 단계

소스 데이터베이스에서 가져오기로 계속 진행합니다.