Azure CLI를 사용 하 여 Azure Database for MySQL 유연한 서버 방화벽 규칙 만들기 및 관리Create and manage Azure Database for MySQL - Flexible Server firewall rules using the Azure CLI

중요

Azure Database for MySQL 유연한 서버는 현재 공개 미리 보기로 제공됩니다.Azure Database for MySQL Flexible Server is currently in public preview

Azure Database for MySQL 유동 서버는 유동 서버에 연결하는 두 가지 유형의 상호 배타적인 네트워크 연결 방법을 지원합니다.Azure Database for MySQL Flexible Server supports two types of mutually exclusive network connectivity methods to connect to your flexible server. 다음은 두 가지 옵션입니다.The two options are:

  • 퍼블릭 액세스(허용된 IP 주소)Public access (allowed IP addresses)
  • 프라이빗 액세스(VNet 통합)Private access (VNet Integration)

이 문서에서는 Azure CLI를 사용 하 여 공용 액세스 (허용 되는 IP 주소) 를 사용 하 여 MySQL 서버를 만드는 방법에 중점을 두고 서버를 만든 후 방화벽 규칙을 만들고, 업데이트 하 고, 삭제 하 고, 나열 하 고, 표시 하는 데 사용할 수 있는 Azure CLI 명령에 대해 간략하게 설명 합니다.In this article, we will focus on creation of MySQL server with Public access (allowed IP addresses) using Azure CLI and will provide an overview on Azure CLI commands you can use to create, update, delete, list, and show firewall rules after creation of server. 공용 액세스 (허용 되는 ip 주소) 를 사용 하면 MySQL server에 대 한 연결이 허용 되는 ip 주소로만 제한 됩니다.With Public access (allowed IP addresses), the connections to the MySQL server are restricted to allowed IP addresses only. 클라이언트 IP 주소는 방화벽 규칙에서 허용 되어야 합니다.The client IP addresses need to be allowed in firewall rules. 자세히 알아보려면 공용 액세스 (허용 된 IP 주소)를 참조 하세요.To learn more about it, refer to Public access (allowed IP addresses). 방화벽 규칙은 서버를 만들 때 정의할 수 있습니다 (권장). 하지만 나중에 추가할 수도 있습니다.The firewall rules can be defined at the time of server creation (recommended) but can be added later as well.

Azure Cloud Shell 시작Launch Azure Cloud Shell

Azure Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.It has common Azure tools preinstalled and configured to use with your account.

Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 사용해 보세요 를 선택하기만 하면 됩니다.To open the Cloud Shell, just select Try it from the upper right corner of a code block. 또한 https://shell.azure.com/bash로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 열 수도 있습니다.You can also open Cloud Shell in a separate browser tab by going to https://shell.azure.com/bash. 복사 를 선택하여 코드 블록을 복사하여 Cloud Shell에 붙여넣고, Enter 를 선택하여 실행합니다.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and select Enter to run it.

CLI를 로컬로 설치하고 사용하려면 이 빠른 시작에서 Azure CLI 버전 2.0 이상이 필요합니다.If you prefer to install and use the CLI locally, this quickstart requires Azure CLI version 2.0 or later. az --version을 실행하여 버전을 찾습니다.Run az --version to find the version. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.If you need to install or upgrade, see Install Azure CLI.

사전 요구 사항Prerequisites

az login 명령을 사용하여 계정에 로그인해야 합니다.You'll need to sign in to your account using the az login command. Azure 계정의 구독 id 를 참조 하는 id 속성을 기록해 둡니다.Note the ID property, which refers to Subscription ID for your Azure account.

az login

az account set 명령을 사용하여 계정에 속한 특정 구독을 선택합니다.Select the specific subscription under your account using az account set command. 명령에서 subscription 인수 값으로 사용 하려면 az Login output에서 ID 값을 적어 둡니다.Make a note of the ID value from the az login output to use as the value for subscription argument in the command. 구독이 여러 개인 경우 리소스가 과금되어야 할 적절한 구독을 선택합니다.If you have multiple subscriptions, choose the appropriate subscription in which the resource should be billed. 모든 구독을 가져오려면 az account list를 사용합니다.To get all your subscription, use az account list.

az account set --subscription <subscription id>

Azure CLI를 사용 하 여 유연한 서버를 만드는 동안 방화벽 규칙 만들기Create firewall rule during flexible server create using Azure CLI

명령을 사용 하 여 az mysql flexible-server --public access 공용 액세스 (허용 된 IP 주소) 로 유연한 서버를 만들고 유연한 서버를 만들 때 방화벽 규칙을 구성할 수 있습니다.You can use the az mysql flexible-server --public access command to create the flexible server with Public access (allowed IP addresses) and configure the firewall rules during creation of flexible server. --Public 액세스 스위치를 사용 하 여 서버에 연결할 수 있는 허용 된 IP 주소를 제공할 수 있습니다.You can use the --public-access switch to provide the allowed IP addresses that will be able to connect to the server. 허용 되는 IP 주소 목록에 포함할 단일 또는 IP 주소 범위를 제공할 수 있습니다.You can provide single or range of IP addresses to be included in the allowed list of IPs. IP 주소 범위는 대시로 구분 해야 하며 공백을 포함 하지 않습니다.IP address range must be dash separated and does not contain any spaces. 아래 예제와 같이 CLI를 사용 하 여 유연한 서버를 만드는 다양 한 옵션이 있습니다.There are various options to create a flexible server using CLI as shown in the example below.

구성 가능한 CLI 매개 변수의 전체 목록은 Azure CLI 참조 설명서 를 참조 하세요.Refer to the Azure CLI reference documentation for the complete list of configurable CLI parameters. 예를 들어 아래 명령에서 필요에 따라 리소스 그룹을 지정할 수 있습니다.For example, in the below commands you can optionally specify the resource group.

  • 공용 액세스를 사용 하 여 유연한 서버를 만들고 클라이언트 IP 주소를 추가 하 여 서버에 액세스할 수 있도록 합니다.Create a flexible server with public access and add client IP address to have access to the server

    az mysql flexible-server create --public-access <my_client_ip>
    
  • 공용 액세스를 사용 하 여 유연한 서버를 만들고이 서버에 액세스할 수 있는 IP 주소 범위를 추가 합니다.Create a flexible server with public access and add the range of IP address to have access to this server

    az mysql flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • 공용 액세스를 사용 하 여 유연한 서버를 만들고 Azure IP 주소의 응용 프로그램에서 유연한 서버에 연결할 수 있도록 허용Create a flexible server with public access and allow applications from Azure IP addresses to connect to your flexible server

    az mysql flexible-server create --public-access 0.0.0.0
    

    중요

    이 옵션은 다른 고객의 구독에서 연결을 포함 하 여 Azure 내의 azure 서비스 및 리소스에서이 서버로의 공용 액세스를 허용 하도록 방화벽을 구성 합니다.This option configures the firewall to allow public access from Azure services and resources within Azure to this server including connections from the subscriptions of other customers. 이 옵션을 선택할 때 로그인 및 사용자 권한이 부여된 사용자만으로 액세스를 제한하는지 확인합니다.When selecting this option, make sure your login and user permissions limit access to only authorized users.

  • 공용 액세스를 사용 하 여 유연한 서버 만들기 및 모든 IP 주소 허용Create a flexible server with public access and allow all IP address

    az mysql flexible-server create --public-access all
    

    참고

    위의 명령은 시작 IP 주소 = 0.0.0.0, 끝 IP 주소 = 255.255.255.255를 사용 하는 방화벽 규칙을 만들고 IP 주소는 차단 되지 않습니다.The above command will create a firewall rule with start IP address=0.0.0.0, end IP address=255.255.255.255 and no IP addresses will be blocked. 인터넷의 모든 호스트에서이 서버에 액세스할 수 있습니다.Any host on the Internet can access this server. 이 규칙은 임시로만 사용 하 고 중요 한 데이터가 포함 되지 않은 테스트 서버 에서만 사용 하는 것이 좋습니다.It is strongly recommended to use this rule only temporarily and only on test servers that do not contain sensitive data.

  • IP 주소가 없는 공용 액세스를 사용 하 여 유연한 서버 만들기Create a flexible server with public access and with no IP address

    az mysql flexible-server create --public-access none
    

    참고

    방화벽 규칙 없이는 서버를 만들지 않는 것이 좋습니다.we do not recommend to create a server without any firewall rules. 방화벽 규칙을 추가 하지 않으면 클라이언트는 서버에 연결할 수 없습니다.If you do not add any firewall rules then no client will be able to connect to the server.

서버를 만든 후 방화벽 규칙 만들기 및 관리Create and manage firewall rule after server create

Az mysql 신축 서버 방화벽-규칙 명령은 Azure CLI에서 방화벽 규칙을 만들고, 삭제 하 고, 나열 하 고, 표시 하 고, 업데이트 하는 데 사용 됩니다.The az mysql flexible-server firewall-rule command is used from the Azure CLI to create, delete, list, show, and update firewall rules.

명령:Commands:

  • 만들기: 유연한 서버 방화벽 규칙을 만듭니다.create: Create an flexible server firewall rule.
  • 목록: 유연한 서버 방화벽 규칙을 나열 합니다.list: List the flexible server firewall rules.
  • 업데이트: 유연한 서버 방화벽 규칙을 업데이트 합니다.update: Update an flexible server firewall rule.
  • 표시: 유연한 서버 방화벽 규칙의 세부 정보를 표시 합니다.show: Show the details of an flexible server firewall rule.
  • 삭제: 유연한 서버 방화벽 규칙을 삭제 합니다.delete: Delete an flexible server firewall rule.

구성 가능한 CLI 매개 변수의 전체 목록은 Azure CLI 참조 설명서 를 참조 하세요.Refer to the Azure CLI reference documentation for the complete list of configurable CLI parameters. 예를 들어 아래 명령에서 필요에 따라 리소스 그룹을 지정할 수 있습니다.For example, in the below commands you can optionally specify the resource group.

방화벽 규칙을 만들기Create a firewall rule

명령을 사용 az mysql flexible-server firewall-rule create 하 여 서버에서 새 방화벽 규칙을 만듭니다.Use the az mysql flexible-server firewall-rule create command to create new firewall rule on the server. IP 주소 범위에 대 한 액세스를 허용 하려면 다음 예제와 같이 IP 주소를 시작 IP 주소와 끝 IP 주소로 제공 합니다.To allow access to a range of IP addresses, provide the IP address as the Start IP address and End IP address, as in this example.

az mysql flexible-server firewall-rule create --name mydemoserver --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15

단일 IP 주소에 대 한 액세스를 허용 하려면이 예제와 같이 단일 IP 주소만 제공 하면 됩니다.To allow access for a single IP address, just provide single IP address, as in this example.

az mysql flexible-server firewall-rule create --name mydemoserver --start-ip-address 1.1.1.1

Azure IP 주소의 응용 프로그램이 유연한 서버에 연결할 수 있도록 하려면이 예제와 같이 IP 주소 0.0.0.0을 시작 IP로 제공 합니다.To allow applications from Azure IP addresses to connect to your flexible server, provide the IP address 0.0.0.0 as the Start IP, as in this example.

az mysql flexible-server firewall-rule create --name mydemoserver --start-ip-address 0.0.0.0

중요

이 옵션은 다른 고객의 구독에서 연결을 포함 하 여 Azure 내의 azure 서비스 및 리소스에서이 서버로의 공용 액세스를 허용 하도록 방화벽을 구성 합니다.This option configures the firewall to allow public access from Azure services and resources within Azure to this server including connections from the subscriptions of other customers. 이 옵션을 선택할 때 로그인 및 사용자 권한이 부여된 사용자만으로 액세스를 제한하는지 확인합니다.When selecting this option, make sure your login and user permissions limit access to only authorized users.

성공하면 각각의 create 명령 출력은 만든 방화벽 규칙의 세부 정보를 JSON 형식(기본값)으로 나열합니다.Upon success, each create command output lists the details of the firewall rule you have created, in JSON format (by default). 오류가 있는 경우 출력은 오류 메시지 텍스트를 대신 표시합니다.If there is a failure, the output shows error message text instead.

방화벽 규칙 나열List firewall rules

명령을 사용 az mysql flexible-server firewall-rule list 하 여 서버에 있는 기존 서버 방화벽 규칙을 나열 합니다.Use the az mysql flexible-server firewall-rule list command to list the existing server firewall rules on the server. 서버 이름 특성은 --name 스위치에 지정 되어 있습니다.Notice that the server name attribute is specified in the --name switch.

az mysql flexible-server firewall-rule list --name mydemoserver

출력에 기본적으로 JSON 형식으로 규칙(있는 경우)이 나열됩니다.The output lists the rules, if any, in JSON format (by default). --Output table * * 스위치를 사용 하 여 결과를 더 읽기 쉬운 테이블 형식으로 출력할 수 있습니다.You can use the--output table** switch to output the results in a more readable table format.

az mysql flexible-server firewall-rule list --name mydemoserver --output table

방화벽 규칙 업데이트Update a firewall rule

명령을 사용 az mysql flexible-server firewall-rule update 하 여 서버에서 기존 방화벽 규칙을 업데이트 합니다.Use the az mysql flexible-server firewall-rule update command to update an existing firewall rule on the server. 기존 방화벽 규칙의 이름과 업데이트할 시작 IP 주소 및 끝 IP 주소 특성을 입력으로 제공 합니다.Provide the name of the existing firewall rule as input, as well as the start IP address and end IP address attributes to update.

az mysql flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

성공하면 명령 출력은 업데이트한 방화벽 규칙의 세부 정보를 기본적으로 JSON 형식으로 나열합니다.Upon success, the command output lists the details of the firewall rule you have updated, in JSON format (by default). 오류가 있는 경우 출력은 오류 메시지 텍스트를 대신 표시합니다.If there is a failure, the output shows error message text instead.

참고

방화벽 규칙이 존재하지 않는 경우 업데이트 명령에 의해 생성됩니다.If the firewall rule does not exist, the rule is created by the update command.

방화벽 규칙 세부 정보 표시Show firewall rule details

명령을 사용 az mysql flexible-server firewall-rule show 하 여 서버에서 기존 방화벽 규칙 세부 정보를 표시 합니다.Use the az mysql flexible-server firewall-rule show command to show the existing firewall rule details from the server. 기존 방화벽 규칙의 이름을 입력합니다.Provide the name of the existing firewall rule as input.

az mysql flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1

성공하면 명령 출력은 지정한 방화벽 규칙의 세부 정보를 기본적으로 JSON 형식으로 나열합니다.Upon success, the command output lists the details of the firewall rule you have specified, in JSON format (by default). 오류가 있는 경우 출력은 오류 메시지 텍스트를 대신 표시합니다.If there is a failure, the output shows error message text instead.

방화벽 규칙 삭제Delete a firewall rule

명령을 사용 az mysql flexible-server firewall-rule delete 하 여 서버에서 기존 방화벽 규칙을 삭제 합니다.Use the az mysql flexible-server firewall-rule delete command to delete an existing firewall rule from the server. 기존 방화벽 규칙의 이름을 제공합니다.Provide the name of the existing firewall rule.

az mysql flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1

성공하면 출력은 없습니다.Upon success, there is no output. 실패하면 오류 메시지 텍스트가 표시됩니다.Upon failure, error message text displays.

다음 단계Next steps