연결 프로필을 단독으로 만들거나 특정 마이그레이션 작업을 만드는 맥락에서 만들 수 있습니다. 어느 쪽이든 모든 연결 프로필은 연결 프로필 페이지에서 검토 및 수정할 수 있으며 마이그레이션 작업 전반에서 재사용할 수 있습니다.
소스 액세스 정보가 있는 사용자가 마이그레이션 작업을 만드는 사용자가 아닌 경우 소스 연결 프로필을 직접 만드는 것이 유용합니다. 여러 마이그레이션 작업에서 소스 연결 프로필 정의를 재사용할 수도 있습니다.
소스 연결 프로필을 만들려면 다음 단계를 따르세요.
콘솔
- Google Cloud Console에서 연결 프로필 페이지로 이동합니다.
- 프로필 만들기를 클릭합니다.
- 연결 프로필 만들기 페이지의 프로필 역할 목록에서 소스를 선택합니다.
- 데이터베이스 엔진 목록에서 소스 데이터베이스 엔진을 선택합니다.
- 연결 프로필 이름 필드에 연결 프로필의 사람이 읽을 수 있는 이름을 입력합니다. 이 값은 연결 프로필 목록에 표시됩니다.
- 자동 생성된 연결 프로필 ID를 그대로 둡니다.
- 호스트 이름 또는 IP 주소를 입력합니다.
소스 데이터베이스가 Google Cloud에 호스팅되거나 역방향 SSH 터널을 사용하여 대상 데이터베이스를 소스 데이터베이스에 연결하는 경우 소스 데이터베이스의 비공개 (내부) IP 주소를 지정합니다. Cloud SQL 대상에서 이 주소에 액세스할 수 있습니다. 자세한 내용은 VPC 피어링을 사용하여 연결 구성을 참고하세요.
IP 허용 목록과 같은 다른 연결 방법의 경우 공개 IP 주소를 제공합니다.
- MySQL은 호스트 이름을 60자(영문 기준)로 제한합니다. Amazon RDS 데이터베이스 호스트 이름은 일반적으로 60자(영문 기준)를 초과합니다. 마이그레이션하는 데이터베이스가 이 경우인 경우 DNS 리디렉션을 구성하여 도메인 이름을 RDS DB 인스턴스의 도메인 이름과 연결하는 CNAME 레코드를 만듭니다. DNS CNAME 설정에 관한 자세한 내용은 Google Cloud 또는 AWS Route53을 참고하세요.
- 호스트에 액세스하는 데 사용되는 포트를 입력합니다. 기본 MySQL 포트는 3306입니다.
- 대상 데이터베이스의 사용자 이름과 비밀번호를 입력합니다. 사용자 계정에 데이터에 액세스하는 데 필요한 권한이 있어야 합니다. 자세한 내용은 소스 데이터베이스 구성을 참고하세요.
- 페이지의 연결 프로필 리전 섹션에서 연결 프로필을 저장할 리전을 선택합니다.
선택사항: 공개 네트워크(IP 허용 목록 사용)를 통해 연결하는 경우 소스 데이터베이스와 대상 데이터베이스 간의 연결에 SSL/TLS 암호화를 사용하는 것이 좋습니다.
연결 보호 섹션의 암호화 유형 목록에서 다음 SSL/TLS 구성 옵션 중 하나를 선택할 수 있습니다.
- 없음: Cloud SQL 대상 인스턴스가 암호화 없이 소스 데이터베이스에 연결됩니다. 데이터베이스에 암호화된 연결이 필요한 경우 이 옵션을 사용하지 않는 것이 좋습니다.
- 기본: Cloud SQL 대상 인스턴스가 암호화로 소스 데이터베이스에 연결되지만 인증 기관 (CA)을 확인하지 않습니다.
TLS 인증: Cloud SQL 대상 인스턴스가 소스 데이터베이스에 연결되면 인스턴스가 소스를 인증하여 인스턴스가 올바른 호스트에 안전하게 연결되는지 확인합니다. 이렇게 하면 중간자 (PITM) 공격을 방지할 수 있습니다. TLS 인증의 경우 소스가 인스턴스를 인증하지 않습니다.
TLS 인증을 사용하려면 외부 서버의 인증서에 서명한 CA의 x509 PEM 인코딩 인증서를 제공해야 합니다.
- mTLS 인증: 대상 인스턴스가 소스에 연결되면 인스턴스가 소스를 인증하고 소스가 인스턴스를 인증합니다.
mTLS 인증은 가장 강력한 보안을 제공합니다. 하지만 Cloud SQL 대상 인스턴스를 만들 때 클라이언트 인증서와 비공개 키를 제공하고 싶지 않을 경우 TLS 인증을 사용하면 됩니다.
mTLS 인증을 사용하려면 대상 연결 프로필을 만들 때 다음과 같은 항목을 제공해야 합니다.
- 소스 데이터베이스 서버의 인증서(CA 인증서)에 서명한 CA의 인증서입니다.
- 소스 데이터베이스 서버(클라이언트 인증서)를 인증하기 위해 인스턴스가 사용하는 인증서입니다.
- 클라이언트 인증서와 연결된 비공개 키 (클라이언트 키)입니다.
만들기를 클릭합니다.
연결 프로필 페이지가 표시되고 새로 만든 연결 프로필이 표시됩니다.
gcloud
이 샘플에서는 모든 작업이 동기식으로 실행되도록 선택적 --no-async
플래그를 사용합니다. 따라서 일부 명령어는 완료하는 데 다소 시간이 걸릴 수 있습니다. --no-async
플래그를 건너뛰어 명령어를 비동기식으로 실행할 수 있습니다.
이 경우 gcloud database-migration operations describe
명령어를 사용하여 작업이 성공했는지 확인해야 합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- CONNECTION_PROFILE_ID: 연결 프로필의 기계가 읽을 수 있는 식별자
- REGION을 연결 프로필을 저장하려는 리전의 식별자로 바꿉니다.
- Database Migration Service가 소스 데이터베이스 인스턴스에 도달할 수 있는 IP 주소가 포함된 HOST_IP_ADDRESS 이 값은 이전에 사용하는 연결 방법에 따라 다를 수 있습니다.
- PORT_NUMBER: 소스 데이터베이스가 수신 연결을 수락하는 포트 번호입니다. 기본 MySQL 포트는 3306입니다.
- USERNAME: Database Migration Service가 소스 데이터베이스 인스턴스에 연결할 데이터베이스 사용자 계정의 이름입니다.
- PASSWORD를 데이터베이스 사용자 계정의 비밀번호로 바꿉니다.
- (선택사항) CONNECTION_PROFILE_NAME: 연결 프로필의 사람이 읽을 수 있는 이름입니다. 이 값은 Google Cloud 콘솔에 표시됩니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows(PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows(cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
다음과 비슷한 응답이 표시됩니다.
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]