Azure CLI를 사용하여 Azure Database for MySQL - 유연한 서버에 대한 방화벽 규칙 관리
Azure Database for MySQL 유연한 서버는 유연한 서버에 연결하는 두 가지 유형의 상호 배타적인 네트워크 연결 방법을 지원합니다. 다음은 두 가지 옵션입니다.
- 퍼블릭 액세스(허용된 IP 주소)
- 프라이빗 액세스(VNet 통합)
이 문서에서는 Azure CLI를 사용하여 공용 액세스(허용된 IP 주소)가 있는 Azure Database for MySQL 유연한 서버 인스턴스를 만드는 데 집중합니다. 이 문서에서는 서버를 만든 후 방화벽 규칙을 만들고, 업데이트하고, 삭제하고, 나열하고, 표시하는 데 사용할 수 있는 Azure CLI 명령에 대한 개요를 제공합니다. 공용 액세스(허용된 IP 주소)를 사용하는 Azure Database for MySQL 유연한 서버 인스턴스 연결은 허용된 IP 주소로만 제한됩니다. 클라이언트 IP 주소는 방화벽 규칙에서 허용되어야 합니다. 자세한 내용을 알아보려면 퍼블릭 액세스(허용된 IP 주소)를 참조하세요. 방화벽 규칙은 서버를 만들 때 정의할 수 있지만(권장), 나중에 추가할 수도 있습니다.
Azure Cloud Shell 시작
Azure Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.
Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 사용해 보세요를 선택하기만 하면 됩니다. 또한 https://shell.azure.com/bash로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 열 수도 있습니다. 복사를 선택하여 코드 블록을 복사하여 Cloud Shell에 붙여넣고, Enter를 선택하여 실행합니다.
CLI를 로컬로 설치하고 사용하려면 이 빠른 시작에서 Azure CLI 버전 2.0 이상이 필요합니다. az --version
을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.
필수 조건
az login 명령을 사용하여 계정에 로그인해야 합니다. Azure 계정에 대한 구독 ID를 참조하는 ID 속성을 기록해 둡니다.
az login
az account set 명령을 사용하여 계정에 속한 특정 구독을 선택합니다. 명령에서 subscription 인수 값으로 사용할 az login 출력의 ID 값을 로그해 둡니다. 구독이 여러 개인 경우 리소스가 과금되어야 할 적절한 구독을 선택합니다. 모든 구독을 가져오려면 az account list를 사용합니다.
az account set --subscription <subscription id>
Azure CLI를 사용하여 유연한 서버 중에 방화벽 규칙 만들기
az mysql flexible-server --public access
명령을 사용하여 공용 액세스(허용된 IP 주소)가 있는 Azure Database for MySQL 유연한 서버 인스턴스를 만들고 유연한 서버를 만드는 동안 방화벽 규칙을 구성할 수 있습니다. -public-access 스위치를 사용하여 서버에 연결할 수 있는 허용된 IP 주소를 제공할 수 있습니다. 허용된 IP 목록에 포함할 단일 IP 주소 또는 IP 주소 범위를 제공할 수 있습니다. IP 주소 범위는 대시로 구분되어야 하며 공백을 포함하지 않아야 합니다. 다음 예제와 같이 Azure CLI를 사용하여 Azure Database for MySQL 유연한 서버 인스턴스를 만드는 다양한 옵션이 있습니다.
구성 가능한 CLI 매개 변수의 전체 목록은 Azure CLI 참조 설명서를 참조하세요. 예를 들면, 다음 명령에서 필요에 따라 리소스 그룹을 지정할 수 있습니다.
공용 액세스가 가능한 Azure Database for MySQL 유연한 서버 인스턴스를 만들고 클라이언트 IP 주소를 서버에 추가하여 액세스합니다.
az mysql flexible-server create --public-access <my_client_ip>
공용 액세스 권한이 있는 Azure Database for MySQL 유연한 서버 인스턴스를 만들고 이 서버에 액세스할 수 있는 IP 주소 범위를 추가합니다.
az mysql flexible-server create --public-access <start_ip_address-end_ip_address>
퍼블릭 액세스를 사용하는 Azure Database for MySQL 유연한 서버 인스턴스를 만들고 Azure IP 주소의 애플리케이션이 서버에 연결할 수 있도록 허용합니다.
az mysql flexible-server create --public-access 0.0.0.0
Important
이 옵션은 다른 고객 구독의 연결을 포함하여 Azure 서비스 및 Azure 내의 리소스에서 이 서버로의 공용 액세스를 허용하도록 방화벽을 구성합니다. 이 옵션을 선택할 때 로그인 및 사용자 권한이 부여된 사용자만으로 액세스를 제한하는지 확인합니다.
공용 액세스가 가능한 Azure Database for MySQL 유연한 서버 인스턴스를 만들고 모든 IP 주소를 허용합니다.
az mysql flexible-server create --public-access all
참고 항목
위의 명령은 시작 IP 주소=0.0.0.0, 끝 IP 주소=255.255.255.255를 사용하여 방화벽 규칙을 만들고 차단된 IP 주소가 없습니다. 인터넷상의 모든 호스트가 이 서버에 액세스할 수 있습니다. 이 규칙은 중요한 데이터가 포함되지 않은 테스트 서버에서 일시적으로만 사용하는 것이 좋습니다.
공용 액세스가 가능한 Azure Database for MySQL 유연한 서버 인스턴스를 만들고 어떤 IP 주소도 허용하지 않습니다.
az mysql flexible-server create --public-access none
참고 항목
방화벽 규칙 없이는 서버를 만들지 않는 것이 좋습니다. 방화벽 규칙을 추가하지 않으면 어떤 클라이언트도 서버에 연결할 수 없습니다.
서버를 만든 다음 방화벽 규칙 만들기 및 관리
az mysql server firewall-rule 명령은 Azure CLI에서 방화벽 규칙을 생성, 삭제, 나열, 표시, 업데이트하는 데 사용됩니다.
명령:
- 만들기: Azure Database for MySQL 유연한 서버 방화벽 규칙을 만듭니다.
- 목록: Azure Database for MySQL 유연한 서버 방화벽 규칙을 목록으로 표시합니다.
- 업데이트: Azure Database for MySQL 유연한 서버 방화벽 규칙을 업데이트합니다.
- 보여주기: Azure Database for MySQL 유연한 서버 방화벽 규칙을 자세히 보여줍니다.
- 삭제: Azure Database for MySQL 유연한 서버 방화벽 규칙을 삭제합니다.
구성 가능한 CLI 매개 변수의 전체 목록은 Azure CLI 참조 설명서를 참조하세요. 예를 들면, 다음 명령에서 필요에 따라 리소스 그룹을 지정할 수 있습니다.
방화벽 규칙을 만들기
az mysql flexible-server firewall-rule create
명령을 사용하여 서버에 새 방화벽 규칙을 만듭니다.
IP 주소 범위에 대한 액세스를 허용하려면 이 예와 같이 IP 주소를 시작 및 종료 IP 주소로 제공합니다.
az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15
단일 IP 주소에 대한 액세스를 허용하려면 이 예와 같이 단일 IP 주소를 제공합니다.
az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 1.1.1.1
Azure IP 주소의 애플리케이션에서 Azure Database for MySQL 유연한 서버 인스턴스에 연결할 수 있게 하려면 다음 예제와 같이 0.0.0.0 IP 주소를 시작 IP와 끝 IP로 제공합니다.
az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 0.0.0.0
Important
이 옵션은 다른 고객 구독의 연결을 포함하여 Azure 서비스 및 Azure 내의 리소스에서 이 서버로의 공용 액세스를 허용하도록 방화벽을 구성합니다. 이 옵션을 선택할 때 로그인 및 사용자 권한이 부여된 사용자만으로 액세스를 제한하는지 확인합니다.
성공하면 각각의 create 명령 출력은 만든 방화벽 규칙의 세부 정보를 JSON 형식(기본값)으로 나열합니다. 오류가 있는 경우 결과에 대신 오류 메시지 텍스트가 표시됩니다.
방화벽 규칙 나열
az mysql flexible-server firewall-rule list
명령을 사용하여 서버의 기존 서버 방화벽 규칙을 나열합니다. 서버 이름 특성은 -name 스위치에 지정됩니다.
az mysql flexible-server firewall-rule list --name mydemoserver
출력에 기본적으로 JSON 형식으로 규칙(있는 경우)이 나열됩니다. -output 테이블 스위치를 사용하여 결과를 더 읽기 쉬운 테이블 형식으로 출력할 수 있습니다.
az mysql flexible-server firewall-rule list --name mydemoserver --output table
방화벽 규칙 업데이트
az mysql flexible-server firewall-rule update
명령을 사용하여 서버의 기존 방화벽 규칙을 업데이트합니다. 기존 방화벽 규칙의 이름을 입력으로 제공하고 업데이트할 시작 IP 주소 및 끝 IP 주소 특성을 제공합니다.
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 형식으로 나열합니다. 오류가 있는 경우 출력에 대신 오류 메시지 텍스트가 표시됩니다.
참고 항목
방화벽 규칙이 없으면 업데이트 명령이 규칙을 만듭니다.
방화벽 규칙 세부 정보 표시
az mysql flexible-server firewall-rule show
명령을 사용하여 서버의 기존 방화벽 규칙 세부 정보를 표시합니다. 기존 방화벽 규칙의 이름을 입력합니다.
az mysql flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1
성공하면 명령 출력은 지정한 방화벽 규칙의 세부 정보를 기본적으로 JSON 형식으로 나열합니다. 오류가 있는 경우 출력에 대신 오류 메시지 텍스트가 표시됩니다.
방화벽 규칙 삭제
az mysql flexible-server firewall-rule delete
명령을 사용하여 서버에서 기존 방화벽 규칙을 삭제합니다. 현재 방화벽 규칙의 이름을 제공합니다.
az mysql flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1
성공하면 출력이 없습니다. 실패하면 오류 메시지 텍스트가 표시됩니다.