다음을 통해 공유


새 지역인 Azure SQL Managed Instance로 리소스 이동

적용 대상: Azure SQL Managed Instance

Azure SQL Managed Instance를 새 지역으로 이동하는 방법에 대한 일반적인 워크플로를 설명합니다.

참고 항목

이 문서는 Azure 공용 클라우드 내에서 또는 동일한 소버린 클라우드 내에서의 마이그레이션에 적용됩니다.

개요

기존의 관리형 인스턴스를 한 지역에서 다른 지역으로 이동하려는 다양한 시나리오가 있습니다. 예를 들어, 비즈니스를 새로운 지역으로 확장하고 있으며 새 고객층에 맞게 최적화하려고 합니다. 또는 규정 준수를 위해 작업을 다른 지역으로 이동해야 합니다. 또는 Azure는 더 나은 근접성을 제공하고 고객 환경을 개선하는 새로운 지역을 출시했습니다.

리소스를 다른 지역으로 이동하는 일반적인 워크플로는 다음 단계로 구성됩니다.

  1. 이동을 위한 사전 요구 사항을 확인합니다.
  2. 범위에서 리소스를 이동할 준비를 합니다.
  3. 준비 프로세스를 모니터링합니다.
  4. 이동 프로세스를 테스트합니다.
  5. 실제 이동을 시작합니다.
  6. 원본 지역에서 리소스를 제거합니다.

필수 구성 요소 확인

  1. 각 원본 관리되는 인스턴스의 경우, 대상 지역에 동일한 크기의 인스턴스를 만듭니다.
  2. 관리되는 인스턴스의 네트워크를 구성합니다. 자세한 내용은 네트워크 구성을 참조하세요.
  3. 올바른 로그인으로 대상 master 데이터베이스를 구성합니다. 구독 관리자 또는 SQL Managed Instance 관리자가 아닌 경우에는 관리자와 협력하여 필요한 권한을 할당받습니다.
  4. 데이터베이스가 TDE(투명한 데이터 암호화)로 암호화되고 Azure Key Vault에서 BYOK(Bring Your Own Key) 또는 CMK(고객 관리형 키)를 사용하는 경우, 대상 지역에 올바른 암호화 자료를 프로비저닝해야 합니다.
    • 이 작업을 수행하는 가장 간단한 방법은 기존 키 자격 증명 모음의 암호화 키(원본 서버에서 TDE 보호기로 사용됨)를 대상 인스턴스에 추가한 다음, 한 지역의 인스턴스가 이제 다른 지역의 키 자격 증명으로 연결될 수 있으므로 대상 인스턴스에서 키를 TDE 보호기로 설정하는 것입니다.
    • 대상 인스턴스가 이전 암호화 키(데이터베이스 백업 복원에 필요)에 액세스하도록 보장하는 가장 좋은 방법은 원본 인스턴스에서 Get-AzSqlServerKeyVaultKey cmdlet을 실행하거나, 원본 관리형 인스턴스에서 Get-AzSqlInstanceKeyVaultKey cmdlet을 실행하여 사용 가능한 키 목록을 반환하고 해당 키를 대상 인스턴스에 추가하는 것입니다.
    • 대상 인스턴스에서 고객 관리형 TDE를 구성하는 방법에 대한 자세한 내용과 모범 사례는 Azure Key Vault에서 고객 관리형 키를 사용한 Azure SQL 투명한 데이터 암호화를 참조하세요.
  5. 관리되는 인스턴스에 감사를 사용하는 경우 다음을 확인합니다.
    • 기존 로그가 포함된 스토리지 컨테이너 또는 이벤트 허브가 대상 지역으로 이동됩니다.
    • 감사는 대상 인스턴스에서 구성됩니다. 자세한 내용은 SQL Managed Instance를 사용하여 감사를 참조하세요.
  6. 인스턴스에 LTR(장기 보존 정책)이 있는 경우 기존 LTR 백업이 현재 인스턴스와 연결된 상태로 유지됩니다. 대상 인스턴스가 다르기 때문에 인스턴스가 삭제되더라도 원본 인스턴스를 사용하여 원본 지역의 이전 LTR 백업에 액세스할 수 있습니다.

참고 항목

소버린 지역과 공용 지역 간에 기존 LTR 백업이 있는 인스턴스를 마이그레이션하려면 현재 가능하지 않은 대상 인스턴스로 LTR 백업을 이동해야 하기 때문에 지원되지 않습니다.

리소스 준비

각 원본 관리되는 인스턴스와 SQL Managed Instance의 해당 대상 인스턴스 간에 장애 조치(failover) 그룹을 만듭니다.

각 인스턴스에 있는 모든 데이터베이스의 복제가 자동으로 시작됩니다. 자세한 내용은 장애 조치(failover) 그룹을 참조하세요.

준비 프로세스 모니터링

정기적으로 Get-AzSqlDatabaseInstanceFailoverGroup을 호출하여 원본에서 대상 인스턴스로의 데이터베이스의 복제를 모니터링할 수 있습니다. Get-AzSqlDatabaseInstanceFailoverGroup의 출력 개체에는 ReplicationState에 대한 속성이 포함되어 있습니다.

  • ReplicationState = CATCH_UP은 데이터베이스가 동기화되었으며 안전하게 장애 조치할 수 있음을 나타냅니다.
  • ReplicationState = SEEDING은 데이터베이스가 아직 시드되지 않아 장애 조치(failover) 시도가 실패했음을 나타냅니다.

동기화 테스트

ReplicationStateCATCH_UP인 경우, 보조 엔드포인트 <fog-name>.secondary.<zone_id>.database.windows.net을 사용하여 지역 보조에 연결하고 데이터베이스에 대한 모든 쿼리를 수행하여 연결, 적절한 보안 구성 및 데이터 복제를 보장합니다.

이동 시작

  1. 보조 엔드포인트 <fog-name>.secondary.<zone_id>.database.windows.net을 사용하여 대상 관리되는 인스턴스에 연결합니다.
  2. Switch-AzSqlDatabaseInstanceFailoverGroup을 사용하여 보조 관리되는 인스턴스를 전체 동기화를 사용하는 기본으로 전환합니다. 이 작업은 성공적으로 수행되거나 롤백됩니다.
  3. DNS CNAME 진입점이 대상 지역 IP 주소를 가리키는지 확인하기 위해 nslook up <fog-name>.secondary.<zone_id>.database.windows.net을 사용하여 명령이 성공적으로 완료되었는지 확인합니다. 스위치 명령이 실패하면 CNAME은 업데이트되지 않습니다.

원본 관리되는 인스턴스 제거

이동이 완료되면 불필요한 요금을 방지하기 위해 원본 지역의 리소스를 제거합니다.

  1. Remove-AzSqlDatabaseInstanceFailoverGroup을 사용하여 장애 조치(failover) 그룹을 삭제합니다. 장애 조치(failover) 그룹 구성을 삭제하고 두 인스턴스 간의 지역 복제 링크를 종료합니다.
  2. Remove-AzSqlInstance를 사용하여 원본 관리되는 인스턴스를 삭제합니다.
  3. 리소스 그룹에서 가상 네트워크 및 보안 그룹과 같은 추가 리소스를 제거합니다.