고가용성 MySQL 데이터베이스 만들기

중요

Azure Stack Hub 빌드 2108부터 액세스 권한이 부여된 구독에 SQL 및 MySQL 리소스 공급자가 제공됩니다. 이 기능을 사용하거나 이전 버전에서 업그레이드해야 하는 경우 지원 사례를 열고 지원 엔지니어가 배포 또는 업그레이드 프로세스를 안내합니다.

Azure Stack Hub 연산자는 MySQL 서버 데이터베이스를 호스트하도록 서버 VM(가상 머신)을 구성할 수 있습니다. Azure Stack Hub에서 MySQL 클러스터를 성공적으로 만들고 관리한 후 MySQL 서비스를 구독한 사용자는 고가용성 MySQL 데이터베이스를 쉽게 만들 수 있습니다.

이 문서에서는 Azure Stack Marketplace 항목을 사용하여 복제 클러스터가 있는 MySQL을 만드는 방법을 보여 줍니다. 이 솔루션은 여러 VM을 사용하여 마스터 노드에서 구성 가능한 복제본 수로 데이터베이스를 복제합니다. 클러스터가 만들어지면 클러스터를 Azure Stack Hub MySQL 호스팅 서버로 추가한 다음 사용자가 고가용성 MySQL 데이터베이스를 만들 수 있습니다.

중요

복제 Azure Stack Marketplace 항목 이 있는 MySQL 은 모든 Azure 클라우드 구독 환경에서 사용할 수 없습니다. 이 자습서의 나머지 부분을 따르기 전에 구독에서 마켓플레이스 항목을 사용할 수 있는지 확인합니다.

학습할 내용:

  • 마켓플레이스 항목에서 MySQL Server 클러스터를 만듭니다.
  • MySQL 서버 클러스터를 Azure Stack Hub MySQL 호스팅 서버로 구성합니다.
  • 고가용성 MySQL 데이터베이스를 만듭니다.

사용 가능한 Azure Stack Marketplace 항목을 사용하여 3개의 VM MySQL 서버 클러스터를 만들고 구성합니다.

시작하기 전에 MySQL 서버 리소스 공급자 가 성공적으로 설치되었고 Azure Stack Marketplace에서 다음 항목을 사용할 수 있는지 확인합니다.

중요

MySQL 클러스터를 만들려면 다음이 모두 필요합니다.

  • 복제가 포함된 MySQL: MySQL 클러스터 배포에 사용할 Bitnami 솔루션 템플릿입니다.
  • Debian 8 "Jessie": debian 8 "Jessie" with backports kernel for Microsoft Azure 제공 credativ. Debian GNU/Linux는 가장 많이 사용되는 Linux 배포 중 하나입니다.
  • Linux 2.0용 사용자 지정 스크립트: 사용자 지정 스크립트 확장은 VM 프로비전 후 VM 사용자 지정 작업을 실행하는 도구입니다. 이 확장이 VM에 추가되면 Azure Storage에서 스크립트를 다운로드하고 VM에서 실행할 수 있습니다. 사용자 지정 스크립트 확장 작업은 Azure PowerShell cmdlet 및 Azure xPlat CLI(플랫폼 간 Command-Line 인터페이스)를 사용하여 자동화할 수도 있습니다.
  • Linux용 VM 액세스 확장 1.4.7: VM 액세스 확장을 사용하면 암호, SSH 키 또는 SSH 구성을 다시 설정하여 VM에 대한 액세스 권한을 다시 얻을 수 있습니다. 암호 또는 SSH 키를 사용하여 새 사용자를 추가하거나 이 확장을 사용하여 사용자를 삭제할 수도 있습니다. 이 확장은 Linux VM을 대상으로 합니다.

Azure Stack Marketplace에 항목을 추가하는 방법에 대한 자세한 내용은 Azure Stack Marketplace 개요를 참조하세요.

또한 배포된 후 Linux VM에 로그인하려면 PuTTY 와 같은 SSH 클라이언트가 필요합니다.

MySQL 서버 클러스터 만들기

이 섹션의 단계를 사용하여 복제 마켓플레이스 항목 과 함께 MySQL을 사용하여 MySQL 서버 클러스터를 배포합니다. 이 템플릿은 고가용성 MySQL 클러스터에 구성된 세 개의 MySQL 서버 인스턴스를 배포합니다. 기본적으로 다음 리소스를 만듭니다.

  • 가상 네트워크
  • 네트워크 보안 그룹
  • 스토리지 계정
  • 가용성 집합
  • 세 개의 네트워크 인터페이스(기본 VM 각각에 대해 하나씩)
  • 공용 IP 주소(기본 MySQL 클러스터 VM의 경우)
  • MySQL 클러스터를 호스트하는 Linux VM 3개
  1. 사용자 포털에 로그인합니다.

    • 통합 시스템 배포의 경우 포털 주소는 솔루션의 지역 및 외부 도메인 이름에 따라 달라집니다. https://portal.<region>.<FQDN> 형식이 됩니다.
    • ASDK(Azure Stack Development Kit)의 경우 포털 주소는 https://portal.local.azurestack.external.
  2. 아직 할당된 구독이 없는 경우 대시보드에서 구독 가져오기 를 선택합니다. 블레이드에서 구독의 이름을 입력한 다음, 제품을 선택합니다. 실수로 제거되지 않도록 MySQL 클러스터 배포를 자체 구독에 유지하는 것이 좋습니다.

  3. resourceCompute>만들기를 선택한 다음, 복제를 사용하여 MySQL을 선택합니다+.

    Custom template deployment in Azure Stack Hub

  4. 기본 페이지에서 기본 배포 정보를 제공합니다. 기본값을 검토하고 필요에 따라 변경하고 확인을 선택합니다.

    최소한 다음 정보를 제공합니다.

    • 배포 이름(기본값: mymysql).

    • 애플리케이션 루트 암호입니다. 특수 문자 없이 12자 영숫자 암호를 제공합니다.

    • 애플리케이션 데이터베이스 이름(기본값은 bitnami)입니다.

    • 만들 MySQL 데이터베이스 복제본 VM의 수(기본값: 2).

    • 사용할 구독을 선택합니다.

    • 사용할 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.

    • 위치를 선택합니다(기본값은 버전 2107 이전 ASDK의 경우 로컬임).

      Deployment basics -- Create MySQL with Replication

  5. 환경 구성 페이지에서 다음 정보를 입력한 다음 확인을 선택합니다.

    • SSH(보안 셸) 인증에 사용할 암호 또는 SSH 공개 키입니다. 암호를 사용하는 경우 문자, 숫자를 포함해야 하며 특수 문자를 포함 할 수 있습니다 .

    • VM 크기(기본값: 표준 D1 v2 VM).

    • 데이터 디스크 크기(GB)

      Environment configuration -- Create MySQL with Replication

  6. 배포 요약을 검토 합니다. 필요에 따라 사용자 지정된 템플릿 및 매개 변수를 다운로드한 다음 확인을 선택할 수 있습니다.

    Summary -- Create MySQL with Replication

  7. 구매 페이지에서 만들기를 선택하여 배포를 시작합니다.

    Buy page -- Create MySQL with Replication

    참고

    배포에는 약 1시간이 걸립니다. 계속하기 전에 배포가 완료되고 MySQL 클러스터가 완전히 구성되었는지 확인합니다.

  8. 모든 배포가 성공적으로 완료되면 리소스 그룹 항목을 검토하고 mysqlip 공용 IP 주소 항목을 선택합니다. 클러스터에 대한 공용 IP의 공용 IP 주소 및 전체 FQDN을 기록합니다.

    이 MySQL 클러스터를 활용하여 MySQL 호스팅 서버를 만들 수 있도록 이 IP 주소를 Azure Stack Hub 운영자에게 제공해야 합니다.

네트워크 보안 그룹 규칙 만들기

기본적으로 MySQL에 대한 공용 액세스는 호스트 VM에 구성되지 않습니다. Azure Stack Hub MySQL 리소스 공급자가 MySQL 클러스터를 연결하고 관리하려면 인바운드 NSG(네트워크 보안 그룹) 규칙을 만들어야 합니다.

  1. 관리자 포털에서 MySQL 클러스터를 배포할 때 만든 리소스 그룹으로 이동하여 네트워크 보안 그룹(default-subnet-sg)을 선택합니다.

    Select network security group in Azure Stack Hub administrator portal

  2. 인바운드 보안 규칙을 선택한 다음 추가를 선택합니다.

    대상 포트 범위에3306을 입력하고 필요에 따라 이름설명 필드에 설명을 입력합니다.

    open

  3. 추가를 선택하여 인바운드 보안 규칙 대화 상자를 닫습니다.

MySQL 클러스터에 대한 외부 액세스 구성

MySQL 클러스터를 Azure Stack Hub MySQL 서버 호스트로 추가하려면 먼저 외부 액세스를 사용하도록 설정해야 합니다.

  1. SSH 클라이언트(이 예제에서는 PuTTY 사용)를 사용하여 공용 IP에 액세스할 수 있는 컴퓨터에서 기본 MySQL 컴퓨터에 로그인합니다. 기본 MySQL VM 이름은 일반적으로 0 으로 끝나고 공용 IP가 할당됩니다.

    공용 IP를 사용하고 bitnami 의 사용자 이름 및 특수 문자 없이 이전에 만든 애플리케이션 암호를 사용하여 VM에 로그인합니다.

    LinuxLogin

  2. SSH 클라이언트 창에서 다음 명령을 사용하여 bitnami 서비스가 활성 상태이고 실행 중인지 확인합니다. 메시지가 표시되면 bitnami 암호를 다시 제공합니다.

    sudo service bitnami status

    Check bitnami service

  3. Azure Stack Hub MySQL 호스팅 서버에서 MySQL에 연결하는 데 사용할 원격 액세스 사용자 계정을 만든 다음 SSH 클라이언트를 종료합니다.

    다음 명령을 실행하여 이전에 만든 루트 암호를 사용하여 루트로 MySQL에 로그인합니다. 사용자 환경에 필요한 대로 새 관리자 사용자를 만들고 사용자 이름과> 암호를 대체<합니다.>< 이 예제에서는 생성된 사용자의 이름이 sqlsa 이고 강력한 암호가 사용됩니다.

    mysql -u root -p
    create user <username>@'%' identified by '<password>';
    grant all privileges on *.* to <username>@'%' with grant option;
    flush privileges;
    

    Create admin user

  4. 새 MySQL 사용자 정보를 기록합니다.

    이 MySQL 클러스터를 사용하여 MySQL 호스팅 서버를 만들 수 있도록 클러스터에 대한 공용 IP 주소 또는 공용 IP의 전체 FQDN과 함께 이 사용자 이름 및 암호를 Azure Stack Hub 운영자에게 제공해야 합니다.

Azure Stack Hub MySQL 호스팅 서버 구성

MySQL 서버 클러스터를 만들고 올바르게 구성한 후에는 Azure Stack Hub 운영자가 이를 Azure Stack Hub MySQL 호스팅 서버로 추가해야 합니다.

MySQL 클러스터의 리소스 그룹을 만들 때 이전에 기록된 MySQL 클러스터 기본 VM의 공용 IP에 대해 공용 IP 또는 전체 FQDN을 사용해야 합니다(mysqlip). 또한 운영자는 MySQL 클러스터 데이터베이스에 원격으로 액세스하기 위해 만든 MySQL 서버 인증 자격 증명을 알고 있어야 합니다.

참고

이 단계는 Azure Stack Hub 운영자가 Azure Stack Hub 관리자 포털에서 실행해야 합니다.

이제 Azure Stack Hub 운영자는 MySQL 클러스터의 공용 IP 및 MySQL 인증 로그인 정보를 사용하여 새 MySQL 클러스터를 사용하여 MySQL 호스팅 서버를 만들 수 있습니다.

또한 사용자가 MySQL 데이터베이스를 만들 수 있도록 계획 및 제안을 만들었는지 확인합니다. 운영자는 계획에 Microsoft.MySqlAdapter 서비스를 추가하고 고가용성 데이터베이스에 대한 새 할당량을 만들어야 합니다. 계획을 만드는 방법에 대한 자세한 내용은 서비스, 계획, 제안, 구독 개요를 참조하세요.

MySQL 서버 리소스 공급자가 배포될 때까지 Microsoft.MySqlAdapter 서비스를 계획에 추가할 수 없습니다.

고가용성 MySQL 데이터베이스 만들기

MySQL 클러스터를 만들고 구성하고 Azure Stack Hub 운영자가 Azure Stack Hub MySQL 호스팅 서버로 추가한 후 MySQL 서버 데이터베이스 기능을 포함한 구독을 사용하는 테넌트 사용자는 이 섹션의 단계에 따라 고가용성 MySQL 데이터베이스를 만들 수 있습니다.

참고

Azure Stack Hub 사용자 포털에서 MySQL 서버 기능(Microsoft.MySQLAdapter 서비스)을 제공하는 구독을 사용하는 테넌트 사용자로 다음 단계를 실행합니다.

  1. 사용자 포털에 로그인합니다.

    • 통합 시스템 배포의 경우 포털 주소는 솔루션의 지역 및 외부 도메인 이름에 따라 달라집니다. https://portal.<region>.<FQDN> 형식이 됩니다.
    • ASDK(Azure Stack Development Kit)의 경우 포털 주소는 .입니다 https://portal.local.azurestack.external.
  2. resourceData>+ Storage 만든 다음 MySQL 데이터베이스 만들기를 선택합니다+.

    이름, 데이터 정렬, 사용할 구독 및 배포에 사용할 위치를 포함하여 필요한 데이터베이스 속성 정보를 제공합니다.

    Create MySQL database in Azure Stack Hub user portal

  3. SKU를 선택한 다음 사용할 적절한 MySQL 호스팅 서버 SKU를 선택합니다. 이 예제에서 Azure Stack Hub 운영자는 MySQL 클러스터 데이터베이스에 대한 고가용성을 지원하기 위해 MySQL-HA SKU를 만들었습니다.

    Select SKU in Azure Stack Hub user portal

  4. 새 로그인을 LoginCreate> 선택한 다음 새 데이터베이스에 사용할 MySQL 인증 자격 증명을 제공합니다. 완료되면 확인을 선택한 다음 만들기 를 선택하여 데이터베이스 배포 프로세스를 시작합니다.

    Add login in Azure Stack Hub user portal

  5. MySQL 데이터베이스 배포가 성공적으로 완료되면 데이터베이스 속성을 검토하여 새로운 고가용성 데이터베이스에 연결하는 데 사용할 연결 문자열을 검색합니다.

    View connection string in Azure Stack Hub user portal

다음 단계

MySQL 리소스 공급자 업데이트