Azure CLI는 Azure 서비스를 생성하고 리소스를 관리하는 데 사용되는 명령 집합입니다. Azure Portal과 동일한 기능을 제공하면서도 명령줄 환경에서 작업하기를 선호하는 사용자에게 최적화되어 있습니다. Azure CLI로 마이그레이션을 시작하려면 먼저 로컬 컴퓨터에 Azure CLI가 설치되어 있어야 합니다.
사전 준비 사항
Azure CLI 설치: 운영 체제에 맞는 Azure CLI를 다운로드하여 설치합니다. Windows, macOS 및 Linux에서 사용할 수 있습니다.
Azure CLI 설치 가이드: Azure CLI를 설치하려면 공식 Azure 설명서(Azure CLI 설치 방법)에 제공된 지침을 따릅니다.
Azure CLI 버전 확인: 마이그레이션 서비스를 실행하기 위해 Azure CLI 버전이 2.56.0 이상인지 확인해 주시기 바랍니다.
az --version명령을 사용하여 현재 버전을 확인합니다.Azure에 로그인: 설치 후
az login을 실행하여 인증합니다. 그러면 기본 브라우저가 열리고 Azure 자격 증명으로 로그인하는 절차가 완료됩니다.
이 단계에서는 Azure CLI를 사용하여 Azure Database for PostgreSQL 마이그레이션 서비스를 효과적으로 관리하기 위한 환경을 구축합니다. 설치 과정에 대한 업데이트나 변경 사항은 항상 최신 Azure 문서를 참고하세요.
마이그레이션 서비스를 위한 CLI 명령 설정
모든 CLI 명령은 az postgres flexible-server migration으로 시작합니다. 또한 다양한 옵션을 이해하고 CLI 명령어에 대한 올바른 구문을 구성하는 데 도움이 되는 도움말 문서도 제공합니다.
CLI 명령을 설정하는 단계
Azure CLI 설치: 공식 Azure 설명서에 제공된 지침에 따라 Azure CLI - Azure CLI를 설치하는 방법을 설치합니다.
Azure CLI 버전 확인: Azure CLI 버전이 2.56.0 이상인지 확인합니다.
az --version명령을 사용하여 현재 버전을 확인합니다.Azure에 로그인: 설치 후
az login을 실행하여 인증합니다. 그러면 기본 브라우저가 열리고 Azure 자격 증명으로 로그인하는 절차가 완료됩니다.
CLI가 설치되면 명령 프롬프트를 열고 다음 명령을 사용하여 Azure 계정에 로그인합니다.
az login
마이그레이션 명령
마이그레이션 서비스는 PostgreSQL 인스턴스를 Azure Database for PostgreSQL 유연한 서버로 마이그레이션하는 데 도움이 되는 다음 명령을 제공합니다.
Help 명령
Azure CLI --help 명령어는 작업에 필요한 동사를 포함하여 명령어와 해당 하위 명령어에 대한 자세한 설명을 제공하는 유용한 옵션입니다. 이 –-help명령은 Azure Database for PostgreSQL 마이그레이션 서비스에 필요한 명령 및 관련 작업을 보여줍니다.
az postgres flexible-server migration –-help
이 출력은 Azure CLI를 사용하여 데이터베이스 마이그레이션을 효과적으로 관리하기 위해 필요한 단계와 매개변수를 안내합니다.
Create 명령
Azure CLI의 az postgres flexible-server migration create 이 명령어는 새로운 마이그레이션 워크플로우를 시작하는 데 사용됩니다. 원본 PostgreSQL 인스턴스에서 대상 Azure Database for PostgreSQL 유연한 서버 인스턴스로 데이터베이스를 쉽게 마이그레이션할 수 있습니다. 이 명령어는 원활하고 효율적인 마이그레이션 프로세스를 보장하는 데 필요한 매개변수와 설정을 구성합니다.
자세한 내용은 az postgres flexible-server migration create를 참조하세요.
List 명령
az postgres flexible-server migration list 이 명령은 Azure Database for PostgreSQL 대상에 대한 모든 마이그레이션 시도 목록을 조회하는 데 사용됩니다. 이 명령은 시작된 마이그레이션에 대한 개요를 제공하여 각 마이그레이션 시도의 상태 및 세부 정보를 추적할 수 있도록 합니다.
자세한 내용은 az postgres flexible-server migration list를 참조하세요.
Show 명령
이 az postgres flexible-server migration show 명령은 마이그레이션의 현재 상태와 세부 단계를 제공하여 진행 상황을 효과적으로 모니터링할 수 있도록 돕습니다. 이러한 세부 정보에는 마이그레이션의 현재 상태 및 하위 상태에 대한 정보가 포함됩니다.
자세한 내용은 az postgres flexible-server migration show를 참조하세요.
가능한 마이그레이션 상태는 다음과 같습니다.
마이그레이션 상태
| 시스템 상태 | 설명 |
|---|---|
| InProgress | 마이그레이션 인프라 구축이 진행 중이거나 실제 데이터 마이그레이션이 진행 중입니다. |
| 취소됨 | 마이그레이션 작업이 취소되거나 삭제되었습니다. |
| 실패 | 마이그레이션에 실패했습니다. |
| 검증 실패 | 유효성 검사에 실패했습니다. |
| 성공 | 마이그레이션이 성공했으며 완료되었습니다. |
| WaitingForUserAction | 이 기능은 온라인 마이그레이션에만 해당됩니다. 컷오버 수행을 위한 사용자 작업을 기다리고 있습니다. |
마이그레이션 하위 상태
| 하위 상태 | 설명 |
|---|---|
| PerformingPreRequisiteSteps | 데이터 마이그레이션을 위한 인프라 구축이 진행 중입니다. |
| 검증이 진행 중입니다. | 검증이 진행 중입니다. |
| MigratingData | 데이터 마이그레이션이 진행 중입니다. |
| CompletingMigration | 마이그레이션 작업이 완료 단계에 접어들었습니다. |
| 완료됨 | 마이그레이션이 완료되었습니다. |
| 실패 | 마이그레이션이 실패했습니다. |
유효성 검사 하위 상태
| 하위 상태 | 설명 |
|---|---|
| 실패 | 유효성 검사에 실패했습니다. |
| 성공 | 검증이 성공했습니다. |
| 경고 | 유효성 검사가 경고 상태입니다. |
Update 명령
이 az postgres flexible-server migration update 명령은 Azure Database for PostgreSQL 유연한 서버로의 마이그레이션 프로세스를 관리하는 데 사용됩니다. 구체적인 사용 예시는 다음과 같습니다.
절체 수행: 원본 서버에서 유연한 대상 서버로 데이터베이스 트래픽을 전환하여 마이그레이션 프로세스를 완료합니다.
- 기본 데이터 마이그레이션이 완료되면 마이그레이션 작업은
WaitingForCutoverTrigger하위 상태로 변경됩니다. 이 단계에서 사용자는 마이그레이션 그리드에서 특정 이름을 선택하거나 CLI를 사용하여 포털에서 컷오버를 실행할 수 있습니다. - 컷오버를 진행하기에 앞서 다음 사항들을 반드시 확인하시기 바랍니다.
- 원본에 대한 쓰기가 중지되었습니다.
-
latency값이 0으로 감소하거나 0에 가까워집니다. -
latency이 값은 대상이 원본과 마지막으로 동기화된 시점을 나타냅니다. 이제 원본에 대한 쓰기를 중단하고 컷오버를 시작할 수 있습니다. 원본에 트래픽이 많은 경우 먼저 쓰기를 중지하여Latency가 0에 근접하게 만든 후 전환을 시작합니다. - 컷오버 작업은 원본의 모든 보류 중인 변경 사항을 대상에 반영하여 마이그레이션을 마무리합니다. 0이 아닌
Latency를 사용하더라도 "컷오버"가 트리거되면 해당 시점까지 복제가 중단됩니다. 컷오버 시점까지 원본 데이터 전체가 대상에 적용됩니다. 컷오버 지점에서 대기 시간이 15분이었다고 가정할 때, 지난 15분 동안 발생한 모든 변경 데이터가 대상 시스템에 적용됩니다.
- 기본 데이터 마이그레이션이 완료되면 마이그레이션 작업은
마이그레이션 취소: 필요에 따라 이 옵션을 사용하여 마이그레이션 프로세스를 중단할 수 있습니다.
자세한 내용은 az postgres flexible-server migration upadate를 참조하세요.
요약
다음 표는 마이그레이션 명령어에 사용되는 매개변수들을 요약한 것입니다.
| 매개 변수 | 관련 명령 | 설명 |
|---|---|---|
subscription |
만들기, 나열, 표시, 업데이트 | PostgreSQL 유연한 서버 대상의 구독 ID입니다. |
resource-group |
만들기, 나열, 표시, 업데이트 | PostgreSQL 유연한 서버 대상의 리소스 그룹입니다. |
name |
만들기, 나열, 표시 | PostgreSQL 유연한 서버 대상의 이름입니다. |
migration-name |
만들기, 표시, 업데이트 | 유연한 서버로의 마이그레이션 시도에 대한 고유 식별자입니다. 이 필드는 영숫자만 허용하며 하이픈(-)을 제외한 특수문자는 허용하지 않습니다. 이름은 -로 시작할 수 없으며 유연한 서버 대상으로의 두 마이그레이션은 동일한 이름을 가질 수 없습니다. |
filter |
list | 마이그레이션 필터링 시 활성 및 전체, 이렇게 두 가지 값을 지원합니다. |
help |
만들기, 나열, 표시, 업데이트 | 각 명령어에 대한 정보를 제공합니다. |
migration-mode |
create | 선택적 매개 변수입니다. 허용되는 값: offline, online. 기본값: 오프라인. |
migration-option |
create | 마이그레이션을 시작하기 전에 데이터의 유효성을 미리 검토할 수 있습니다. 기본값은 ValidateAndMigrate입니다. 허용되는 값은 Migrate, Validate, ValidateAndMigrate입니다. |
properties |
create | 원본 서버, 대상 서버, 마이그레이션할 데이터베이스, SSL 모드, 원본 유형 정의 정보가 포함된 JSON 파일의 절대 경로입니다. |
JSON 파일의 세부 정보
az postgres flexible-server migration create 명령어는 마이그레이션 구성 세부 정보가 담긴 JSON 파일 경로를 --properties 매개변수의 일부로 요구하며, 여기에는 원본 데이터베이스 서버 리소스 ID, 관리자 인증 정보, 마이그레이션할 데이터베이스, 기타 중요한 설정 등이 포함됩니다. 다른 속성은 다음과 같습니다.
| 속성 이름 | 설명 |
|---|---|
sourceDbServerResourceId |
온프레미스, VM(가상 머신), 클라우드 기반 PostgreSQL 서비스 등 <<hostname or IP address>>:<<port>>@<<username>> 형식의 원본 서버에 대한 세부 정보입니다. |
adminCredentials |
이 매개변수는 원본 서버와 대상 PostgreSQL 플렉서블 서버 모두의 관리자 계정 비밀번호를 나타냅니다. 이러한 암호는 원본 및 대상 서버에 인증하는 데 도움이 됩니다. 여기에는 sourceServerPassword 와 targetServerPassword라는 두 개의 하위 속성이 포함되어 있습니다. |
targetServerUserName |
기본적으로 PostgreSQL 유연한 서버를 생성할 때 만들어지는 ‘admin’ 사용자 계정과, 사용자가 제공한 암호는 해당 계정 인증에 사용됩니다. |
dbsToMigrate |
유연한 서버로 마이그레이션할 데이터베이스 목록을 지정합니다. 한 번에 최대 8개의 데이터베이스 이름을 포함할 수 있습니다. 배열 형식의 데이터베이스 목록을 제공합니다. |
overwriteDBsInTarget |
기본값인 true로 설정하면, 대상 서버에 동일한 이름의 데이터베이스가 이미 존재할 경우 마이그레이션 서비스가 해당 데이터베이스를 자동으로 덮어씁니다. |
migrationRuntimeResourceId |
런타임 서버를 사용하는 마이그레이션의 경우 필수입니다. 형식은 - /subscriptions/<<Subscription ID>>/resourceGroups/<<Resource Group Name>>/providers/Microsoft.DBforPostgreSQL/flexibleServers/<<PostgreSQL flexible server name>>입니다. |
targetDBServerFullyQualifiedDomainName |
대상이 사용자 지정 DNS 서버, 사용자 지정 DNS 네임스페이스, 사용자 지정 FQDN 뒤에 있거나 IP를 통해 액세스할 수 있어야 하는 경우에만 필요합니다. |
sourceType |
필수 매개 변수입니다. 값은 온-프레미스, AWS_RDS, AWS_AURORA, GCP_CloudSQL, AzureVM일 수 있습니다. |
sslMode |
마이그레이션을 위한 SSL 모드. SSL 모드는 선호/요구가 있을 수 있습니다. |