방화벽 뒤의 테스트

방화벽 뒤의 엔드포인트 가용성을 보장하려면 공용 가용성 테스트를 사용하도록 설정하거나 연결이 끊겼거나 수신이 없는 시나리오에서 가용성 테스트를 실행합니다.

공용 가용성 테스트 지원

내부 웹 사이트에 공용 DNS(Domain Name System) 레코드가 있는지 확인합니다. DNS를 확인할 수 없으면 가용성 테스트가 실패합니다. 자세한 내용은 내부 애플리케이션을 위한 사용자 지정 도메인 이름 만들기를 참조하세요.

Warning

가용성 테스트 서비스에서 사용되는 IP 주소는 공유되며 방화벽으로 보호되는 서비스 엔드포인트를 다른 테스트에 노출할 수 있습니다. IP 주소 필터링만으로는 서비스 트래픽을 보호할 수 없으므로 웹 요청의 원본을 확인하기 위해 추가 사용자 지정 헤더를 추가하는 것이 좋습니다. 자세한 내용은 가상 네트워크 서비스 태그를 참조하세요.

트래픽 인증

트래픽의 유효성을 검사하려면 표준 가용성 테스트에서 사용자 지정 헤더를 설정합니다.

  1. 가용성 테스트에서 트래픽을 식별하려면 토큰 또는 GUID를 생성합니다.

  2. 가용성 테스트를 만들거나 업데이트할 때 "표준 테스트 정보" 섹션 아래에 값이 ApplicationInsightsAvailability:<GUID generated in step 1>인 사용자 지정 헤더 "X-Customer-InstanceId"를 추가합니다.

  3. 서비스에서 수신 트래픽에 이전 단계에서 정의한 헤더와 값이 포함되어 있는지 확인합니다.

    사용자 지정 유효성 검사 헤더를 보여 주는 스크린샷.

또는 토큰을 쿼리 매개 변수로 설정합니다. 예들 들어 https://yourtestendpoint/?x-customer-instanceid=applicationinsightsavailability:<your guid>입니다.

가용성 테스트에서 들어오는 요청을 허용하도록 방화벽 구성

참고 항목

이 예는 네트워크 보안 그룹 서비스 태그 사용과 관련된 것입니다. 많은 Azure 서비스는 각각 다른 구성 단계가 필요한 서비스 태그를 허용합니다.

  • 개별 IP를 권한 부여하거나 최신 IP 목록을 유지하지 않고 Azure 서비스 사용하도록 설정을 간소화하려면 서비스 태그를 사용합니다. Azure Firewall 및 네트워크 보안 그룹 전체에 이러한 태그를 적용하면 가용성 테스트 서비스가 엔드포인트에 액세스할 수 있습니다. 서비스 태그 ApplicationInsightsAvailability는 모든 가용성 테스트에 적용됩니다.

    1. Azure 네트워크 보안 그룹을 사용하는 경우 네트워크 보안 그룹 리소스로 이동하여 설정 아래에서 인바운드 보안 규칙을 선택합니다. 그런 다음, 추가를 선택합니다.

      네트워크 보안 그룹 리소스의 인바운드 보안 규칙 탭을 보여 주는 스크린샷

    2. 다음으로, 서비스 태그를 원본으로 선택하고 ApplicationInsightsAvailability를 원본 서비스 태그로 선택합니다. 서비스 태그에서 들어오는 트래픽에 대한 포트 80(http) 및 443(https) 열기를 사용합니다.

      서비스 태그 원본이 있는 인바운드 보안 규칙 추가 탭을 보여 주는 스크린샷

  • 엔드포인트가 Azure 외부에 있거나 서비스 태그를 선택할 수 없는 경우 액세스를 관리하려면 웹 테스트 에이전트의 IP 주소를 허용 목록에 추가합니다. PowerShell, Azure CLI 또는 서비스 태그 API를 통한 REST 호출을 사용하여 IP 범위를 쿼리할 수 있습니다. 현재 서비스 태그와 해당 IP 세부 정보의 전체 목록을 보려면 JSON 파일을 다운로드합니다.

    1. 네트워크 보안 그룹 리소스의 설정 아래에서 인바운드 보안 규칙을 선택합니다. 그런 다음, 추가를 선택합니다.

    2. 다음으로, IP 주소를 원본으로 선택합니다. 그런 다음, 원본으로 원본 IP 주소/CIRD 범위에서 쉼표로 구분된 목록에 IP 주소를 추가합니다.

      IP 주소 원본이 있는 인바운드 보안 규칙 추가 탭을 보여주는 스크린샷

연결 끊김 또는 수신 없음 시나리오

  1. Azure Private Link를 사용하여 Application Insights 리소스를 내부 서비스 엔드포인트에 연결합니다.
  2. 사용자 지정 코드를 작성하여 내부 서버 또는 엔드포인트를 주기적으로 테스트합니다. 핵심 SDK 패키지의 TrackAvailability() API를 사용하여 결과를 Application Insights로 보냅니다.

문제 해결

자세한 내용은 문제 해결 문서를 참조하세요.

다음 단계