적용 대상:Azure SQL Managed Instance에 적용합니다.
이 문서에서는 서비스 안정성을 모니터링하고 문제 검색을 가속화하기 위해 Azure SQL Managed Instance 실행되는 자동 내부 연결 테스트에 대해 설명합니다.
이러한 테스트는 완전히 자동화되어 있으며 사용자로부터 아무런 조치도 필요하지 않습니다. 내부 네트워크 연결을 사전에 모니터링하면 Microsoft 잠재적인 문제를 신속하게 식별하고 안정적인 엔드 투 엔드 연결을 유지할 수 있습니다.
연결 테스트는 SQL 관리형 인스턴스를 호스트하는 서브넷 범위의 내부 IP 주소 쌍에서 실행됩니다. 테스트에는 외부 인바운드 또는 아웃바운드 연결이 필요하지 않습니다. 추가 IP 주소는 연결 테스트를 위해 예약되며 추적은 관찰 가능성 로그에 표시될 수 있습니다.
2026년 5월부터 연결 테스트는 모든 SQL 관리형 인스턴스에서 정기적으로 실행됩니다.
Benefits
자동 내부 연결 테스트는 다음과 같은 이점을 제공합니다.
- 내부 서비스 및 네트워크 가용성 문제를 진단합니다.
- 문제 검색을 가속화하고 완화 시간을 줄입니다.
- SQL Managed Instance 내부 네트워킹 상태에 대한 가시성을 향상시킵니다.
테스트 결과는 내부적으로 사용되며 Service Health 또는 Resource Health 반영되지 않습니다.
운영 영향
내부 연결 테스트는 다음과 같은 운영 영향을 줍니다.
- 각 VM 그룹에 대해 두 개의 추가 IP 주소가 프로비전되어 IP 주소 요구 사항이 6개에서 8개로 증가합니다. 자세한 내용은 서브넷 크기 및 범위 확인을 참조하세요.
- 테스트는 10초마다 실행되며 네트워크 처리량 및 서비스 성능에 미미한 성능 영향을 미칩니다.
- SQL 관리형 인스턴스용으로 만든 새 서브넷은 연결 테스트에 필요한 추가 IP 주소를 자동으로 예약합니다.
- SQL 관리형 인스턴스가 있는 기존 서브넷에서 테스트는 서브넷에 테스트에 필요한 추가 IP 주소를 지원하기에 충분한 사용 가능한 IP 주소가 있는 경우에만 추가 IP 주소를 예약합니다. 기존 서브넷에 사용 가능한 IP 주소가 충분하지 않은 경우 테스트가 실행되지 않습니다.
보안 고려 사항
다음 보안 원칙은 내부 연결 테스트의 설계를 안내합니다.
- 테스트는 단일 SQL 관리형 인스턴스로 범위가 지정되고 위임된 가상 네트워크 및 서브넷 내에서 실행됩니다.
- 연결 테스트는 데이터베이스의 콘텐츠에 액세스할 수 없습니다.
- 테스트 결과에는 인스턴스 이름 이외의 고객 데이터가 포함되지 않습니다.
- Microsoft 엔지니어만 결과에 액세스할 수 있습니다.
- 감사 시스템은 테스트에서 생성된 실패한 로그인 시도를 기록할 수 있습니다. 이러한 항목을 식별하는 방법에 대한 자세한 내용은 엔드 투 엔드 테스트로 인해 실패한 로그인 관찰을 참조하세요.
수행된 테스트
다음 연결 테스트는 자동으로 실행됩니다.
| Test | Description |
|---|---|
| 부하 분산 장치 연결 | 내부 부하 분산 장치에 대한 연결의 유효성을 검사합니다. |
| 내부 DNS 이름 확인 | 내부 DNS 이름이 올바르게 해석되는지 확인합니다. |
| Azure 인프라 종속성 가용성 | Azure 인프라 종속성의 가용성을 확인합니다. |
| 인스턴스에 대한 엔드투엔드 서브넷 연결 | 실패한 것으로 알려진 자격 증명(AzureSQLConnectivityChecker)을 사용하여 로그인을 시도하여 Azure SQL Managed Instance 대한 전체 연결 경로의 유효성을 검사합니다. |
엔드투엔드 테스트로 인해 발생한 로그인 실패 확인
엔드 투 엔드 연결 테스트는 의도적으로 실패한 로그인을 수행하여 전체 연결 경로의 유효성을 검사합니다. 테스트는 존재하지 않는 AzureSQLConnectivityChecker 로그인 계정을 사용하며, Azure SQL Managed Instance가 오류 18456을 반환할 것으로 예상합니다. 이 오류는 SQL Managed Instance 전체 네트워크 경로가 작동하고 있는지 확인합니다.
SQL 관찰 도구는 이러한 실패한 로그인을 검색할 수 있습니다. 다음 서명을 사용하여 연결 테스트 항목을 식별하고 실제 실패한 로그인 시도와 구분합니다.
다음 관찰 도구는 실패한 로그인을 검색합니다.
감사 로그
FAILED_LOGIN_GROUP을(를) 사용하도록 설정하면 감사 이벤트가 AzureDiagnostics에 약 10초마다 표시됩니다:
| Column | Value |
|---|---|
Category |
SQLSecurityAuditEvents |
ResourceType |
MANAGEDINSTANCES |
action_id_s |
LGIF |
server_principal_name_s |
AzureSQLConnectivityChecker |
client_ip_s |
서브넷 범위 내의 IP 주소 |
확장 이벤트
sqlserver.error_reported를 캡처하고, error_number = 18456 및 severity = 14에 다음 속성이 표시되는 확장 이벤트 세션:
| Attribute | Value |
|---|---|
category |
LOGON |
error_number |
18456 |
severity |
14 |
state |
변수(인증 구성에 따라 다름) |
message |
변수(인증 구성에 따라 다름) |
sqlazure.is_azure_connection |
True |
예를 들어 SQL 관리되는 인스턴스에서 SQL 인증을 사용하지 않도록 설정한 경우 상태는 상태 170 이며 메시지는 Microsoft Entra 전용 인증이 사용하도록 설정되어 있음을 나타냅니다.
SQL 오류 로그
에서 sp_readerrorlog연결 테스트의 실패한 로그인은 행 쌍으로 표시됩니다.
| Column | Value |
|---|---|
ProcessInfo |
Logon |
Text |
Error: 18456, Severity: 14, State: (변수) . |
및
| Column | Value |
|---|---|
ProcessInfo |
Logon |
Text |
메시지는 인증 구성에 따라 달라집니다. |
예를 들어 SQL 인증을 사용하지 않도록 설정하면 메시지에 Microsoft Entra 전용 인증이 사용하도록 설정되고 서브넷 IP 주소가 포함됩니다.