Azure Stack Hub에서 MySQL 호스팅 서버 추가

중요

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

MySQL 리소스 공급자가 인스턴스에 연결할 수 있는 한 Azure Stack Hub의 VM(가상 머신) 또는 Azure Stack Hub 환경 외부의 VM에서 MySQL 호스팅 서버 인스턴스를 호스트할 수 있습니다.

참고

MySQL 호스팅 서버를 청구 가능한 사용자 구독으로 만들어야 하는 동안 MySQL 리소스 공급자는 기본 공급자 구독에서 만들어야 합니다. 리소스 공급자 서버는 사용자 데이터베이스를 호스트하는 데 사용하면 안 됩니다.

MySQL 버전 5.6, 5.7 및 8.0은 호스팅 서버에 사용할 수 있습니다. MySQL RP는 caching_sha2_password 인증을 지원하지 않습니다. mySQL 8.0 서버는 mysql_native_password 사용하도록 구성해야 합니다.

MySQL 호스팅 서버 준비

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

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

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

    Azure Stack Hub 관리자 포털에서 네트워크 보안 그룹 선택

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

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

    열기

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

MySQL 호스팅 서버에 대한 외부 액세스 구성

MySQL 서버를 Azure Stack Hub MySQL 서버 호스트로 추가하려면 먼저 외부 액세스를 사용하도록 설정해야 합니다. 예를 들어 Azure Stack Hub 마켓플레이스에서 사용할 수 있는 Bitnami MySQL을 예로 들 수 있습니다. 다음 단계를 수행하여 외부 액세스를 구성할 수 있습니다.

  1. SSH 클라이언트(이 예제에서는 PuTTY 사용)를 사용하여 공용 IP에 액세스할 수 있는 컴퓨터에서 MySQL 서버에 로그인합니다.

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

    LinuxLogin

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

    sudo service bitnami status

    bitnami 서비스 확인

  3. MySQL 호스팅 서버가 버전 8.0 이상인 경우 인증 방법을 mysql_native_password 변경해야 합니다. MySQL 버전이 8.0 미만인 경우 이 단계를 건너뛸 수 있습니다.

    예를 들어 Bitnami MySQL을 예로 들어 구성 파일은 /opt/bitnami/mysql/conf/my.cnf 아래에 있습니다. 값 이 mysql_native_password 속성 default_authentication_plugin 설정합니다.

    [mysqld]
    default_authentication_plugin=mysql_native_password
    

    Bitnami 서비스를 다시 시작하고 제대로 실행되고 있는지 확인하지만 Bitnami 서비스를 시작하기 전에 ib_logfile0 파일을 삭제해야 합니다.

    sudo service bitnami stop
    sudo rm /bitnami/mysql/data/ib_logfile0
    sudo service bitnami start
    sudo service bitnami status
    
  4. Azure Stack Hub MySQL 호스팅 서버에서 MySQL에 연결하는 데 사용할 원격 액세스 사용자 계정을 만듭니다.

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

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

    관리자 사용자 만들기

  5. 만든 sql user sqlsa 의 플러그 인이 mysql_native_password SSH 클라이언트를 종료합니다.

    SELECT user,host,plugin from mysql.user;
    
  6. 새 MySQL 사용자 정보를 기록합니다.

    이 사용자 이름 및 암호는 Azure Stack Hub 운영자가 이 MySQL 서버를 사용하여 MySQL 호스팅 서버를 만드는 동안 사용됩니다.

MySQL 호스팅 서버에 연결

시스템 관리자 권한이 있는 계정에 대한 자격 증명이 있는지 확인합니다.

참고

MySQL 8.0 이상 버전의 경우 원격 액세스는 기본적으로 사용하도록 설정되지 않습니다. 호스팅 서버로 추가하기 전에 새 사용자 계정을 만들고 이 사용자 계정에 대한 원격 액세스 권한을 부여해야 합니다.

호스팅 서버를 추가하려면 다음 단계를 수행합니다.

  1. Azure Stack Hub 관리자 포털에 서비스 관리자로 로그인합니다.

  2. 모든 서비스를 선택합니다.

  3. 관리 리소스 범주에서 MySQL 호스팅 서버>+추가를 선택합니다. 다음 화면 캡처 에 표시된 MySQL 호스팅 서버 추가 대화 상자가 열립니다.

    MySQL 호스팅 서버 구성

  4. MySQL 서버 인스턴스의 연결 세부 정보를 제공합니다.

    • MySQL 호스팅 서버 이름의 경우 FQDN(정규화된 도메인 이름) 또는 유효한 IPv4 주소를 제공합니다. 짧은 VM 이름을 사용하지 마세요.
    • Azure Stack Hub Marketplace에서 사용할 수 있는 Bitnami MySQL 이미지의 기본 관리자 사용자 이름은루트입니다.
    • 루트 암호를 모르는 경우 Bitnami 설명서를 참조하여 가져오는 방법을 알아보세요.
    • 기본 MySQL 인스턴스는 제공되지 않으므로 호스팅 서버의 크기를 GB 단위로 지정해야 합니다. 데이터베이스 서버의 용량에 가까운 크기를 입력합니다.
    • 구독에 대한 기본 설정을 유지 합니다.
    • 리소스 그룹의 경우 새 그룹을 만들거나 기존 그룹을 사용합니다.

    중요

    배포 중에 MySQL 리소스 공급자 설치 관리자가 만든 리소스 그룹을system.<region>.sqladapter 선택하지 마세요. 호스팅 서버에 대해 다른 리소스 그룹을 제공해야 합니다.

    참고

    테넌트 및 관리자 Azure Resource Manager MySQL 인스턴스에 액세스할 수 있는 경우 리소스 공급자의 제어 하에 배치할 수 있습니다. 그러나 MySQL 인스턴스는 리소스 공급자에게만 할당 되어야 합니다 .

  5. SKU를 선택하여 SKU 만들기 대화 상자를 엽니다.

    MySQL SKU 만들기

    SKU 이름은 사용자가 해당 SKU에 데이터베이스를 배포할 수 있도록 SKU의 속성을 반영해야 합니다.

  6. 확인을 선택하여 SKU를 만듭니다.

    참고

    SKU는 포털에 표시되는 데 최대 1시간이 걸릴 수 있습니다. SKU가 배포되고 실행될 때까지 데이터베이스를 만들 수 없습니다.

  7. MySQL 호스팅 서버 추가에서 만들기를 선택합니다.

서버를 추가할 때 새 또는 기존 SKU에 할당하여 서비스 제품을 구분합니다. 예를 들어 증가된 데이터베이스 및 자동 백업을 제공하는 MySQL 엔터프라이즈 인스턴스가 있을 수 있습니다. 조직의 여러 부서에 대해 이 고성능 서버를 예약할 수 있습니다.

MySQL에 대한 보안 고려 사항

다음 정보는 RP 및 MySQL 호스팅 서버에 적용됩니다.

백 엔드 데이터베이스 용량 증가

Azure Stack Hub 포털에서 더 많은 MySQL 서버를 배포하여 백 엔드 데이터베이스 용량을 늘릴 수 있습니다. 새 또는 기존 SKU에 이러한 서버를 추가합니다. 기존 SKU에 서버를 추가하는 경우 서버 특성이 SKU의 다른 서버와 동일한지 확인합니다.

SKU 참고 사항

SKU에서 서버의 기능(예: 용량 및 성능)을 설명하는 SKU 이름을 사용합니다. 이 이름은 사용자가 적절한 SKU에 데이터베이스를 배포하는 데 도움이 됩니다. 예를 들어 SKU 이름을 사용하여 서비스 제품을 다음 특성으로 구분할 수 있습니다.

  • 대용량
  • 고성능
  • 고가용성

모범 사례로 SKU의 모든 호스팅 서버에는 동일한 리소스 및 성능 특성이 있어야 합니다.

SKU는 특정 테넌트에서 숨길 수 없으며 특정 테넌트 전용일 수도 없습니다.

SKU를 편집하려면 모든 서비스>MySQL 어댑터>SKU로 이동합니다. 수정할 SKU를 선택하고 필요한 내용을 변경한 다음 저장 을 클릭하여 변경 내용을 저장합니다.

더 이상 필요하지 않은 SKU를 삭제하려면 모든 서비스>MySQL 어댑터>SKU로 이동합니다. SKU 이름을 마우스 오른쪽 단추로 클릭하고 삭제 를 선택하여 삭제합니다.

중요

사용자 포털에서 새 SKU를 사용할 수 있는 데 최대 1시간이 걸릴 수 있습니다.

사용자가 MySQL 데이터베이스 서버를 사용할 수 있도록 설정

사용자가 MySQL 데이터베이스 서버를 사용할 수 있도록 계획 및 제안을 만듭니다. 계획에 Microsoft.MySqlAdapter 서비스를 추가하고 새 할당량을 만듭니다. MySQL은 데이터베이스 크기를 제한할 수 없습니다.

중요

사용자 포털에서 또는 변경된 할당량을 적용하기 전에 새 할당량을 사용할 수 있는 데 최대 2시간이 걸릴 수 있습니다.

참고

할당량을 사용하는 현재 계획이 있는 경우 할당량을 삭제할 수 없습니다. 먼저 할당량을 참조하는 계획을 삭제해야 합니다.

다음 단계

MySQL 데이터베이스 만들기