항상 사용 가능한 MySQL 데이터베이스 만들기Create highly available MySQL databases

Azure Stack 허브 운영자는 서버 가상 머신 (Vm)에서 MySQL Server 데이터베이스를 호스팅하도록 구성할 수 있습니다.As an Azure Stack Hub operator, you can configure server virtual machines (VMs) to host MySQL Server databases. MySQL 클러스터를 성공적으로 만들고 Azure Stack 허브에서 관리 한 후 MySQL 서비스를 구독 하는 사용자는 항상 사용 가능한 MySQL 데이터베이스를 쉽게 만들 수 있습니다.After a MySQL cluster is successfully created and managed by Azure Stack Hub, users who have subscribed to MySQL services can easily create highly available MySQL databases.

이 문서에서는 Azure Stack Marketplace 항목을 사용 하 여 복제 클러스터로 MySQL을 만드는 방법을 보여 줍니다.This article shows how to use Azure Stack Marketplace items to create a MySQL with replication cluster. 이 솔루션은 여러 Vm을 사용 하 여 마스터 노드의 데이터베이스를 구성 가능한 복제본 수로 복제 합니다.This solution uses multiple VMs to replicate the databases from the master node to a configurable number of replicas. 만든 후에는 클러스터를 Azure Stack Hub MySQL 호스팅 서버로 추가할 수 있으며, 사용자는 항상 사용 가능한 MySQL 데이터베이스를 만들 수 있습니다.Once created, the cluster can then be added as an Azure Stack Hub MySQL Hosting Server, and then users can create highly available MySQL databases.

중요

모든 Azure 클라우드 구독 환경에서 복제 Azure Stack Marketplace 항목 을 사용 하 여 MySQL 을 사용 하지 못할 수 있습니다.The MySQL with replication Azure Stack Marketplace item might not be available for all Azure cloud subscription environments. 이 자습서의 나머지 단계를 수행 하기 전에 구독에서 marketplace 항목을 사용할 수 있는지 확인 합니다.Verify that the marketplace item is available in your subscription before attempting to follow the rest of this tutorial.

학습할 내용:What you'll learn:

  • Marketplace 항목에서 MySQL 서버 클러스터를 만듭니다.Create a MySQL Server cluster from marketplace items.
  • MySQL Server 클러스터를 Azure Stack Hub MySQL 호스팅 서버로 구성 합니다.Configure the MySQL Server cluster as an Azure Stack Hub MySQL Hosting Server.
  • 항상 사용 가능한 MySQL 데이터베이스를 만듭니다.Create a highly available MySQL database.

사용 가능한 Azure Stack Marketplace 항목을 사용 하 여 3 개의 VM MySQL 서버 클러스터가 만들어지고 구성 됩니다.A three-VM MySQL Server cluster will be created and configured using available Azure Stack Marketplace items.

시작 하기 전에 MySQL Server 리소스 공급자 가 성공적으로 설치 되었으며 Azure Stack Marketplace에서 다음 항목을 사용할 수 있는지 확인 합니다.Before starting, ensure that the MySQL Server resource provider has been successfully installed and that the following items are available in Azure Stack Marketplace:

중요

MySQL 클러스터를 만들려면 다음이 모두 필요 합니다.All of the following are required to create the MySQL cluster.

  • Mysql With Replication: mysql 클러스터 배포에 사용 되는 Bitnami 솔루션 템플릿입니다.MySQL with Replication: This is the Bitnami solution template that will be used for the MySQL cluster deployment.
  • Debian 8 "Jessie": Debian 8 "Jessie"로, credativ에서 제공 하는 Microsoft Azure에 대 한 backports 커널을 제공 합니다.Debian 8 "Jessie": Debian 8 "Jessie" with backports kernel for Microsoft Azure provided by credativ. Debian GNU/Linux는 가장 많이 사용되는 Linux 배포 중 하나입니다.Debian GNU/Linux is one of the most popular Linux distributions.
  • Linux 2.0에 대 한 사용자 지정 스크립트: 사용자 지정 스크립트 확장은 vm 프로 비전 사후 vm 사용자 지정 작업을 실행 하는 도구입니다.Custom script for linux 2.0: Custom Script Extension is a tool to execute your VM customization tasks post VM provision. 이 확장이 VM에 추가 되 면 Azure storage에서 스크립트를 다운로드 하 여 VM에서 실행할 수 있습니다.When this Extension is added to a VM, it can download scripts from Azure storage and run them on the VM. Azure PowerShell cmdlet 및 Azure 플랫폼 간 명령줄 인터페이스 (xPlat CLI)를 사용 하 여 사용자 지정 스크립트 확장 작업을 자동화할 수도 있습니다.Custom Script Extension tasks can also be automated using the Azure PowerShell cmdlets and Azure Cross-Platform Command-Line Interface (xPlat CLI).
  • Linux 확장에 대 한 VM 액세스 1.4.7: VM 액세스 확장을 사용 하면 VM에 대 한 액세스 권한을 다시 얻을 수 있도록 암호, SSH 키 또는 SSH 구성을 다시 설정할 수 있습니다.VM Access For Linux Extension 1.4.7: The VM Access extension enables you to reset the password, SSH key, or the SSH configurations so you can regain access to your VM. 암호 또는 SSH 키를 사용 하 여 새 사용자를 추가 하거나이 확장을 사용 하 여 사용자를 삭제할 수도 있습니다.You can also add a new user with password or SSH key, or delete a user using this extension. 이 확장은 Linux Vm을 대상으로 합니다.This extension targets Linux VMs.

Azure Stack Marketplace에 항목을 추가 하는 방법에 대해 자세히 알아보려면 Azure Stack Marketplace 개요를 참조 하세요.To learn more about adding items to Azure Stack Marketplace, see the Azure Stack Marketplace overview.

배포 후 Linux Vm에 로그인 하려면 PuTTY 와 같은 SSH 클라이언트도 필요 합니다.You'll also need an SSH client like PuTTY to log in to the Linux VMs after they're deployed.

MySQL Server 클러스터 만들기Create a MySQL Server cluster

이 섹션의 단계를 사용 하 여 mysql 서버 클러스터를 복제 marketplace 로 mysql 을 사용 하 여 배포 합니다.Use the steps in this section to deploy the MySQL Server cluster using the MySQL with Replication marketplace item. 이 템플릿은 항상 사용 가능한 MySQL 클러스터에 구성 된 세 개의 MySQL Server 인스턴스를 배포 합니다.This template deploys three MySQL Server instances configured in a highly available MySQL cluster. 기본적으로 다음 리소스를 만듭니다.By default, it creates the following resources:

  • 가상 네트워크A virtual network
  • 네트워크 보안 그룹A network security group
  • 스토리지 계정A storage account
  • 가용성 집합An availability set
  • 세 개의 네트워크 인터페이스 (기본 Vm 마다 하나씩)Three network interfaces (one for each of the default VMs)
  • 공용 IP 주소 (기본 MySQL 클러스터 VM의 경우)A public IP address (for the primary MySQL cluster VM)
  • MySQL 클러스터를 호스트 하는 세 가지 Linux VmThree Linux VMs to host the MySQL cluster
  1. 사용자 포털에 로그인 합니다.Sign in to the user portal:

    • 통합 시스템 배포의 경우 포털 주소는 솔루션의 지역 및 외부 도메인 이름에 따라 달라 집니다.For an integrated system deployment, the portal address will vary based on your solution's region and external domain name. 형식으로 지정 됩니다 https://portal.<region>.<FQDN> .It will be in the format of https://portal.<region>.<FQDN>.
    • ASDK Azure Stack Development Kit 포털 주소는 https://portal.local.azurestack.external 입니다.For the Azure Stack Development Kit (ASDK), the portal address is https://portal.local.azurestack.external.
  2. 구독이 아직 할당 되지 않은 경우 대시보드에서 구독 가져오기 를 선택 합니다.If no subscriptions were assigned yet, select Get a Subscription from the Dashboard. 블레이드에서 구독의 이름을 입력 한 다음 제품을 선택 합니다.In the blade, type a name for the subscription, and then select an offer. 실수로 제거 되는 것을 방지 하기 위해 자체 구독에 MySQL 클러스터 배포를 유지 하는 것이 좋습니다.It is recommended that you keep the MySQL cluster deployment in its own subscription to prevent accidental removal.

  3. + 리소스 만들기 > 계산을 선택 하 고 복제를 사용 하 여 MySQL을 선택 합니다.Select + Create a resource > Compute, and then MySQL with Replication.

    Azure Stack 허브의 사용자 지정 템플릿 배포

  4. 기본 페이지의 기본 배포 정보 를 제공 합니다.Provide basic deployment information on the Basics page. 기본값을 검토 하 고 필요에 따라 변경 하 고 확인을 선택 합니다.Review the default values and change as needed and select OK.

    최소한 다음 정보를 제공 합니다.At a minimum, provide the following info:

    • 배포 이름 (기본값은 mymysql)입니다.Deployment name (default is mymysql).

    • 응용 프로그램 루트 암호입니다.Application root password. 특수 문자 없이12 자의 영숫자 암호를 제공 합니다.Provide a 12 character alphanumeric password with no special characters.

    • 응용 프로그램 데이터베이스 이름 (기본값은 bitnami)입니다.Application database name (default is bitnami).

    • 만들 MySQL 데이터베이스 복제본 Vm 수입니다 (기본값은 2).Number of MySQL database replica VMs to create (default is 2).

    • 사용할 구독을 선택합니다.Select the subscription to use.

    • 사용할 리소스 그룹을 선택 하거나 새 리소스 그룹을 만듭니다.Select the resource group to use or create a new one.

    • 위치를 선택 합니다 (기본값은 ASDK local).Select the location (default is local for ASDK).

      배포 기본 사항-복제를 사용 하 여 MySQL 만들기

  5. 환경 구성 페이지에서 다음 정보를 입력 한 다음 확인을 선택 합니다.On the Environment Configuration page, provide the following information and then select OK:

    • SSH (보안 셸) 인증에 사용할 암호 또는 SSH 공개 키입니다.Password or SSH public key to use for secure shell (SSH) authentication. 암호를 사용 하는 경우 문자, 숫자를 포함 해야 하며 특수 문자를 포함할 수 있습니다 .If using a password, it must contain letters, numbers, and can contain special characters.

    • VM 크기 (기본값은 표준 D1 v2 Vm)입니다.VM size (default is Standard D1 v2 VMs).

    • 데이터 디스크 크기 (GB)Data disk size in GB

      환경 구성-복제를 사용 하 여 MySQL 만들기

  6. 배포 요약을 검토 합니다.Review the deployment Summary. 필요에 따라 사용자 지정 된 템플릿 및 매개 변수를 다운로드 한 다음 확인을 선택할 수 있습니다.Optionally, you can download the customized template and parameters and then select OK.

    요약-복제를 사용 하 여 MySQL 만들기

  7. 구입 페이지에서 만들기 를 선택 하 여 배포를 시작 합니다.Select Create on the Buy page to start the deployment.

    구입 페이지-복제를 사용 하 여 MySQL 만들기

    참고

    배포에 약 1 시간이 소요 됩니다.The deployment will take about an hour. 계속 하기 전에 배포가 완료 되었으며 MySQL 클러스터가 완전히 구성 되었는지 확인 합니다.Ensure that the deployment has finished and the MySQL cluster has been completely configured before continuing.

  8. 모든 배포가 성공적으로 완료 되 면 리소스 그룹 항목을 검토 하 고 mysqlip 공용 IP 주소 항목을 선택 합니다.After all deployments have completed successfully, review the resource group items and select the mysqlip Public IP address item. 공용 ip 주소 및 클러스터에 대 한 공용 IP의 전체 FQDN을 기록 합니다.Record the public IP address and full FQDN of the public IP for the cluster.

    이 MySQL 클러스터를 활용 하는 MySQL 호스팅 서버를 만들 수 있도록 Azure Stack 허브 운영자에 게이 IP 주소를 제공 해야 합니다.You'll need to provide this IP address to an Azure Stack Hub operator so they can create a MySQL hosting server leveraging this MySQL cluster.

네트워크 보안 그룹 규칙 만들기Create a network security group rule

기본적으로 호스트 VM에 대 한 MySQL에 대 한 공용 액세스는 구성 되지 않습니다.By default, no public access is configured for MySQL into the host VM. MySQL 클러스터를 연결 하 고 관리 하는 Azure Stack 허브 MySQL 리소스 공급자의 경우 인바운드 NSG (네트워크 보안 그룹) 규칙을 만들어야 합니다.For the Azure Stack Hub MySQL resource provider to connect and manage the MySQL cluster, an inbound network security group (NSG) rule needs to be created.

  1. 관리자 포털에서 MySQL 클러스터를 배포할 때 만든 리소스 그룹으로 이동 하 고 네트워크 보안 그룹 (기본-서브넷-sg)을 선택 합니다.In the administrator portal, go to the resource group created when deploying the MySQL cluster and select the network security group (default-subnet-sg):

    Azure Stack 허브 관리자 포털에서 네트워크 보안 그룹을 선택 합니다.

  2. 인바운드 보안 규칙 을 선택한 다음 추가를 선택 합니다.Select Inbound security rules and then select Add.

    대상 포트 범위3306 을 입력 하 고 필요에 따라 이름설명 필드에 설명을 입력 합니다.Enter 3306 in the Destination port range and optionally provide a description in the Name and Description fields.

    open

  3. 추가 를 선택 하 여 인바운드 보안 규칙 대화 상자를 닫습니다.Select Add to close the inbound security rule dialog.

MySQL 클러스터에 대 한 외부 액세스 구성Configure external access to the MySQL cluster

MySQL 클러스터를 Azure Stack Hub MySQL Server 호스트로 추가 하려면 먼저 외부 액세스를 사용 하도록 설정 해야 합니다.Before the MySQL cluster can be added as an Azure Stack Hub MySQL Server host, external access must be enabled.

  1. SSH 클라이언트 (이 예제에서는 PuTTY를 사용)를 사용 하 여 공용 IP에 액세스할 수 있는 컴퓨터에서 기본 MySQL 컴퓨터에 로그인 합니다.Using an SSH client (this example uses PuTTY) log in to the primary MySQL machine from a computer that can access the public IP. 기본 MySQL VM 이름은 일반적으로 0 으로 끝나며 공용 IP가 할당 됩니다.The primary MySQL VM name usually ends with 0 and has a public IP assigned to it.

    공용 IP를 사용 하 고 bitnami 의 사용자 이름과 특수 문자 없이 이전에 만든 응용 프로그램 암호를 사용 하 여 VM에 로그인 합니다.Use the public IP and log in to the VM with the username of bitnami and the application password you created earlier without special characters.

    LinuxLogin

  2. SSH 클라이언트 창에서 다음 명령을 사용 하 여 bitnami 서비스가 활성 상태이 고 실행 중인지 확인 합니다.In the SSH client window, use the following command to ensure the bitnami service is active and running. 메시지가 표시 되 면 bitnami 암호를 다시 입력 합니다.Provide the bitnami password again when prompted:

    sudo service bitnami status

    Bitnami 서비스 확인

  3. Azure Stack Hub MySQL 호스팅 서버에서 MySQL에 연결 하는 데 사용할 원격 액세스 사용자 계정을 만든 다음 SSH 클라이언트를 종료 합니다.Create a remote access user account to be used by the Azure Stack Hub MySQL Hosting Server to connect to MySQL and then exit the SSH client.

    다음 명령을 실행 하 여 이전에 만든 루트 암호를 사용 하 여 루트로 MySQL에 로그인 합니다.Run the following commands to log in to MySQL as root, using the root password created earlier. 새 관리 사용자를 만들고 사용자 <username> <password> 환경에 필요한 대로를 바꿉니다.Create a new admin user and replace <username> and <password> as required for your environment. 이 예에서는 생성 된 사용자를 sqlsa 로 지정 하 고 강력한 암호를 사용 합니다.In this example, the created user is named sqlsa and a strong password is used:

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

    관리자 사용자 만들기

  4. 새 MySQL 사용자 정보를 기록 합니다.Record the new MySQL user information.

    이 MySQL 클러스터를 사용 하 여 MySQL 호스팅 서버를 만들 수 있도록이 사용자 이름과 암호를 클러스터에 대 한 공용 ip 주소 또는 공용 IP의 전체 FQDN과 함께 Azure Stack 허브 운영자에 게 제공 해야 합니다.You'll need to provide this username and password, along with the public IP address or full FQDN of the public IP for the cluster, to an Azure Stack Hub operator so they can create a MySQL hosting server using this MySQL cluster.

Azure Stack Hub MySQL 호스팅 서버 구성Configure an Azure Stack Hub MySQL Hosting Server

MySQL Server 클러스터가 만들어지고 올바르게 구성 된 후 Azure Stack 허브 운영자는이를 Azure Stack Hub MySQL 호스팅 서버로 추가 해야 합니다.After the MySQL Server cluster is created and properly configured, an Azure Stack Hub operator must add it as an Azure Stack Hub MySQL Hosting Server.

MySQL 클러스터의 리소스 그룹을 만들 때 이전에 기록 된 MySQL 클러스터 기본 VM의 공용 ip에 대 한 공용 IP 또는 전체 FQDN (mysqlip)을 사용 해야 합니다.Be sure to use the public IP or full FQDN for the public IP of the MySQL cluster primary VM recorded previously when the MySQL cluster's resource group was created (mysqlip). 또한 운영자는 MySQL 클러스터 데이터베이스에 원격으로 액세스 하기 위해 만든 MySQL 서버 인증 자격 증명을 알고 있어야 합니다.In addition, the operator needs to know the MySQL Server authentication credentials you created to remotely access the MySQL cluster database.

참고

이 단계는 Azure Stack 허브 운영자가 Azure Stack 허브 관리자 포털에서 실행 해야 합니다.This step must be run from the Azure Stack Hub administrator portal by an Azure Stack Hub operator.

이제는 MySQL 클러스터의 공용 IP 및 MySQL 인증 로그인 정보를 사용 하 여 Azure Stack Hub 운영자가 새 mysql 클러스터를 사용 하 여 Mysql 호스팅 서버를 만들수 있습니다.Using the MySQL cluster's Public IP and MySQL authentication login information, an Azure Stack Hub operator can now create a MySQL Hosting Server using the new MySQL cluster.

또한 사용자가 MySQL 데이터베이스를 만들 수 있도록 계획 및 제안을 만들었는지 확인 합니다.Also ensure that you've created plans and offers to make MySQL database creation available for users. 운영자가 계획에 Microsoft MySqlAdapter 서비스를 추가 하 고 항상 사용 가능한 데이터베이스에 대해 새 할당량을 만들어야 합니다.An operator will need to add the Microsoft.MySqlAdapter service to a plan and create a new quota specifically for highly available databases. 계획을 만드는 방법에 대 한 자세한 내용은 서비스, 계획, 제품, 구독 개요를 참조 하세요.For more information about creating plans, see Service, plan, offer, subscription overview.

MySQL Server 리소스 공급자를 배포하기 전 까지는 Microsoft. mysqladapter 서비스를 계획에 추가할 수 없습니다.The Microsoft.MySqlAdapter service won't be available to add to plans until the MySQL Server resource provider has been deployed.

항상 사용 가능한 MySQL 데이터베이스 만들기Create a highly available MySQL database

MySQL 클러스터를 만들고 구성 하 고 Azure Stack 허브 운영자가 Azure Stack 허브 MySQL 호스팅 서버로 추가한 후에는이 섹션의 단계를 수행 하 여 mysql Server 데이터베이스 기능을 포함 하는 구독을 가진 테 넌 트 사용자가 항상 사용 가능한 MySQL 데이터베이스를 만들 수 있습니다.After the MySQL cluster is created and configured, and added as an Azure Stack Hub MySQL Hosting Server by an Azure Stack Hub operator, a tenant user with a subscription including MySQL Server database capabilities can create highly available MySQL databases by following the steps in this section.

참고

MySQL 서버 기능 (Microsoft. MySQLAdapter service)을 제공 하는 구독이 있는 테 넌 트 사용자로 Azure Stack 허브 사용자 포털에서 이러한 단계를 실행 합니다.Run these steps from the Azure Stack Hub user portal as a tenant user with a subscription providing MySQL Server capabilities (Microsoft.MySQLAdapter service).

  1. 사용자 포털에 로그인 합니다.Sign in to the user portal:

    • 통합 시스템 배포의 경우 포털 주소는 솔루션의 지역 및 외부 도메인 이름에 따라 달라 집니다.For an integrated system deployment, the portal address will vary based on your solution's region and external domain name. 형식으로 지정 됩니다 https://portal.<region>.<FQDN> .It will be in the format of https://portal.<region>.<FQDN>.
    • ASDK Azure Stack Development Kit 포털 주소는 https://portal.local.azurestack.external 입니다.For the Azure Stack Development Kit (ASDK), the portal address is https://portal.local.azurestack.external.
  2. + 리소스 만들기 > 데이터 + 저장소를 선택 하 고 MySQL 데이터베이스를 선택 합니다.Select + Create a resource > Data + Storage, and then MySQL Database.

    이름, 데이터 정렬, 사용할 구독 및 배포에 사용할 위치를 포함 하 여 필요한 데이터베이스 속성 정보를 제공 합니다.Provide the required database property information including name, collation, the subscription to use, and location to use for the deployment.

    Azure Stack Hub 사용자 포털에서 MySQL 데이터베이스 만들기

  3. SKU 를 선택 하 고 사용할 적절 한 MySQL 호스팅 서버 SKU를 선택 합니다.Select SKU and then choose the appropriate MySQL Hosting Server SKU to use. 이 예에서 Azure Stack Hub 연산자는 mysql 클러스터 데이터베이스에 대 한 고가용성을 지원 하기 위해 MYSQL HA SKU를 만들었습니다.In this example, the Azure Stack Hub operator has created the MySQL-HA SKU to support high availability for MySQL cluster databases.

    Azure Stack 허브 사용자 포털에서 SKU를 선택 합니다.

  4. 로그인을 선택 하 고 새 > 로그인을 만든 다음 새 데이터베이스에 사용할 MySQL 인증 자격 증명을 제공 합니다.Select Login > Create a new login and then provide the MySQL authentication credentials to be used for the new database. 완료 되 면 확인 을 선택 하 고 만들기 를 선택 하 여 데이터베이스 배포 프로세스를 시작 합니다.When finished, select OK and then Create to begin the database deployment process.

    Azure Stack 허브 사용자 포털에 로그인 추가

  5. MySQL 데이터베이스 배포가 성공적으로 완료 되 면 데이터베이스 속성을 검토 하 여 항상 사용 가능한 새 데이터베이스에 연결 하는 데 사용할 연결 문자열을 검색 합니다.When the MySQL database deployment completes successfully, review the database properties to discover the connection string to use for connecting to the new highly available database.

    Azure Stack Hub 사용자 포털에서 연결 문자열 보기

다음 단계Next steps

MySQL 리소스 공급자 업데이트Update the MySQL resource provider