Azure Database for MySQL을 배포하고 연결하는 방법

완료됨

Azure Database for MySQL - 유연한 서버 기능을 전반적으로 이해하면 웹 기반 애플리케이션의 개발, 테스트 및 프로덕션 환경에 대한 최적의 배포 설정을 식별하는 데 도움이 됩니다. 대상 Azure 지역 선택, 영역 중복 고가용성 및 백업 중복성과 같은 주요 결정은 디자인 단계에서 수행해야 합니다. 컴퓨팅 및 스토리지 리소스 할당과 같은 다른 결정은 시간이 지남에 따라 변하는 사용 패턴에 따라 결정됩니다.

이 모듈의 이전 단원은 디자인 및 계획 단계에 도움이 됩니다. 이제 자체 솔루션의 일부로 구현할 준비가 되었을 때 Azure Database for MySQL 유연한 서버를 배포하고 연결하는 방법에 중점을 두겠습니다.

배포 중에 올바른 선택을 하려면 다양한 구성 설정 간의 종속성을 이해해야 합니다. 특히 다음 사항에 유의해야 합니다.

  • 고가용성을 사용하도록 설정된 서버에서는 스토리지 자동 증가를 사용하지 않도록 설정할 수 없습니다.
  • 고가용성은 버스트 가능 계층에서 지원되지 않지만 서버를 특정 가용성 영역에 배포할 수 있습니다.

Azure Database for MySQL 유연한 서버를 배포하는 방법

여러 가지 방법을 사용하여 Azure Database for MySQL 유연한 서버를 프로비전할 수 있습니다. 완전히 자동화된 배포를 사용할 수 있지만 가장 간단한 배포 방법은 GUI(그래픽 사용자 인터페이스)인 Azure Portal을 통해 인스턴스를 만드는 것입니다. 포털을 통해 인스턴스를 만들 때 다음과 같은 5개의 그룹으로 나눌 수 있는 서버 설정 범위를 구성할 수 있습니다. 기본 사항, 컴퓨팅 및 스토리지, 네트워킹, 보안 및 태그. 각 그룹과 해당 설정 옵션이 페이지에 표시됩니다.

  • 기본 사항 페이지에는 다음을 구성하는 데 사용할 수 있는 설정이 포함되어 있습니다.

    • 프로젝트 세부 정보: 대상 구독 및 리소스 그룹의 이름

    • 서버 세부 정보:

      • 서버의 이름
      • 대상 Azure 지역
      • MySQL 버전 및 컴퓨팅 계층
      • 가용성 영역 번호

      기본 Azure Portal 유연한 서버 배포 페이지의 프로젝트 및 서버 세부 정보 섹션 스크린샷

    • 인증 방법 MySQL 인증, Microsoft Entra ID 인증 또는 두 가지 방법의 혼합을 선택합니다.

      참고 항목

      선택한 컴퓨팅 크기 및 지역에 따라 이 단계에서 가용성 영역 선택을 사용하지 못할 수 있습니다.

  • 서버 구성 링크를 통해 기본 사항 페이지에서 액세스할 수 있는 컴퓨팅 + 스토리지 페이지에는 구성에 사용할 수 있는 설정이 포함되어 있습니다.

    • 컴퓨팅 컴퓨팅 계층 및 컴퓨팅 크기 옵션

    • 스토리지. 스토리지 크기(GiB), IOPS(또는 자동 크기 조정) 수, 스토리지 자동 증가 옵션입니다.

      Compute + Storage Azure Portal 유연한 서버 배포 페이지의 컴퓨팅 및 저장소 섹션 스크린샷

    • 고가용성. 고가용성 모드(동일한 영역 또는 영역 중복)

      기본 Azure Portal 유연한 서버 배포 페이지에 있는 고가용성 섹션의 스크린샷

    • 백업 백업 보존 기간 및 백업 지역 중복 옵션

      Compute + Storage Azure Portal 유연한 서버 배포 페이지에 있는 고가용성 및 백업 섹션의 스크린샷.

  • 네트워킹 페이지에서는 연결 방법을 지정할 수 있습니다. 선택 사항에 따라 모든 Azure 서비스에서 공용 액세스를 허용하거나, 방화벽 규칙을 구성하거나, 가상 네트워크 통합을 설정하거나, 프라이빗 엔드포인트를 만들 수도 있습니다.

연결 방법, 방화벽 규칙 등에 대한 옵션을 보여주는 네트워크 연결 탭의 스크린샷

  • 보안 페이지에는 기본적으로 구성되는 스토리지 암호화 외에 애플리케이션을 변경하지 않고 미사용 데이터베이스, 백업 및 로그를 암호화하도록 데이터 암호화를 구성하는 옵션이 포함되어 있습니다.

  • 태그 페이지에는 배포된 리소스에 대한 메타데이터를 정의하는 키-값 쌍이 추가됩니다.

Azure Database for MySQL 유연한 서버에 연결하는 방법

유연한 서버에 연결하기 전에 배포 중에 구현한 네트워크 구성을 고려합니다. 예를 들어, 유연한 서버가 공용 액세스로 구성되어 있고 Azure Cloud Shell 또는 데이터베이스에 대한 직접적인 네트워크 액세스 권한이 없는 기타 클라이언트 애플리케이션에서 연결하기로 결정한 경우 서버 방화벽의Azure 내의 모든 Azure 서비스에서 이 서버에 대한 공개 액세스를 허용 옵션을 사용하도록 설정합니다. 온-프레미스 애플리케이션 서버 또는 인터넷에 연결된 디바이스에서 연결할 때 연결 디바이스 또는 서비스의 공용 IP 주소를 방화벽 예외 목록에 추가합니다.

Azure VM 또는 Azure에서 실행되는 컨테이너화된 워크로드의 보안 연결을 위해서는 프라이빗 엔드포인트를 사용하도록 설정하는 것이 좋습니다. 프라이빗 엔드포인트를 사용하면 개인 네트워크를 통해 유연한 서버에 안전하게 연결할 수 있으므로 공용 인터넷에 대한 노출이 제거됩니다. 또한 연결하려는 네트워크가 Azure Database for MySQL 유연한 서버에 필요한 TCP 포트 3306을 통해 Azure로의 아웃바운드 트래픽을 허용하는지 확인합니다.

새로운 배포에서는 암호화가 기본적으로 사용하도록 설정되므로 서버에 설치된 공용 인증서를 다운로드하고 TLS 1.2를 통해 연결을 설정할 때 이를 사용해야 합니다.

네트워킹 및 인증서 요구 사항을 해결한 후에는 Azure Database for MySQL 유연한 서버에 연결하고 다음을 사용하는 등 여러 가지 방법으로 쿼리할 수 있습니다.

  • Azure CLI(az mysql) 또는 Azure Cloud Shell

    • Azure CLI에서 다음 명령 형식을 사용하여 연결합니다. az mysql flexible-server connect --name <server-name> --user <username>
  • mysql.exe command line utility

    • MySQL 명령줄 도구에서 다음 명령 형식을 사용하여 연결합니다. mysql -h <server-name>.mysql.database.azure.com -u <username> -p
  • MySQL Workbench 그래픽 도구

    • MySQL Workbench 그래픽 도구에서 다음 연결 세부 정보를 사용합니다.
      • 호스트 이름: <server-name>.mysql.database.azure.com
      • 포트: 3306
      • 사용자 이름: <username>
      • 암호: <your-password>
  • MySQL 확장이 포함된 Azure Data Studio

    • Azure Data Studio를 시작하고 MySQL 확장이 설치되어 있는지 확인합니다.
    • 새 연결 아이콘을 선택하거나 파일>새 쿼리로 이동합니다.
    • 연결 대화 상자에서 연결 유형에 대해 MySQL을 선택합니다.
    • 연결 세부 정보를 지정합니다.
      • 서버 이름: <server-name>.mysql.database.azure.com
      • 사용자 이름: <username>
      • 암호: <your-password> - 또는 Microsoft Entra ID 인증을 사용하여 로그인할 수 있습니다.
      • 포트: 3306
      • 데이터베이스 이름(선택 사항): 연결할 특정 데이터베이스 이름을 지정하거나 모든 데이터베이스를 나열하려면 비워 둡니다.
    • SSL 모드:
    • 모든 세부 정보가 올바른지 확인하려면 연결 테스트를 선택합니다.
    • 선택적으로 암호 저장을 선택하여 나중에 사용할 수 있도록 연결 세부 정보를 저장할 수 있습니다.
    • 연결을 선택하여 Azure Database for MySQL 유연한 서버에 대한 연결을 설정합니다.
  • PHP, Java, Python, C#, C++, JavaScript, Rust, Go, Ruby와 같은 다양한 프로그래밍 언어.

PHP의 MySQL Improved extension(mysqli) 클래스를 사용하여 Azure Database for MySQL 유연한 서버에 연결하는 기본 예제는 다음과 같습니다.

<?php
$host = '<server-name>.mysql.database.azure.com';
$username = '<username>';
$password = '<your-password>';
$db_name = '<database-name>';

//Establish the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
    die('Failed to connect to MySQL: '.mysqli_connect_error());
}

//Run a query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res)) {
    var_dump($row);
}

//Close the connection
mysqli_close($conn);
?>

참고 항목

프로그래밍 방식으로 Azure Database for MySQL 유연한 서버에 연결하는 방법에 대한 자세한 내용은 Microsoft Learn을 참조하세요.