개요
Database Migration Service는 연결 프로필과 마이그레이션 작업을 프로그래매틱 방식으로 관리하기 위한 REST API를 제공합니다. REST API는 연결 프로필 및 마이그레이션 작업을 만들고 관리하는 작업과 관련된 리소스로 정의됩니다. 모든 리소스와 메서드에 관한 자세한 내용은 Database Migration Service API 참조를 참고하세요.
Database Migration Service REST API로 직접 요청을 보낼 때는 올바른 요청 양식을 만들고, 인증된 사용자로 요청을 승인하고, 반환된 응답을 처리해야 합니다. 이 문서의 여러 태스크는 cURL을 사용하는 API 예시를 제공합니다.
API 사용에 관한 자세한 예시는 Database Migration Service API 참고의 요청 페이지를 참고하세요. 각 페이지에는 여러 프로그래밍 언어로 API를 호출하는 예시와 올바른 형식의 요청에 포함되는 요소 및 예상 응답을 파악하는 데 도움이 되는 요청별 탐색기가 있습니다.
또한 다음과 같은 방법으로 인스턴스를 관리할 때 Database Migration Service API를 간접적으로 사용하게 됩니다.
Google Cloud CLI: 인스턴스 작업에 사용할 수 있는 명령줄 인터페이스(CLI)입니다.
Google Cloud 콘솔: 그래픽 웹 인터페이스입니다.
이러한 방법, 특히 Google Cloud 콘솔을 사용할 때의 이점은 사용 사례에 따라 연결 프로필 및 마이그레이션 작업의 관리를 크게 간소화할 수 있다는 것입니다. Database Migration Service를 처음 시작하는 경우 REST API로 직접 작업하기 전에 먼저 이러한 도구 중 하나로 시작하는 것이 좋습니다.
API 사용 설정
Database Migration Service API를 사용하려면 다음과 같이 사용 설정해야 합니다.
콘솔
- Database Migration Service API를 사용 설정합니다.
- 프로젝트를 선택합니다.
- 계속을 선택합니다.
gcloud
- 다음을 입력하여 Google Cloud프로젝트의 프로젝트 ID를 표시합니다.
gcloud projects list
- 기본 프로젝트를 설정합니다.
gcloud config set project YOUR_PROJECT_ID
- Cloud SQL Admin API 사용 설정
gcloud services enable datamigration.googleapis.com
권한
Database Migration Service API를 사용하려면 필요한 권한이 있어야 합니다. 이러한 권한에는 다음이 포함됩니다.
- 데이터베이스 마이그레이션 관리자: 이 권한이 있으면 사용자가 연결 프로필 및 마이그레이션 작업을 관리하는 데 사용되는 Database Migration Service의 모든 리소스에 액세스할 수 있습니다.
- 데이터베이스 마이그레이션 뷰어: 이 권한이 있는 사용자는 Database Migration Service의 연결 프로필 및 마이그레이션 작업에 대한 읽기 전용 액세스 권한을 갖습니다.
- Cloud SQL 관리자: 이 권한이 있으면 사용자가 Database Migration Service에서 Cloud SQL의 연결 프로필과 마이그레이션 작업을 만들고 관리할 수 있습니다.
Google Cloud에서는 Identity and Access Management(IAM)를 제공하므로 특정 Google Cloud 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. Google Cloud 콘솔, API의 IAM 메서드 또는 Google Cloud CLI를 사용하여 Database Migration Service에 대한 권한을 가져오고 설정할 수 있습니다. 자세한 내용은 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.
API 예시
Database Migration Service 문서의 다음 페이지에서 cURL을 이용한 Database Migration Service API 사용 예시를 확인할 수 있습니다.
- API를 사용하여 연결 프로필 관리
- API를 사용하여 이전 작업 관리
이 페이지는 MySQL, PostgreSQL, SQL Server의 방법 가이드에 표시됩니다.
파일에서 JSON 데이터 제공
cURL로 API를 사용하는 경우 명령줄을 사용하여 속성 값을 제공합니다. 비밀번호나 보안 키와 같은 민감한 값으로 작업하는 경우 명령줄에 입력하면 보안 위험이 발생합니다. 보안을 강화하기 위해 API 호출을 위해 JSON 데이터가 포함된 파일을 만들고 명령줄에서 파일 경로를 제공할 수 있습니다.
cURL API 호출에 대하여 파일에서 JSON 데이터를 제공하려면 다음 안내를 따르세요.
모든 항목이 작은 따옴표로 묶인 파일을
--data
필드용으로 만듭니다.중괄호는 포함하되 작은따옴표는 포함하지 마세요.
명령줄에서
@
문자 앞에--data
매개 변수로서 파일 경로 제공합니다.--data @<path-to-file>/<filename>
예를 들어 Cloud SQL 소스 데이터베이스의 연결 프로필을 만들려면 다음 콘텐츠로
request.json
이라는 파일을 만들 수 있습니다.{ "displayName": "my Cloud SQL connection profile", "mysql": { "host": "10.11.12.13", "port": port-number-of-source-database, "username": "myusername", "password": "mypassword" } }
그런 다음 명령줄에서 다음 cURL 명령어를 사용합니다.
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data @./request.json \ -X POST \ https://datamigration.googleapis.com/v1/projects/myProject/locations/myLocation/connectionProfiles?connectionProfileId=myCloudSQLconnectionprofile
장기 실행 API 호출 작업
객체 생성과 같은 일부 API 호출은 완료하는 데 다소 시간이 걸릴 수 있습니다. API는 비동기적이므로 작업이 아직 진행 중이더라도 호출이 즉시 반환됩니다. 후속 API 호출에서 새로 만든 객체를 사용하는 경우 첫 번째 작업이 완료될 때까지 기다린 후 계속 진행해야 합니다.
Database Migration Service API를 사용하여 작업을 관리할 수 있습니다. 여기에는 다음이 포함됩니다.
Database Migration Service 및 Google API 디스커버리 서비스
Google API 디스커버리 서비스는 Google API를 검색하는 데 사용할 수 있는 서비스입니다. 예를 들어 Google API 탐색기 도구를 사용하면 디스커버리 서비스를 사용하는 것입니다.
디스커버리 서비스에서 Database Migration Service는 'datamigration'으로 표시됩니다(예: https://datamigration.googleapis.com/$discovery/rest?version=v1).