Azure Database for PostgreSQL - 유연한 서버에서 마이그레이션 서비스를 위한 Azure CLI 설정 방법

Azure CLI는 Azure 서비스 전반에서 리소스를 만들고 관리하는 데 사용되는 명령 집합입니다. Azure Portal과 동일한 기능을 제공하지만 명령줄 환경 내에서 작업하는 것을 선호하는 사용자에게 최적화되어 있습니다. Azure CLI를 사용하여 마이그레이션을 시작하려면 로컬 컴퓨터에 Azure CLI를 설치해야 합니다.

필수 조건

  • Azure CLI 설치: 운영 체제에 따라 Azure CLI를 다운로드하여 설치합니다. R은 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 계정에 로그인합니다.

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를 참조하세요.

나열 명령

az postgres flexible-server migration list 명령은 Azure Database for PostgreSQL 대상에 대한 모든 마이그레이션 시도를 나열하는 데 사용됩니다. 이 명령은 시작된 마이그레이션에 대해 간략하게 설명하므로 각 마이그레이션 시도의 상태와 세부 정보를 추적할 수 있습니다.

자세한 내용은 az postgres flexible-server migration list을 참조하세요.

표시 명령

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분 동안의 모든 변경 데이터가 대상에 적용됩니다.
  • 마이그레이션 취소: 필요한 경우 이 옵션을 사용하면 마이그레이션 프로세스를 중지할 수 있습니다.
  • 원본에서 논리적 복제 설정: 이는 유연한 서버에 대한 데이터 복제를 위해 서버를 준비하므로 원본 서버가 Azure Database for PostgreSQL - 단일 서버인 경우 유용합니다.

자세한 내용은 az postgres flexible-server migration update를 참조하세요.

요약

다음 표에는 마이그레이션 명령에 사용되는 매개 변수가 요약되어 있습니다.

매개 변수 관련 명령 설명
subscription create, list, show, update PostgreSQL 유연한 서버의 구독 ID
resource-group create, list, show, update PostgreSQL 유연한 서버의 리소스 그룹
name create, list, show PostgreSQL 유연한 서버의 이름
migration-name create, show, update 유연한 서버로 시도한 마이그레이션의 고유 식별자입니다. 이 필드는 영숫자 문자만 허용하며 특수 문자는 허용하지 않습니다(하이픈(-) 제외). 이름은 -로 시작할 수 없으며 유연한 서버 대상으로의 두 마이그레이션은 동일한 이름을 가질 수 없습니다.
filter list 마이그레이션을 필터링하려면 활성 및 모두라는 두 가지 값이 지원됩니다.
help create, list, show, update 각 명령에 대한 정보를 제공합니다.
migration-mode 만들기 이것은 선택적 매개 변수입니다. 허용되는 값: offline, online. 기본값: 오프라인.
migration-option 만들기 마이그레이션을 트리거하기 전에 유효성 검사를 수행할 수 있습니다. 기본값은 ValidateAndMigrate입니다. 허용되는 값은 Migrate, Validate, ValidateAndMigrate입니다.
properties 만들기 원본, 대상 서버, 마이그레이션할 데이터베이스, SSL 모드, 원본 유형 정의에 대한 정보가 포함된 JSON 파일의 절대 경로

JSON 파일의 세부 정보

az postgres flexible-server migration create 명령에는 원본 데이터베이스 서버 리소스 ID, 관리자 자격 증명, 마이그레이션할 데이터베이스 및 기타 중요한 설정과 같은 마이그레이션 구성 세부 정보가 포함된 --properties 매개 변수의 일부로 JSON 파일 경로가 필요합니다. 다음은 다양한 속성입니다.

속성 이름 설명
sourceDbServerResourceId 온-프레미스, VM(가상 머신), 클라우드 기반 PostgreSQL 서비스 - <<hostname or IP address>>:<<port>>@<<username>> 형식의 원본 서버 세부 정보입니다. 원본 서버가 Azure Database for PostgreSQL - 단일 서버인 경우 리소스 ID는 /subscriptions/<<Subscription ID>>/resourceGroups/<<Resource Group Name>>/providers/Microsoft.DBforPostgreSQL/servers/<<PostgreSQL Single Server name>> 형식입니다.
adminCredentials 이 매개 변수는 원본 서버와 대상 PostgreSQL 유연한 서버 모두에 대한 관리 사용자의 암호를 나열합니다. 이러한 암호는 원본 및 대상 서버에 인증하는 데 도움이 됩니다. 여기에는 두 개의 하위 속성인 sourceServerPasswordtargetServerPassword가 포함되어 있습니다.
targetServerUserName 기본값은 PostgreSQL 대상 유연한 서버 만들 때 만들어진 admin 사용자이며, 제공된 암호는 이 사용자에 대한 인증에 사용됩니다.
dbsToMigrate 유연한 서버로 마이그레이션할 데이터베이스 목록을 지정합니다. 한 번에 최대 8개의 데이터베이스 이름을 포함할 수 있습니다. DB 목록을 Array 형식으로 제공합니다.
overwriteDBsInTarget true(기본값)로 설정하면 마이그레이션하려는 데이터베이스와 동일한 이름을 가진 기존 데이터베이스가 대상 서버에 있는 경우 마이그레이션 서비스가 자동으로 데이터베이스를 덮어씁니다.
migrationRuntimeResourceId 마이그레이션에 런타임 서버를 사용해야 하는 경우 필수입니다. 형식은 다음과 같습니다. /subscriptions/<<Subscription ID>>/resourceGroups/<<Resource Group Name>>/providers/Microsoft.DBforPostgreSQL/flexibleServers/<<PostgreSQL Flexible Server name>>
sourceType 필수 매개 변수입니다. 값은 온-프레미스, AWS_RDS, AWS_AURORA, GCP_CloudSQL, AzureVM, PostgreSQLSingleServer일 수 있습니다.
sslMode 마이그레이션을 위한 SSL 모드. PostgreSQLSingleServer의 SSL 모드는 verifyFull이고 다른 원본 유형에 대해서는 Prefer/Require입니다.