다음을 통해 공유


Azure AI Search에서 인덱서 연결을 허용하도록 IP 방화벽 규칙 구성

인덱서 대신 검색 서비스는 인덱싱 중에 데이터를 끌어오기 위해 외부 Azure 리소스에 대한 아웃바운드 호출을 실행합니다. Azure 리소스가 IP 방화벽 규칙을 사용하여 들어오는 호출을 필터링하는 경우 인덱서 요청을 인정하는 인바운드 규칙을 방화벽에 만들어야 합니다.

이 문서에서는 검색 서비스의 IP 주소를 찾고 Azure Storage 계정에서 인바운드 IP 규칙을 구성하는 방법을 설명합니다. Azure Storage와 관련되어 있지만 이 방법은 Azure Cosmos DB 및 Azure SQL 같은 데이터 액세스에 IP 방화벽 규칙을 사용하는 다른 Azure 리소스에서도 작동합니다.

참고 항목

Azure Storage에만 적용됩니다. IP 방화벽 규칙을 정의하려면 스토리지 계정과 검색 서비스가 다른 지역에 있어야 합니다. 설정에서 이를 허용하지 않는 경우 신뢰할 수 있는 서비스 예외 또는 리소스 인스턴스 규칙을 대신 시도합니다.

인덱서에서 지원되는 Azure 리소스로의 프라이빗 연결을 위해서는 공유 프라이빗 링크를 설정하는 것이 좋습니다. 프라이빗 연결은 공용 인터넷을 완전히 무시하여 Microsoft 백본 네트워크를 통해 이동합니다.

검색 서비스 IP 주소 가져오기

  1. 검색 서비스의 FQDN(정규화된 도메인 이름)을 가져옵니다. <search-service-name>.search.windows.net과 같습니다. FQDN은 Azure Portal에서 검색 서비스를 조회하여 확인할 수 있습니다.

    검색 서비스 개요 페이지의 스크린샷.

  2. 명령 프롬프트에서 FQDN의 nslookup(또는 ping)를 수행하여 검색 서비스의 IP 주소를 조회합니다. FQDN에서 https:// 접두사를 제거했는지 확인합니다.

  3. 다음 단계에서 인바운드 규칙에 지정할 수 있도록 IP 주소를 복사합니다. 다음 예제에서 복사해야 하는 IP 주소는 "150.0.0.1"입니다.

    nslookup contoso.search.windows.net
    Server:  server.example.org
    Address:  10.50.10.50
    
    Non-authoritative answer:
    Name:    <name>
    Address:  150.0.0.1
    aliases:  contoso.search.windows.net
    

클라이언트 IP 주소에서 액세스 허용

검색 서비스에 인덱싱 및 쿼리 요청을 푸시하는 클라이언트 애플리케이션은 IP 범위로 표시되어야 합니다. Azure에서는 일반적으로 서비스의 FQDN을 ping하여 IP 주소를 확인할 수 있습니다(예: ping <your-search-service-name>.search.windows.net은 검색 서비스의 IP 주소를 반환함).

현재 컴퓨터의 Azure Portal에서 서비스에 액세스할 수 있도록 클라이언트 IP 주소를 추가합니다. 왼쪽 탐색 창에서 네트워킹 섹션으로 이동합니다. 공용 네트워크 액세스선택한 네트워크로 변경한 다음 방화벽에서 클라이언트 IP 주소 추가를 선택합니다.

클라이언트 IP를 검색 서비스 방화벽에 추가하는 스크린샷.

Azure Portal IP 주소 가져오기

Azure Portal 또는 데이터 가져오기 마법사사용하여 인덱서를 만드는 경우 Azure Portal에 대한 인바운드 규칙도 필요합니다.

Azure Portal의 IP 주소를 얻으려면 트래픽 관리자의 도메인인 수행(또는ping)stamp2.ext.search.windows.net을 수행 nslookup 합니다. nslookup의 경우 IP 주소는 응답의 "신뢰할 수 없는 답변" 부분에 표시됩니다.

다음 예에서 복사해야 하는 IP 주소는 "52.252.175.48"입니다.

$ nslookup stamp2.ext.search.windows.net
Server:  ZenWiFi_ET8-0410
Address:  192.168.50.1

Non-authoritative answer:
Name:    azsyrie.northcentralus.cloudapp.azure.com
Address:  52.252.175.48
Aliases:  stamp2.ext.search.windows.net
          azs-ux-prod.trafficmanager.net
          azspncuux.management.search.windows.net

다른 지역의 서비스는 다른 트래픽 관리자에 연결됩니다. 도메인 이름과 상관없이 ping에서 반환된 IP 주소는 해당 지역의 Azure Portal에 대한 인바운드 방화벽 규칙을 정의할 때 사용할 올바른 IP 주소입니다.

ping의 경우 요청 시간이 초과되지만 응답에 IP 주소가 표시됩니다. 예를 들어 "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]"이라는 메시지에서 IP 주소는 "52.252.175.48"입니다.

"AzureCognitiveSearch" 서비스 태그에 대한 IP 주소 범위 가져오기

또한 다중 테넌트 실행 환경의 요청을 허용하는 인바운드 규칙을 만들어야 합니다. 이 환경은 Microsoft에서 관리하며, 검색 서비스에 과부하를 유발할 수 있는 처리 집약적인 작업을 오프로드하는 데 사용됩니다. 이 섹션에서는 이 인바운드 규칙을 만드는 데 필요한 IP 주소 범위를 가져오는 방법을 설명합니다.

IP 주소 범위는 Azure AI Search를 지원하는 각 지역에 대해 정의됩니다. 다중 테넌트 실행 환경에서 시작된 요청의 성공이 보장되도록 전체 범위를 지정합니다.

이 IP 주소 범위는 AzureCognitiveSearch 서비스 태그에서 가져올 수 있습니다.

  1. 검색 API 또는 다운로드 가능한 JSON 파일을 사용합니다. 검색 서비스가 Azure 퍼블릭 클라우드인 경우 Azure 공용 JSON 파일을 다운로드합니다.

  2. JSON 파일을 열고 "AzureCognitiveSearch"를 검색합니다. WestUS2의 검색 서비스의 경우 다중 테넌트 인덱서 실행 환경의 IP 주소는 다음과 같습니다.

    {
    "name": "AzureCognitiveSearch.WestUS2",
    "id": "AzureCognitiveSearch.WestUS2",
    "properties": {
       "changeNumber": 1,
       "region": "westus2",
       "regionId": 38,
       "platform": "Azure",
       "systemService": "AzureCognitiveSearch",
       "addressPrefixes": [
          "20.42.129.192/26",
          "40.91.93.84/32",
          "40.91.127.116/32",
          "40.91.127.241/32",
          "51.143.104.54/32",
          "51.143.104.90/32",
          "2603:1030:c06:1::180/121"
       ],
       "networkFeatures": null
    }
    },
    
  3. IP 주소에 "/32" 접미사가 있는 경우 "/32"를 삭제합니다(규칙 정의에서 40.91.93.84/32는 40.91.93.84가 됩니다). 다른 모든 IP 주소는 그대로 사용할 수 있습니다.

  4. 지역의 모든 IP 주소를 복사합니다.

IP 주소를 IP 방화벽 규칙으로 추가합니다.

이제 필요한 IP 주소가 있으므로 인바운드 규칙을 설정할 수 있습니다. 스토리지 계정의 방화벽 규칙에 IP 주소 범위를 추가하는 가장 쉬운 방법은 Azure Portal을 통하는 것입니다.

  1. Azure Portal에서 스토리지 계정을 찾고 왼쪽 탐색 창에서 네트워킹을 엽니다.

  2. 방화벽 및 가상 네트워크 탭에서 선택한 네트워크를 선택합니다.

    Azure Storage 방화벽 및 가상 네트워크 페이지의 스크린샷

  3. 주소 범위에서 앞서 획득한 IP 주소를 추가하고 저장을 선택합니다. 검색 서비스에 대한 규칙, Azure Portal(선택 사항) 및 해당 지역의 "AzureCognitiveSearch" 서비스 태그에 대한 모든 IP 주소가 있어야 합니다.

    페이지의 IP 주소 섹션 스크린샷.

방화벽 규칙을 업데이트하는 데 5~10분이 걸릴 수 있으며, 그 후에는 인덱서가 방화벽 뒤의 스토리지 계정 데이터에 액세스할 수 있어야 합니다.

토큰 인증으로 네트워크 보안 강화

방화벽과 네트워크 보안은 데이터 및 운영에 대한 무단 액세스를 방지하는 첫 번째 단계입니다. 권한 부여는 다음 단계입니다.

Microsoft Entra ID 사용자 및 그룹이 서비스에 대한 읽기 및 쓰기 권한을 결정하는 역할에 할당되는 역할 기반 액세스를 권장합니다. 기본 제공 역할에 대한 설명과 사용자 지정 역할 만들기에 대한 지침은 역할 기반 액세스 제어를 사용하여 Azure AI 검색에 연결을 참조하세요.

키 기반 인증이 필요하지 않은 경우 API 키를 사용하지 않도록 설정하고 역할 할당만 사용하는 것이 좋습니다.

다음 단계