자습서: 마이그레이션 서비스를 사용하여 Azure Database for PostgreSQL - 단일 서버에서 Azure Database for PostgreSQL - 유연한 서버로 마이그레이션

적용 대상: Azure Database for PostgreSQL - 유연한 서버

Azure Portal을 사용하여 Azure Database for PostgreSQL – 단일 서버의 인스턴스를 Azure Database for PostgreSQL – 유연한 서버로 마이그레이션할 수 있습니다. 이 자습서에서는 Azure Portal을 사용하여 Azure Database for PostgreSQL 단일 서버에서 PostgreSQL 유연한 서버로 샘플 데이터베이스 마이그레이션을 수행합니다.

  • Azure Database for PostgreSQL 유연한 서버 구성
  • 마이그레이션 태스크 구성
  • 마이그레이션 모니터링
  • 마이그레이션 취소
  • 마이그레이션 후

Azure Portal을 사용하여 마이그레이션할 수 있습니다.

필수 조건(오프라인)

Azure Database for PostgreSQL에서 마이그레이션 서비스를 사용하여 마이그레이션을 시작하기 전에 오프라인 마이그레이션 시나리오에 적용되는 다음 필수 구성 요소를 충족해야 합니다.

원본 버전 확인

원본 PostgreSQL 버전은 >= 9.5여야 합니다. 원본 PostgreSQL 버전이 9.5 미만인 경우 마이그레이션하기 전에 원본 PostgreSQL 버전을 9.5 이상으로 업그레이드합니다.

대상 설정

  • 마이그레이션하기 전에 Azure Database for PostgreSQL을 Azure에 설정해야 합니다.

  • Azure Database for PostgreSQL용으로 선택한 SKU는 호환성과 적절한 성능을 보장하기 위해 원본 데이터베이스의 사양과 일치해야 합니다.

  • 새로운 Azure Database for PostgreSQL 만들기에 대한 자세한 지침은 다음 링크를 참조하세요: 빠른 시작: 서버 만들기.

네트워크 설정

마이그레이션 중에 원본과 대상 간의 성공적인 연결을 보장하려면 적절한 네트워킹 설정이 필수적입니다. 다음은 다양한 시나리오에 대한 네트워크 연결을 설정하는 데 도움이 되는 가이드입니다.

마이그레이션을 위한 네트워킹 요구 사항:

  • ExpressRoute/IPsec VPN/VPN 터널링: 온-프레미스/AWS 원본을 Azure에 연결할 때 보안 데이터 전송을 용이하게 하기 위해 ExpressRoute, IPsec VPN 또는 VPN 터널링을 설정해야 할 수도 있습니다.

  • VNet 피어링: 두 개의 서로 다른 VNet 간에 가상 네트워크 피어링을 설정하여 Azure VM과 Azure Database for PostgreSQL 간의 마이그레이션을 위한 필수 조건인 직접 네트워크 연결을 사용하도록 설정합니다.

연결 시나리오

다음 표는 원본과 대상 간의 네트워크를 설정하는 데 도움이 될 수 있습니다.

원본 대상 연결 팁
공공 사업 공공 사업 원본이 대상의 방화벽 규칙에 허용 목록에 있는 경우 다른 작업이 필요하지 않습니다.
개인 공공 사업 이 구성은 지원되지 않습니다. 데이터 전송에는 pg_dump/pg_restore를 사용합니다.
공공 사업 프라이빗 원본이 대상의 방화벽 규칙에 허용 목록에 있는 경우 다른 작업이 필요하지 않습니다.
프라이빗 프라이빗 원본과 대상 간의 ExpressRoute, IPsec VPN, VPN 터널링 또는 가상 네트워크 피어링을 설정합니다.
프라이빗 Private Endpoint 이 구성은 지원되지 않습니다. Microsoft 지원에 문의하세요.

추가 네트워킹 고려 사항:

  • pg_hba.conf 구성: 원본과 대상 PostgreSQL 인스턴스 간의 연결을 용이하게 하려면 pg_hba.conf 파일을 확인하고 잠재적으로 수정해야 합니다. 이 파일에는 클라이언트 인증이 포함되어 있으며 대상 PostgreSQL이 원본에 연결할 수 있도록 구성해야 합니다. pg_hba.conf 파일에 대한 변경 내용을 적용하려면 일반적으로 원본 PostgreSQL 인스턴스를 다시 시작해야 합니다.

참고 항목

pg_hba.conf 파일은 PostgreSQL 설치의 데이터 디렉터리에 있습니다. 원본 데이터베이스가 온-프레미스 PostgreSQL 서버이거나 Azure VM에서 호스트되는 PostgreSQL 서버인 경우 이 파일을 확인하고 구성해야 합니다. AWS RDS 또는 유사한 관리되는 서비스의 PostgreSQL 인스턴스의 경우 pg_hba.conf 파일에 직접 액세스하거나 적용할 수 없습니다. 대신 서비스에서 제공하는 보안 및 네트워크 액세스 구성을 통해 액세스가 제어됩니다.

네트워크 설정에 대한 자세한 내용은 Azure Database for PostgreSQL - 유연한 서버의 마이그레이션 서비스에 대한 네트워크 가이드를 참조하세요.

확장

확장은 기능을 향상시키기 위해 PostgreSQL에 추가할 수 있는 추가 기능입니다. 확장은 Azure Database for PostgreSQL에서 지원되지만 수동으로 사용하도록 설정해야 합니다. 확장 기능을 사용하도록 설정하려면 다음 단계를 따릅니다.

  • 사용 중인 모든 확장을 나열하려면 원본에서 선택 명령을 사용합니다. - select extname,extversion from pg_extension;

  • Azure Database for PostgreSQL의 서버 매개 변수 페이지에서 azure.extensions 서버 매개 변수를 검색합니다. PostgreSQL 내의 원본에 있는 확장을 사용하도록 설정합니다.

  • 매개 변수 변경 내용을 저장하고 Azure Database for PostgreSQL을 다시 시작하여 필요한 경우 새 구성을 적용합니다.

    확장 스크린샷.

  • 목록에 다음 확장자가 포함되어 있는지 확인합니다.

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

그렇다면 서버 매개 변수 페이지에서 shared_preload_libraries 매개 변수를 검색합니다. 이 매개 변수는 서버 다시 시작 시 미리 로드되는 확장 라이브러리 집합을 나타냅니다.

서버 매개 변수

이러한 매개 변수는 대상 환경으로 자동으로 마이그레이션되지 않으며 수동으로 구성해야 합니다.

  • Azure Portal의 "서버 매개 변수" 섹션에 액세스하고 그에 따라 값을 수동으로 업데이트하여 원본 PostgreSQL 데이터베이스의 서버 매개 변수 값을 Azure Database for PostgreSQL과 일치시킵니다.

  • 매개 변수 변경 내용을 저장하고 Azure Database for PostgreSQL을 다시 시작하여 필요한 경우 새 구성을 적용합니다.

대상에서 고가용성(안정성) 및 읽기 복제본을 사용하지 않도록 설정합니다.

  • 고가용성(안정성)을 사용하지 않도록 설정하고 대상 환경에서 복제본을 읽어야 합니다. 이러한 기능은 마이그레이션이 완료된 후에만 사용하도록 설정되어야 합니다.

  • 이러한 지침을 따르면 HA 및 읽기 복제본으로 인해 발생하는 추가 변수 없이 원활한 마이그레이션 프로세스를 보장할 수 있습니다. 마이그레이션이 완료되고 데이터베이스가 안정되면 계속해서 이러한 기능을 사용하도록 설정하여 Azure에서 데이터베이스 환경의 가용성과 확장성을 향상시킬 수 있습니다.

Azure Database for PostgreSQL 유연한 서버 구성

  • 대상 유연한 서버를 만듭니다. 단계별 단계는 빠른 시작 포털을 사용하여 Azure Database for PostgreSQL 유연한 서버 만들기를 참조하세요.

  • 서버 시작 시 라이브러리를 로드해야 하는 허용 목록 확장입니다. 마이그레이션을 시작하기 전에 확장이 허용 목록에 있어야 합니다.

  • 대부분의 데이터가 단일(또는 소수) 테이블에 존재하여 데이터베이스 테이블 간의 데이터 배포가 왜곡되어 있는지 확인합니다. 왜곡된 경우 마이그레이션 속도가 예상보다 느려질 수 있습니다. 이 경우 대형 테이블을 병렬로 마이그레이션하면 마이그레이션 속도를 높일 수 있습니다.

마이그레이션 태스크 구성

마이그레이션 서비스는 Azure Portal에서 간단한 마법사 기반 환경과 함께 제공됩니다. 시작하는 방법은 다음과 같습니다.

  1. 웹 브라우저를 열고 포털로 이동합니다. 로그인하려면 자격 증명을 입력합니다. 기본 보기는 서비스 대시보드입니다.

  2. Azure Database for PostgreSQL 유연한 서버 대상으로 이동합니다.

  3. 유연한 서버의 개요 탭 왼쪽 메뉴에서 마이그레이션까지 아래로 스크롤하여 선택합니다.

    유연한 개요 페이지의 스크린샷.

  4. 단일 서버에서 유연한 서버로 마이그레이션을 시작하려면 만들기 단추를 선택합니다. 마이그레이션 서비스를 처음 사용하는 경우 첫 번째 마이그레이션을 시작하라는 메시지와 함께 빈 표가 나타납니다.

    유연한 서버의 마이그레이션 탭 스크린샷.

    유연한 서버 대상으로 마이그레이션을 이미 만든 경우 그리드에는 단일 서버에서 이 대상으로 시도된 마이그레이션에 대한 정보가 포함됩니다.

  5. 단일 서버에서 마이그레이션 단추를 선택합니다. 마법사 기반의 일련의 탭을 통해 모든 원본 단일 서버에서 이 유연한 서버 대상으로 마이그레이션을 만듭니다.

또는 Azure Database for PostgreSQL 단일 서버에서 마이그레이션 프로세스를 시작할 수 있습니다.

  1. 웹 브라우저를 열고 포털로 이동합니다. 로그인하려면 자격 증명을 입력해야 합니다. 기본 보기는 서비스 대시보드입니다.

  2. 단일 서버를 선택하시면 개요 탭에서 마이그레이션 관련 배너를 보실 수 있습니다. 시작하려면 지금 마이그레이션을 선택합니다.

    단일 서버 탭에서 마이그레이션을 시작하는 스크린샷.

  3. 두 가지 옵션이 있는 페이지로 이동합니다. 유연한 서버를 이미 만들었으며 해당 서버를 대상으로 사용하려는 경우 기존 항목 선택을 선택하고 해당 구독, 리소스 그룹 및 서버 이름 세부 정보를 선택합니다. 선택이 완료되면 마이그레이션 마법사로 이동을 선택하고 이 페이지의 설정 탭 섹션에 있는 지침으로 건너뜁니다.

    기존의 유연한 서버 옵션을 선택하는 스크린샷.

  4. 새 유연한 서버 만들기를 선택한 경우 새로 만들기를 선택하고 마법사 만들기로 이동을 선택합니다. 이 작업은 유연한 서버 만들기 프로세스를 안내하고 유연한 서버를 배포합니다.

    새 유연한 서버 옵션을 선택하는 스크린샷.

유연한 서버를 배포한 후 마이그레이션 작업 구성 아래의 3~5단계를 따릅니다.

설정 탭

첫 번째 탭은 설정입니다. 놓친 경우에 표시된 대로 필요한 확장을 허용 목록에 추가합니다. 마이그레이션을 시작하기 전에 이러한 확장을 허용 목록에 추가해야 합니다.

오프라인 설정 탭에 속하는 세부 정보의 스크린샷.

마이그레이션 이름은 이 유연한 서버 대상으로의 각 마이그레이션에 대한 고유 식별자입니다. 이 필드는 영숫자 문자만 허용하며 특수 문자는 허용하지 않습니다(하이픈(-) 제외). 이름은 하이픈으로 시작할 수 없으며 대상 서버에 대해 고유해야 합니다. 동일한 유연한 서버 대상으로의 두 마이그레이션은 동일한 이름을 가질 수 없습니다.

원본 서버 형식은 원본을 나타냅니다. 이 경우 Azure Database for PostgreSQL 단일 서버입니다.

마이그레이션 옵션 - 마이그레이션을 시작하기 전에 유효성 검사를 수행할 수 있습니다. 다음 옵션 중 하나를 선택할 수 있습니다.

  • 유효성 검사 - 대상으로 마이그레이션하기 위한 서버 및 데이터베이스 준비 상태의 유효성을 검사합니다.
  • 마이그레이션 - 유효성 검사를 건너뛰고 마이그레이션을 시작합니다.
  • 유효성 검사 및 마이그레이션 - 마이그레이션을 시작하기 전에 유효성 검사를 수행합니다. 유효성 검사 실패가 없는 경우에만 마이그레이션이 트리거됩니다.

마이그레이션을 실행하기 전에 항상 유효성 검사 또는 유효성 검사 및 마이그레이션 옵션을 선택하여 마이그레이션 전 유효성 검사를 수행하는 것이 좋습니다.

온라인 마이그레이션 미리 보기를 선택한 경우 원본 단일 서버에서 논리적 복제를 켜야 합니다. 켜져 있지 않으면 마이그레이션 서비스는 원본 단일 서버에서 논리적 복제를 자동으로 켭니다. Azure 복제 지원 수준을 논리로 설정하여 단일 서버 쪽 창의 복제 탭에서 복제를 수동으로 설정할 수도 있습니다. 두 가지 방법 모두 원본 단일 서버를 다시 시작합니다.

다음: 원본에 연결 단추를 선택합니다.

원본 탭

원본 탭은 데이터베이스 원본인 단일 서버와 관련된 세부 정보를 제공하라는 메시지를 표시합니다.

구독리소스 그룹을 선택하면 서버 이름에 대한 드롭다운 목록에 지역 전체의 해당 리소스 그룹 아래에 서버 원본이 표시됩니다. 데이터베이스를 마이그레이션할 원본을 선택합니다. 단일 서버에서 동일한 지역의 대상 유연한 서버로 데이터베이스를 마이그레이션할 수 있습니다. 지역 간 마이그레이션은 인도, 중국, UAE 서버에서만 사용하도록 설정됩니다.

단일 서버 원본을 선택하면 위치, PostgreSQL 버전서버 관리자 로그인 이름 상자가 자동으로 채워집니다. 서버 관리 사용자 로그인 이름은 단일 서버를 만드는 데 사용되는 관리 사용자 이름입니다. 암호 상자에 해당 관리 사용자의 암호를 입력합니다. 마이그레이션 서비스는 관리 사용자로 단일 서버 데이터베이스를 마이그레이션합니다.

모든 필드를 작성한 후 원본에 연결 링크를 선택합니다. 이를 통해 입력한 원본 서버 세부 정보가 정확하고 원본 서버에 연결할 수 있는지 유효성을 검사합니다.

원본 데이터베이스 서버 세부 정보의 스크린샷.​

계속하려면 다음: 마이그레이션 대상 선택 단추를 선택합니다.

대상 탭

대상 탭에는 구독 이름, 리소스 그룹, 서버 이름, 위치, PostgreSQL 버전과 같은 유연한 서버 대상의 메타데이터가 표시됩니다.

대상 데이터베이스 서버 세부 정보의 스크린샷.

서버 관리 사용자 로그인 이름의 경우 유연한 서버 대상을 만드는 동안 사용된 관리 사용자 이름이 탭에 표시됩니다. 관리 사용자의 해당 암호를 입력합니다. 암호를 입력한 후 대상에 연결 링크를 선택합니다. 이를 통해 입력한 대상 서버 세부 정보가 정확하고 대상 서버에 연결할 수 있는지 유효성을 검사합니다.

마이그레이션할 데이터베이스를 선택하려면 다음 단추를 선택합니다.

마이그레이션 탭에서 데이터베이스를 선택합니다.

이 탭에는 단일 서버 내부의 사용자 데이터베이스 목록이 있습니다. 단일 마이그레이션 시도에서 최대 8개의 데이터베이스를 선택하고 마이그레이션할 수 있습니다. 8개 이상의 사용자 데이터베이스가 있는 경우 다음 데이터베이스 집합에 대해 원본 서버와 대상 서버 간에 마이그레이션 프로세스가 반복됩니다. 기본적으로 대상에서 동일한 이름을 가진 선택된 데이터베이스를 덮어씁니다.

마이그레이션할 데이터베이스의 스크린샷.

세부 정보를 검토하려면 다음 단추를 선택합니다.

요약

요약 탭에는 유효성 검사 또는 마이그레이션 만들기에 대한 모든 세부 정보가 요약되어 있습니다. 세부 사항을 검토하고 시작 단추를 선택합니다.

마이그레이션에 대해 검토할 세부 정보의 스크린샷.

마이그레이션 포털 모니터링

시작 단추를 선택하면 몇 초 후에 유효성 검사 또는 마이그레이션 만들기가 성공했다는 알림이 나타납니다. 유연한 서버의 마이그레이션 페이지로 자동 리디렉션됩니다. 여기에는 최근에 만들어진 유효성 검사 또는 마이그레이션에 대한 새 항목이 있습니다.

최근에 만들어진 마이그레이션 세부 정보의 스크린샷.

마이그레이션을 표시하는 그리드에는 이름, 상태, 마이그레이션 형식, 마이그레이션 모드, 원본 서버, 원본 서버 형식, 데이터베이스, 시작 시간기간 열이 있습니다. 항목은 시작 시간의 내림차순으로 표시되며 가장 최근 항목이 맨 위에 표시됩니다.

새로 고침 단추를 사용하여 유효성 검사 또는 마이그레이션 상태를 새로 고칠 수 있습니다. 그리드에서 마이그레이션 이름을 선택하여 관련 세부 정보를 볼 수도 있습니다.

유효성 검사 또는 마이그레이션이 만들어질 때 InProgress 상태 및 PerformingPreRequisiteSteps 하위 상태로 이동합니다. 워크플로에서 마이그레이션 인프라와 네트워크 연결을 설정하는 데 2~3분이 소요됩니다.

마이그레이션 옵션에 대한 마이그레이션을 모니터링하는 방법을 살펴보겠습니다.

유효성 검사

PerformingPreRequisiteSteps 하위 상태가 완료된 후 유효성 검사는 마이그레이션 준비 상태를 평가하기 위해 원본 및 대상 서버에서 검사가 수행되는 유효성 검사 진행 중 하위 상태로 이동합니다.

모든 유효성 검사가 성공 또는 경고 상태인 경우 유효성 검사는 성공 상태로 전환됩니다.

유효성 검사 그리드의 스크린샷.

유효성 검사 그리드에는

  • 마이그레이션 준비 상태의 유효성을 검사하는 데 사용되는 유효성 검사 규칙을 나타내는 인스턴스 유효성 검사 세부 정보데이터베이스 유효성 검사 세부 정보 섹션.
  • 유효성 검사 상태 - 각 규칙의 결과를 나타내며 세 가지 값 중 하나를 가질 수 있습니다.
    • 성공 - 오류가 발견되지 않은 경우.
    • 실패 - 유효성 검사 오류가 있는 경우.
    • 경고 - 유효성 검사 경고가 있는 경우.
  • 기간 - 유효성 검사 작업에 소요되는 시간.
  • 시작 및 종료 시간 - 유효성 검사 작업의 시작 및 종료 시간(UTC 기준).

유효성 검사에 오류가 있으면 유효성 검사 상태실패 상태로 전환됩니다. 실패한 유효성 검사 이름 또는 데이터베이스 이름 유효성 검사를 선택하면 팬아웃 창에 세부 정보와 이 오류를 방지하기 위해 취해야 할 정정 작업이 표시됩니다.

실패 상태의 유효성 검사 표 스크린샷.

마이그레이션

PerformingPreRequisiteSteps 하위 상태가 완료된 후 데이터베이스 복제/복사가 발생할 때 마이그레이션이 데이터 마이그레이션 하위 상태로 이동합니다. 마이그레이션이 완료되는 데 걸리는 시간은 마이그레이션하려는 데이터베이스의 크기와 모양에 따라 다릅니다. 데이터가 대부분 모든 테이블에 균등하게 분산되어 있으면 마이그레이션이 빠릅니다. 기울어진 테이블 크기는 상대적으로 시간이 더 오래 걸립니다.

마이그레이션 중인 데이터베이스를 선택하면 팬아웃 창이 나타납니다. 데이터베이스 마이그레이션 상태와는 별도로 복사, 대기, 복사 및 오류 등 모든 테이블 수를 포함합니다.

모든 DB 세부 정보가 포함된 마이그레이션 그리드의 스크린샷.

데이터 마이그레이션 중 상태가 성공적으로 완료되면 마이그레이션이 성공 상태로 전환됩니다. 데이터 마이그레이션 상태에 문제가 있는 경우 마이그레이션은 실패 상태로 전환됩니다.

마이그레이션 결과 스크린샷.

마이그레이션이 성공 상태로 전환되면 단일 서버에서 유연한 서버 대상으로의 스키마 및 데이터 마이그레이션이 완료됩니다. 페이지의 새로 고침 단추를 사용하여 동일한 내용을 확인할 수 있습니다.

완료된 마이그레이션의 스크린샷.

유효성 검사 및 마이그레이션

이 옵션에서는 마이그레이션이 시작되기 전에 먼저 유효성 검사가 수행됩니다. PerformingPreRequisiteSteps 하위 상태가 완료된 후 워크플로는 유효성 검사 진행 중 하위 상태로 이동합니다.

  • 유효성 검사에 오류가 있으면 마이그레이션이 실패 상태로 전환됩니다.
  • 오류 없의 유효성이 검사가 완료되면 마이그레이션이 시작되고 워크플로는 데이터 마이그레이션 중 하위 상태로 전환됩니다.

작업이 완료되면 유효성 검사 및 마이그레이션 결과를 볼 수 있습니다.

세부 정보 페이지의 유효성 검사 탭을 보여 주는 스크린샷.

포털을 사용하여 마이그레이션 취소

진행 중인 유효성 검사이나 마이그레이션을 취소할 수 있습니다. 취소하려면 워크플로가 InProgress 상태여야 합니다. 성공 또는 실패 상태인 유효성 검사 또는 마이그레이션은 취소할 수 없습니다.

유효성 검사를 취소하면 추가 유효성 검사 작업이 중지되고 유효성 검사가 취소됨 상태로 전환됩니다. 마이그레이션을 취소하면 대상 서버에서 추가 마이그레이션 작업이 중지되고 취소됨 상태로 전환됩니다. 취소 작업을 수행하면 대상 서버에서 마이그레이션 서비스에 의해 수행된 모든 변경 내용이 롤백됩니다.

마이그레이션 후

데이터베이스를 완료한 후에는 원본과 대상 간의 데이터를 수동으로 유효성 검사하고 대상 데이터베이스의 모든 개체가 성공적으로 만들어졌는지 유효성을 검사해야 합니다.

마이그레이션 후에는 다음 작업을 수행할 수 있습니다.

  • 유연한 서버의 데이터를 확인하고 원본 인스턴스의 정확한 복사본인지 확인합니다.

  • 검증 후 필요에 따라 유연한 서버에서 고가용성 옵션을 사용하도록 설정합니다.

  • 애플리케이션 요구 사항에 맞게 유연한 서버의 SKU를 변경합니다. 이 변경 내용을 적용하려면 데이터베이스 서버를 다시 시작해야 합니다.

  • 원본 인스턴스의 기본값에서 서버 매개 변수를 변경하는 경우 해당 서버 매개 변수 값을 유연한 서버에 복사합니다.

  • 태그, 경고, 방화벽 규칙(해당되는 경우)과 같은 기타 서버 설정을 원본 인스턴스에서 유연한 서버로 복사합니다.

  • 연결 문자열이 유연한 서버를 가리키도록 애플리케이션을 변경합니다.

  • 데이터베이스 성능을 면밀히 모니터링하여 성능 튜닝이 필요한지 확인합니다.