Azure Database for MySQL - 유연한 서버에 대한 연결 및 네트워킹 개념
적용 대상: Azure Database for MySQL - 유연한 서버
이 문서에서는 Azure Database for MySQL 유연한 서버 인스턴스에 대한 연결을 제어하는 개념을 소개합니다. Azure에서 서버를 안전하게 만들고 액세스할 수 있도록 Azure Database for MySQL 유연한 서버에 대한 네트워킹 개념을 자세히 알아봅니다.
Azure Database for MySQL 유연한 서버는 서버에 대한 연결을 구성하는 세 가지 방법을 지원합니다.
공용 액세스 유연한 서버는 퍼블릭 엔드포인트를 통해 액세스됩니다. 퍼블릭 엔드포인트는 공개적으로 확인할 수 있는 DNS 주소입니다. "허용되는 IP 주소"라는 말은 선택하는 IP 범위에 서버 액세스 권한을 부여한다는 뜻입니다. 이러한 권한을 방화벽 규칙이라고 합니다.
프라이빗 엔드포인트 프라이빗 엔드포인트를 사용하여 가상 네트워크인 VNet 상의 호스트가 프라이빗 링크를 통해 안전하게 데이터에 액세스하도록 할 수 있습니다.
프라이빗 액세스(VNet 통합) Azure Virtual Network에 유연한 서버를 배포할 수 있습니다. Azure 가상 네트워크는 프라이빗하고 안전한 네트워크 통신을 제공합니다. 가상 네트워크의 리소스는 개인 IP 주소를 통해 통신할 수 있습니다.
참고 항목
공용 액세스 또는 VNet 통합을 통한 프라이빗 액세스 권한이 있는 서버를 배포한 후에는 연결 모드를 수정할 수 없습니다. 그러나 공용 액세스 모드에서는 필요에 따라 프라이빗 엔드포인트 사용 여부를 설정하고 필요한 경우 공용 액세스를 사용하지 않도록 설정할 수도 있습니다.
네트워킹 옵션 선택
다음 기능을 사용하려면 공용 액세스(허용된 IP 주소) 및 프라이빗 엔드포인트 메서드를 선택합니다.
- 가상 네트워크 지원 없이 Azure 리소스에서 연결
- VPN 또는 ExpressRoute로 연결되지 않은 Azure 외부의 리소스에서 연결
- 유연한 서버는 퍼블릭 엔드포인트를 통해 액세스할 수 있으며 권한 있는 인터넷 리소스를 통해 액세스할 수 있습니다. 필요한 경우 공용 액세스를 사용하지 않도록 설정할 수 있습니다.
- VNet(가상 네트워크) 상의 호스트에서 서버에 액세스하도록 프라이빗 엔드포인트를 구성하는 기능
다음과 같은 기능을 원하는 경우 프라이빗 액세스(VNet 통합)를 선택합니다.
- 프라이빗 엔드포인트를 구성할 필요 없이 동일한 가상 네트워크 또는 피어된 가상 네트워크 내의 Azure 리소스에서 유연한 서버에 연결
- VPN 또는 ExpressRoute를 사용하여 비 Azure 리소스에서 유연한 서버로 연결
- 비 퍼블릭 엔드포인트
다음 특징은 프라이빗 액세스 또는 퍼블릭 액세스 옵션을 사용하도록 선택하는 경우에 적용됩니다.
- 허용된 IP 주소의 연결은 유효한 자격 증명을 사용하여 Azure Database for MySQL 유연한 서버 인스턴스에 인증해야 합니다.
- 네트워크 트래픽에 연결 암호화를 사용할 수 있습니다.
- 서버에 FQDN(정규화된 도메인 이름)이 있습니다. 연결 문자열의 호스트 이름 속성에는 IP 주소 대신 FQDN을 사용하는 것이 좋습니다.
- 두 옵션 모두 데이터베이스 수준 또는 테이블 수준이 아닌 서버 수준에서 액세스를 제어합니다. MySQL의 역할 속성을 사용하여 데이터베이스, 테이블 및 기타 개체 액세스를 제어합니다.
지원되지 않는 가상 네트워크 시나리오
- 퍼블릭 엔드포인트(또는 공용 IP 또는 DNS) - 가상 네트워크에 배포된 유연한 서버에는 퍼블릭 엔드포인트가 있을 수 없습니다.
- 유연한 서버를 가상 네트워크 및 서브넷에 배포한 후에는 다른 가상 네트워크 또는 서브넷으로 이동할 수 없습니다.
- 유연한 서버를 배포한 후에는 유연한 서버가 사용하는 가상 네트워크를 다른 리소스 그룹 또는 구독으로 이동할 수 없습니다.
- 서브넷에 리소스가 있으면 서브넷 크기(주소 공간)를 늘릴 수 없습니다.
- 서버를 만든 후에는 퍼블릭에서 프라이빗 액세스로 변경할 수 없습니다. 지정 시간 복구를 사용하는 것이 좋습니다.
참고 항목
사용자 지정 DNS 서버를 사용하는 경우 DNS 전달자를 사용하여 Azure Database for MySQL 유연한 서버 인스턴스의 FQDN을 확인해야 합니다. 자세한 정보는 DNS 서버를 사용하는 이름 확인을 참조하세요.
Hostname
네트워킹 옵션에 관계없이 Azure Database for MySQL 유연한 서버 인스턴스에 연결할 때 연결 문자열 FQDN(정규화된 도메인 이름) <servername>.mysql.database.azure.com
을 사용하는 것이 좋습니다. 서버의 IP 주소는 고정적으로 유지된다는 보장이 없습니다. FQDN을 사용하면 연결 문자열을 변경하지 않아도 됩니다.
hostname = servername.mysql.database.azure.com은 FQDN을 호스트 이름으로 사용하는 한 가지 예시입니다. 가능하다면 hostname = 10.0.0.4(비공개 주소) 또는 hostname = 40.2.45.67(공용 주소)을 사용하지 않도록 합니다.
TLS 및 SSL
Azure Database for MySQL 유연한 서버는 TLS(전송 계층 보안) 암호화를 사용하여 SSL(Secure Sockets Layer)을 사용하여 클라이언트 애플리케이션을 Azure Database for MySQL 유연한 서버 인스턴스에 연결할 수 있도록 지원합니다. TLS는 데이터베이스 서버와 클라이언트 애플리케이션 간에 암호화된 네트워크 연결을 보장하여 규정 준수 요구 사항을 준수할 수 있도록 하는 업계 표준 프로토콜입니다.
Azure Database for MySQL 유연한 서버는 기본적으로 TLS 1.2(전송 계층 보안)를 사용하여 암호화된 연결을 지원하며, TLS 1.0 및 TLS 1.1로 들어오는 모든 연결은 기본적으로 거부됩니다. 유연한 서버에서 암호화된 연결 적용 또는 TLS 버전 구성을 구성하고 변경할 수 있습니다.
유연한 서버에 사용할 수 있는 SSL 및 TLS 설정의 다양한 구성은 다음과 같습니다.
Important
2024년 9월 초부터 TLS 1.0 및 TLS 1.1 프로토콜에 대한 지원 제거에 따라 새 서버는 더 이상 TLS 1.0 또는 1.1을 사용할 수 없으며 기존 서버는 이러한 버전으로 다운그레이드할 수 없습니다. 2024년 9월 중순부터 TLS 1.0 또는 1.1을 사용하는 모든 서버를 TLS 1.2로 필수 업그레이드를 시작합니다. 이 업그레이드 프로세스는 2024년 9월 말까지 완료될 예정입니다. 고객은 9월 말 이전에 애플리케이션이 TLS 1.2와 완전히 호환되도록 하는 것이 좋습니다.
시나리오 | 서버 매개 변수 설정 | 설명 |
---|---|---|
SSL 사용 안 함(암호화된 연결) | require_secure_transport = OFF | 레거시 애플리케이션이 Azure Database for MySQL 유연한 서버 인스턴스에 대한 암호화된 연결을 지원하지 않는 경우 require_secure_transport=OFF를 설정하여 유연한 서버에 대한 암호화된 연결 적용을 사용하지 않도록 설정할 수 있습니다. |
TLS 버전 < 1.2로 SSL 적용(2024년 9월에 사용되지 않음) | require_secure_transport = ON 및 tls_version = TLS 1.0 또는 TLS 1.1 | 레거시 애플리케이션이 암호화된 연결을 지원하지만 TLS 버전 < 1.2가 필요한 경우 암호화된 연결을 사용하도록 설정할 수 있지만 애플리케이션에서 지원하는 TLS 버전(v1.0 또는 v1.1)과의 연결을 허용하도록 유연한 서버를 구성할 수 있습니다. |
TLS 버전 = 1.2를 사용하여 SSL 적용(기본 구성) | require_secure_transport = ON 및 tls_version = TLS 1.2 | 유연한 서버에 권장되는 기본 구성입니다. |
TLS 버전 = 1.3으로 SSL 적용(MySQL v8.0 이상에서 지원됨) | require_secure_transport = ON 및 tls_version = TLS 1.3 | 이는 새 애플리케이션 개발에 유용하며 권장됩니다. |
참고 항목
유연한 서버의 SSL 암호 변경은 지원되지 않습니다. tls_version이 TLS 버전 1.2로 설정된 경우 FIPS 암호화 그룹은 기본적으로 적용됩니다. 버전 1.2가 아닌 TLS 버전의 경우 SSL 암호화는 MySQL 커뮤니티 설치와 함께 제공되는 기본 설정으로 설정됩니다.
SSL/TLS를 사용하여 연결을 검토하여 사용 중인 TLS 버전을 식별하는 방법을 알아봅니다.
다음 단계
- Azure Portal 또는 Azure CLI를 사용하여 프라이빗 액세스(VNet 통합)를 사용하도록 설정하는 방법 알아보기
- Azure Portal 또는 Azure CLI를 사용하여 퍼블릭 액세스(허용된 IP 주소)를 사용하도록 설정하는 방법 알아보기
- Azure Portal에서 Azure Database for MySQL 유연한 서버에 대한 프라이빗 링크를 구성하는 방법을 알아봅니다.