D

Deep Research Archives

  • new
  • |
  • threads
  • |
  • comments
  • |
  • show
  • |
  • ask
  • |
  • jobs
  • |
  • submit
  • Guidelines
  • |
  • FAQ
  • |
  • Lists
  • |
  • API
  • |
  • Security
  • |
  • Legal
  • |
  • Contact
Search…
threads
submit
login
▲
보안과 연결성을 갖춘 AI 에이전트 아키텍처: Azure VNet 내 Bing Grounding 통합 가이드(docs.google.com)

1 point by adroot1 1 month ago | flag | hide | 0 comments

보안과 연결성을 갖춘 AI 에이전트 아키텍처: Azure VNet 내 Bing Grounding 통합 가이드

서론: 고립된 인텔리전스의 과제

현대 AI의 딜레마는 기업 데이터를 가상 네트워크(VNet)라는 고립된 경계 내에서 안전하게 보호해야 하는 요구사항과, AI 에이전트가 실시간 외부 데이터 소스에 "접지(grounded)"되어야 한다는 점점 더 커지는 요구사항 사이의 본질적인 긴장 관계에서 비롯됩니다.1 이는 보안과 기능성 사이의 상충 관계라는 핵심 문제를 제기합니다.

사용자가 겪고 있는 특정 WinError 10054 오류는 단순한 버그가 아니라, 네트워크 보안 정책이 의도한 대로 성공적으로 작동한 예측 가능하고 논리적인 결과로 보아야 합니다. 즉, 이 오류는 허가되지 않은 아웃바운드 트래픽을 차단하는 보안 정책의 증상입니다.

본 보고서는 이러한 충돌을 해결하기 위한 포괄적인 엔터프라이즈급 아키텍처 청사진을 제공하는 것을 목표로 합니다. 광범위하고 안전하지 않은 인터넷 액세스를 방지하면서, 인증(MSAL) 및 외부 도구(Bing Grounding)에 필요한 아웃바운드 트래픽을 감사 가능한 방식으로 허용하는 안전한 Azure AI Studio 환경을 구성하는 방법을 상세히 설명할 것입니다.

섹션 1: 연결 재설정 오류(WSAECONNRESET 10054) 해부

1.1 TCP 연결 재설정의 해부학

WinError 10054는 Windows Sockets (Winsock)의 WSAECONNRESET에 해당하는 오류 코드로, 원격 호스트가 기존 연결을 강제로 닫았음을 의미합니다.5 이는

FIN 패킷을 통한 정상적인 종료가 아니라, 일반적으로 TCP RST (Reset) 패킷에 의해 시작되는 갑작스러운 중단을 나타냅니다.8

이러한 RST 패킷은 연결이 보안 정책을 위반했을 때 방화벽이나 침입 방지 시스템(IPS)과 같은 중간 네트워크 장비에 의해 전송되는 경우가 많습니다.6 사용자의 VNet 환경에서 발생한 오류의 가장 유력한 시나리오가 바로 이것입니다.

1.2 TLS 핸드셰이크: 실패 지점

Microsoft Entra ID 인증을 위한 MSAL이나 Bing Grounding과 같은 서비스는 보안 HTTPS 연결을 설정하기 위해 성공적인 TLS 핸드셰이크가 필수적입니다. 이 과정은 클라이언트 헬로(Client Hello), 서버 헬로(Server Hello), 인증서 교환, 세션 키 합의 단계로 구성됩니다.12

실패는 바로 이 과정에서 발생합니다. RST 패킷은 클라이언트가 "클라이언트 헬로" 메시지를 보낸 직후에 전송될 가능성이 높습니다. 방화벽은 이 메시지에 포함된 대상 IP 주소나 서버 이름 표시(SNI) 필드를 검사합니다. 만약 목적지가 허용 목록에 없다면, 방화벽은 즉시 연결을 종료시켜 10054 오류를 유발합니다.11

1.3 VNet 환경의 일반적인 원인

  • Azure Firewall / 네트워크 가상 어플라이언스(NVA): 가장 가능성이 높은 원인입니다. 기본적으로 모든 아웃바운드 트래픽을 거부하는(default-deny) 정책은 Microsoft Entra ID나 Bing의 API와 같은 공용 엔드포인트에 도달하려는 모든 시도를 차단하고 RST를 유발합니다.10
  • 네트워크 보안 그룹(NSG): NSG는 일반적으로 연결을 "재설정"하기보다는 패킷을 "삭제(drop)"하지만, 제한적인 아웃바운드 NSG 규칙 역시 클라이언트 측에서 시간 초과나 연결 재설정으로 나타나는 연결 실패를 초래할 수 있습니다.15
  • TLS 프로토콜 불일치: 드물지만, 클라이언트와 서버가 TLS 버전이나 암호 그룹(cipher suite)에 합의하지 못해 서버가 연결을 재설정하는 경우도 있습니다.13 최신 Microsoft 서비스에서는 가능성이 낮지만, 사용자 지정 TLS 정책이 적용된 경우 잠재적 요인이 될 수 있습니다.
  • DNS 확인 실패: 클라이언트가 인증 서비스의 FQDN을 확인할 수 없다면 TCP 연결조차 시작할 수 없습니다. 이는 10054 오류의 직접적인 원인은 아니지만, 근본적인 전제 조건입니다. DNS가 공용 IP로 확인되더라도 해당 IP가 차단되면 10054 오류가 뒤따릅니다.

이 오류는 버그가 아니라 기능으로 인식하는 것이 중요합니다. 보안 아키텍트의 관점에서 이 오류는 네트워크 격리가 의도한 대로 작동하고 있음을 나타냅니다. 구성되지 않은 폐쇄형 VNet은 임의의 아웃바운드 연결을 막아야 정상입니다. 따라서 해결책은 오류를 멈추는 것이 아니라, 적절한 보안 제어를 통해 필요한 연결을 명시적으로 '승인'하는 것입니다. 이는 방화벽을 허무는 것이 아니라, 안전하게 관리되는 통로를 설계하는 과제입니다.

섹션 2: 안전한 AI Foundry 환경을 위한 청사진

2.1 허브-스포크 토폴로지: 엔터프라이즈 표준

대규모 Azure 네트워킹 환경에서는 허브-스포크(Hub-and-Spoke) 모델이 권장되는 아키텍처입니다.14 이 모델에서

허브 VNet은 Azure Firewall, DNS 확인자, 게이트웨이와 같은 공유 서비스를 포함하고, 스포크 VNet은 AI Studio 프로젝트와 같은 개별 워크로드를 포함하며 허브와 피어링됩니다. 이 구조는 중앙 집중식 보안 관리, 공유 어플라이언스를 통한 비용 절감, 명확한 워크로드 분리라는 이점을 제공합니다. 모든 스포크의 아웃바운드 트래픽은 사용자 정의 경로(UDR)를 통해 허브의 중앙 방화벽으로 강제 라우팅됩니다.14

2.2 Azure AI Studio의 관리형 VNet 아키텍처

Azure AI Studio(이전 AI Foundry)의 "비공개 네트워킹을 사용하는 표준(Standard with Private Networking)" 설정은 AI 에이전트 런타임과 같은 컴퓨팅 리소스를 격리하는 **작업 공간 관리형 가상 네트워크(workspace-managed virtual network)**를 프로비저닝합니다.24

이 관리형 VNet에는 두 가지 아웃바운드 모드가 있습니다: "인터넷 아웃바운드 허용(Allow internet outbound)"과 본 보고서의 핵심인 "승인된 아웃바운드만 허용(Allow only approved outbound)"입니다.29 후자의 모드는 명시적인 방화벽 규칙 설정을 필수적으로 만듭니다.

2.3 프라이빗 엔드포인트: 내부 보안의 초석

Azure Private Link와 프라이빗 엔드포인트는 Azure PaaS 서비스를 VNet의 사설 주소 공간으로 가져와 해당 서비스에 대한 공용 인터넷 노출을 제거합니다.21 AI Studio 프로젝트를 위해 프라이빗 엔드포인트로 보호해야 할 주요 리소스는 AI 허브/작업 공간 자체, Azure Storage, Azure Key Vault, Azure Container Registry, Azure AI Search입니다.21

중요한 점은 프라이빗 엔드포인트가 서비스로의 인바운드 트래픽만 처리한다는 것입니다. 서비스나 에이전트에서 인터넷으로 나가는 아웃바운드 트래픽은 프라이빗 엔드포인트가 해결하지 못하는 별개의 문제입니다.40

2.4 아웃바운드 전략 설계: Azure Firewall 대 NAT Gateway

사설 서브넷에서 아웃바운드 트래픽을 관리하는 두 가지 주요 옵션이 있습니다.

  • Azure NAT Gateway: 확장 가능한 아웃바운드 연결을 제공하고 SNAT 포트 고갈을 방지하는 완전 관리형 서비스입니다. 하지만 L7 필터링 기능이 없어 주로 IP 주소 변환에 사용되며, 보안 필터링에는 적합하지 않습니다.43
  • Azure Firewall: 상태 저장(stateful) 관리형 방화벽 서비스입니다. 이 시나리오에 필수적인 애플리케이션 규칙의 FQDN 필터링, 네트워크 규칙의 서비스 태그 지원, 중앙 집중식 정책 관리 기능을 제공합니다.22

권장 사항: 이 시나리오에서는 Azure Firewall을 강력히 권장합니다. login.microsoftonline.com이나 api.bing.microsoft.com과 같은 특정 FQDN으로의 트래픽은 허용하고 나머지는 모두 거부해야 하는 요구사항은 NAT Gateway가 제공하지 않는 FQDN 인식 애플리케이션 규칙을 필수적으로 만듭니다. 기술적인 연결 문제 해결을 넘어, 보안 아키텍처 관점에서 올바른 도구를 선택하는 것이 중요합니다. NAT Gateway를 선택하면 모든 아웃바운드 트래픽을 허용하여 연결 문제를 해결할 수는 있겠지만, 이는 데이터 유출의 문을 열어두는 것과 같아 폐쇄형 VNet의 보안 목표를 달성하지 못합니다. 반면, Azure Firewall을 선택하는 것은 "어떻게 트래픽을 내보낼까?"가 아니라 "어떻게 특정 트래픽을 안전하게 허용할까?"라는 올바른 질문에서 출발하는 것이며, 이는 제로 트러스트 원칙과도 일치합니다.48

기능Azure NAT GatewayAzure Firewall StandardAzure Firewall Premium
주요 사용 사례SNAT 포트 확장보안 필터링고도의 보안 필터링
L7 (FQDN) 필터링아니요예예
위협 인텔리전스아니요예예
TLS 검사 / IDPS아니요아니요예
중앙 정책 관리아니요예 (Firewall Policy)예 (Firewall Policy)
비용 모델처리된 GB당 + 시간당처리된 GB당 + 배포 시간당처리된 GB당 + 배포 시간당
본 시나리오 권장 사항보안에 부적합권장고보안 환경에 최적

섹션 3: 외부 연결 승인: MSAL 및 Bing Grounding 문제 해결

3.1 Bing Grounding 규정 준수 경계 예외 이해

Bing Grounding은 데이터를 "Azure 규정 준수 경계 외부"로 전송한다는 점을 명확히 이해해야 합니다.1 이는 AI 에이전트가 Bing에 요청하는 것이 VNet에서 공용 인터넷 엔드포인트로의 아웃바운드 호출임을 의미하며, 이것이 바로 방화벽이 차단하는 주된 연결입니다. 전송되는 데이터에는 생성된 Bing 검색 쿼리와 청구 목적의 리소스 키가 포함됩니다.1

3.2 Bing Grounding을 위한 방화벽 규칙 구성

Bing Search API의 기본 엔드포인트는 https://api.bing.microsoft.com/v7.0/search입니다.50 이를 허용하기 위해 Azure Firewall Policy에 다음과 같은

애플리케이션 규칙을 생성해야 합니다.

  • 이름: AllowBingGroundingAPI
  • 소스: AI Studio 관리형 VNet 서브넷의 IP 주소 범위
  • 프로토콜:포트: https:443
  • 대상 FQDN: api.bing.microsoft.com 50
  • 작업: 허용

3.3 MSAL 인증을 위한 방화벽 규칙 구성

에이전트가 Bing API를 호출하기 전에, 런타임은 MSAL을 사용하여 인증해야 하며, 이는 Microsoft Entra ID 엔드포인트에 연결해야 함을 의미합니다. 이것이 아마도 가장 먼저 발생하는 실패 지점일 것입니다. 이 문제의 순차적 특성을 이해하는 것이 중요합니다. AI 에이전트의 작동 흐름은 1) MSAL을 통해 Entra ID로 인증, 2) Bing Grounding 도구 호출을 포함한 로직 수행, 3) Bing API 호출 순입니다. MSAL에서 10054 오류가 발생했다는 것은 프로세스가 1단계에서 실패했음을 의미합니다. 따라서 즉각적인 해결책은 Entra ID 트래픽을 허용하는 것이지만, 완전한 해결책은 후속 Bing API 트래픽도 허용해야 합니다.

  • 방법 1 (권장 - 서비스 태그): Azure Firewall Policy에 네트워크 규칙을 생성합니다.
    • 이름: AllowEntraIDAuth
    • 소스: AI Studio 관리형 VNet 서브넷의 IP 주소 범위
    • 프로토콜: TCP
    • 대상 포트: 443
    • 대상 유형: 서비스 태그
    • 대상: AzureActiveDirectory 52
  • 방법 2 (세분화 - FQDN): 애플리케이션 규칙을 생성합니다.
    • 이름: AllowEntraIDAuthFQDN
    • 소스: AI Studio 관리형 VNet 서브넷의 IP 주소 범위
    • 프로토콜:포트: https:443
    • 대상 FQDN: login.microsoftonline.com, graph.microsoft.com 52

서비스 태그는 Microsoft가 기본 IP를 업데이트하므로 관리가 더 쉽고, FQDN 규칙은 더 명시적인 제어를 제공하지만 엔드포인트 변경 시 업데이트가 필요할 수 있습니다.

규칙 이름규칙 유형우선순위소스 (서브넷 CIDR)대상 유형대상프로토콜:포트작업정당성
AllowEntraIDAuth네트워크20010.x.x.x/24서비스 태그AzureActiveDirectoryTCP:443허용MSAL을 통한 Microsoft Entra ID 인증
AllowBingGroundingAPI애플리케이션21010.x.x.x/24FQDNapi.bing.microsoft.comhttps:443허용Bing Grounding 도구의 외부 API 호출
AllowMicrosoftCRLs애플리케이션30010.x.x.x/24FQDNcrl.microsoft.com, www.msftconnecttest.comhttp:80, https:443허용인증서 해지 목록(CRL) 확인
AllowPackageRepositories애플리케이션31010.x.x.x/24FQDNpypi.org, files.pythonhosted.orghttps:443허용(선택) Python 패키지 설치

섹션 4: 단계별 구현 가이드 (Infrastructure as Code 활용)

이러한 복잡한 환경을 수동으로 설정하는 것은 오류가 발생하기 쉽고 반복, 감사, 확장이 불가능합니다. 따라서 Bicep이나 Terraform과 같은 코드형 인프라(IaC)를 사용하는 것이 필수적입니다. IaC는 구성 편차를 방지하고 아키텍처에 정의된 보안 상태를 안정적으로 적용하여 일회성 수정이 아닌 관리 가능하고 통제된 시스템을 구축하도록 돕습니다.56

4.1 사전 요구사항 및 환경 설정

  • 필요 권한: 구독에 대한 기여자(Contributor) 또는 소유자(Owner), 배포 중 역할 할당을 위한 역할 기반 액세스 제어 관리자(Role Based Access Administrator).25
  • 필요 도구: Azure CLI, Bicep 또는 Terraform.

4.2 1단계: Azure Firewall을 포함한 허브 네트워크 배포

Bicep/Terraform을 사용하여 허브 VNet, AzureFirewallSubnet, 방화벽용 공용 IP, Azure Firewall 리소스를 배포합니다. 기준이 되는 Azure Firewall Policy를 생성하고 56, 방화벽의 사설 IP를 가리키는 기본 경로(

0.0.0.0/0)를 포함하는 UDR(사용자 정의 경로) 테이블을 만듭니다.14

4.3 2단계: 네트워크 보안 AI Studio 프로젝트 배포

"비공개 네트워킹을 사용하는 표준" AI Studio 환경 배포를 위한 공식 Bicep 템플릿을 사용합니다.25

azuredeploy.parameters.json 파일에서 VNet 이름, 서브넷 이름과 같은 주요 매개변수를 구성합니다. 이 템플릿은 AI 허브, 프로젝트 및 종속 리소스(Storage, Key Vault 등)를 지정된 스포크 VNet에 연결된 프라이빗 엔드포인트와 함께 배포합니다.

4.4 3단계: 방화벽 규칙 생성 및 적용

1단계에서 생성한 Azure Firewall Policy에 이전 섹션의 표 3.1에서 정의한 규칙 컬렉션을 추가하는 Bicep 예제를 작성합니다.56 Bicep 파일에서 애플리케이션 및 네트워크 규칙 컬렉션을 적절한 우선순위로 정의하고, 매개변수 파일에서 규칙을 반복적으로 생성하여 확장 가능한 관리 방식을 구현할 수 있습니다.59

섹션 5: 프라이빗 DNS 확인 마스터하기

5.1 Azure Private DNS Zone의 중요한 역할

네트워크 엔지니어는 종종 IP 라우팅과 방화벽 규칙에 집중하지만, Private Link 중심 환경에서는 DNS가 그에 못지않게 중요합니다. 완벽하게 구성된 방화벽과 라우팅이라도 애플리케이션이 서비스의 공용 IP를 확인하면 실패합니다. 트래픽은 방화벽의 기본 인터넷 경로로 향하고 차단될 것이며, 결과적인 오류는 실제 근본 원인인 DNS 구성 오류를 가릴 수 있습니다.

프라이빗 엔드포인트가 생성될 때, 서비스의 FQDN을 프라이빗 엔드포인트의 IP 주소에 매핑하는 DNS A 레코드가 필요합니다.35 Azure는

privatelink.blob.core.windows.net과 같은 Private DNS Zone을 생성하고 VNet에 연결하여 이 과정을 자동화합니다.33

DNS 확인 과정은 다음과 같습니다:

  1. VNet 내 클라이언트가 myaccount.blob.core.windows.net을 쿼리합니다.
  2. 공용 DNS는 myaccount.privatelink.blob.core.windows.net으로의 CNAME을 반환합니다.
  3. 쿼리가 연결된 VNet에서 발생했기 때문에, Azure DNS는 privatelink 영역에 대한 쿼리를 가로채 공용 DNS로 계속 진행하는 대신 사설 IP 주소를 반환합니다.35

5.2 하이브리드 연결: 온프레미스 및 다중 VNet 확인

ExpressRoute나 VPN으로 연결된 온프레미스 네트워크에서도 DNS 확인이 필요한 경우가 많습니다.

  • 옵션 A (레거시): DNS 전달자 VM. 온프레미스 DNS 서버는 *.privatelink.*.windows.net에 대한 조건부 전달자를 허브 VNet의 사용자 지정 DNS 서버 VM으로 설정합니다. 이 VM은 다시 쿼리를 Azure DNS(168.63.129.16)로 전달합니다.63
  • 옵션 B (최신): Azure DNS Private Resolver. 이 PaaS 서비스는 DNS 전달자 VM의 필요성을 대체합니다. 허브 VNet의 인바운드 엔드포인트가 온프레미스로부터 쿼리를 수신하고, 아웃바운드 엔드포인트는 온프레미스 DNS 서버로 쿼리를 전달할 수 있습니다.63 이것이 권장되는 더 탄력적인 접근 방식입니다.

섹션 6: 검증 및 고급 문제 해결

6.1 필수 도구: 점프 박스 VM

격리된 네트워크 내부에서 문제를 해결하기 위해 스포크 VNet의 서브넷 내에 작은 가상 머신("점프 박스" 또는 "배스천 호스트")을 배포하는 것이 필수적입니다.69 RDP/SSH 포트를 인터넷에 노출하지 않고 브라우저 기반으로 이 VM에 안전하게 액세스하려면 Azure Bastion을 사용하는 것이 좋습니다.69

6.2 체계적인 테스트 방법론

점프 박스의 PowerShell 또는 명령줄에서 다음 진단 순서를 따릅니다.

  1. DNS 확인: nslookup login.microsoftonline.com 및 nslookup mykeyvault.vault.azure.net을 사용합니다. 공용 서비스는 공용 IP로, 프라이빗 엔드포인트 사용 서비스는 VNet 내 사설 IP로 확인되는지 검증합니다.72
  2. 네트워크 경로 및 TCP 연결: Test-NetConnection login.microsoftonline.com -Port 443을 사용합니다.72
    TcpTestSucceeded: True는 네트워크 계층에서 방화벽 규칙과 라우팅이 올바름을 확인합니다.
  3. 애플리케이션 계층 (TLS 핸드셰이크): curl -v https://login.microsoftonline.com을 사용합니다. 성공적인 TLS 핸드셰이크와 HTTP 응답은 종단 간 연결성을 확인합니다.73

6.3 Azure Firewall 로그를 사용한 감사

Azure Firewall에서 진단 설정을 활성화하여 Log Analytics 작업 영역으로 로그를 전송합니다.78 다음 Kusto 쿼리 언어(KQL) 샘플을 사용하여 로그를 분석할 수 있습니다.

  • AI 에이전트 서브넷에서 거부된 모든 트래픽 보기:
    コード スニペット
    AZFWApplicationRule

| where SourceIP == '

78

  • 특정 허용 규칙에 대한 트래픽 확인:
    コード スニペット
    AZFWApplicationRule

| where Rule == 'AllowBingGroundingAPI' or Rule == 'AllowEntraIDAuthFQDN'
```

6.4 Network Watcher 활용

Network Watcher의 **IP 흐름 확인(IP Flow Verify)**을 사용하여 특정 흐름이 NSG에 의해 허용되는지 또는 거부되는지 확인할 수 있습니다.81 **연결 문제 해결(Connection Troubleshoot)**은 더 포괄적인 종단 간 진단을 제공합니다.83

섹션 7: 보안 강화 및 거버넌스

즉각적인 연결 문제를 해결하는 것은 첫 단계에 불과합니다. 진정한 엔터프라이즈 솔루션은 심층 방어(defense-in-depth) 전략을 요구합니다. 방화벽은 기본 아웃바운드 제어(L4/7)를, 서비스 엔드포인트 정책은 서비스별 제어(스토리지로의 유출 방지)를, 관리 ID는 애플리케이션 수준 제어(자격 증명 도난 방지)를, IDPS는 위협 수준 제어(허용된 트래픽 내용 검사)를, Azure Policy는 거버넌스 수준 제어(표준 강제)를 제공합니다.

7.1 스토리지로부터의 데이터 유출 방지

방화벽이 있더라도 에이전트가 손상되면 허가되지 않은 공용 Azure Storage 계정으로 데이터를 쓸 수 있습니다. Azure Storage용 VNet 서비스 엔드포인트 정책이 이 문제의 해결책입니다.84 이 정책을 사용하여 리소스 ID를 기준으로 특정 승인된 Azure Storage 계정으로만 아웃바운드 트래픽을 허용하고 다른 모든 계정에 대한 액세스를 거부하여 이 유출 경로를 차단할 수 있습니다.84

7.2 관리 ID 모범 사례

AI 에이전트의 시스템 할당 또는 사용자 할당 관리 ID를 사용하여 Key Vault와 같은 다른 Azure 리소스에 액세스하는 것을 권장합니다.25 이는 코드나 구성 파일에 비밀이나 연결 문자열을 저장할 필요를 없애 보안을 강화합니다. RBAC 프로세스를 통해 에이전트의 관리 ID 주체에게 대상 Key Vault에 대한 "Key Vault 비밀 사용자" 역할을 부여합니다.

7.3 Azure Firewall Premium을 사용한 고급 위협 방지

Premium SKU는 특히 아웃바운드 트래픽에 대한 IDPS(침입 탐지 및 방지 시스템) 기능을 제공합니다.89 Bing으로의 트래픽이 허용되더라도, IDPS는 페이로드를 검사하여 알려진 악성 패턴이나 서명을 탐지할 수 있습니다. 이는 합법적인 웹 트래픽으로 위장한 명령 및 제어(C2) 트래픽이나 맬웨어 콜백에 대한 추가적인 보안 계층을 제공합니다.

7.4 Azure Policy를 사용한 NSG 관리 자동화

대규모 환경에서 NSG 규칙을 관리하는 것은 어려운 일입니다.16 Azure Policy를 거버넌스 도구로 사용하여 다음과 같은 정책을 구현할 수 있습니다.

  • 기본적으로 모든 아웃바운드 인터넷 트래픽을 차단하는 규칙이 없는 NSG를 식별하는 "감사(Audit)" 정책.
  • FTP, Telnet과 같은 위험한 포트에서 아웃바운드 트래픽을 허용하는 NSG 규칙 생성을 방지하는 "거부(Deny)" 정책.
  • Bicep을 사용하여 NSG와 규칙을 일관되게 배포하여 수동 오류를 방지합니다.59

결론: 안전하고 지능적인 엔터프라이즈를 향하여

본 보고서에서 제시한 핵심 아키텍처 원칙은 제로 트러스트 네트워킹, 허브 방화벽을 통한 중앙 집중식 아웃바운드 제어, 포괄적인 프라이빗 엔드포인트 사용, 견고한 DNS 전략, 그리고 계층화된 보안 제어입니다.

AI 에이전트가 외부 도구와 더욱 긴밀하게 통합됨에 따라, 이러한 안전하고 감사 가능한 아웃바운드 패턴은 표준 요구사항이 될 것입니다. 초기에 발생한 10054 오류는 장애물이 아니라, 더 안전하고 견고한 아키텍처로 나아가는 이정표입니다. 선제적이고 아키텍처 중심적인 네트워크 설계 접근 방식을 채택함으로써, 조직은 보안 상태를 저해하지 않으면서 강력한 AI 기능을 자신 있게 배포할 수 있습니다.

引用文献

  1. How to use Grounding with Bing Search in Azure AI Foundry Agent Service - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/ai-foundry/agents/how-to/tools/bing-grounding
  2. Create Your First AI Agent with JavaScript and Azure AI Agent Service, 7月 23, 2025にアクセス、 https://techcommunity.microsoft.com/blog/azuredevcommunityblog/create-your-first-ai-agent-with-javascript-and-azure-ai-agent-service/4411723
  3. Introducing "Grounding with Bing Search" in Azure AI Agent Service, 7月 23, 2025にアクセス、 https://blogs.bing.com/search/January-2025/Introducing-Grounding-with-Bing-Search-in-Azure-AI-Agent-Service
  4. Azure AI Foundry Agent Service, 7月 23, 2025にアクセス、 https://azure.microsoft.com/en-us/products/ai-agent-service
  5. ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host #28139 - GitHub, 7月 23, 2025にアクセス、 https://github.com/Azure/azure-cli/issues/28139
  6. 10054 - Connection Reset Error - TechRepublic, 7月 23, 2025にアクセス、 https://www.techrepublic.com/forums/discussions/10054-connection-reset-error/
  7. Why do clients receive "Error 10054 writing to web client" or "Error 995 writing to web client"? - Progress Community, 7月 23, 2025にアクセス、 https://community.progress.com/s/article/Why-do-clients-receive-Error-10054-writing-to-web-client-1307565967668
  8. How to solve "An existing connection was forcibly closed by a remote host." error?, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/965564/how-to-solve-an-existing-connection-was-forcibly-c
  9. SAP onprem to Azure frequent disconnection - Experts Exchange, 7月 23, 2025にアクセス、 https://www.experts-exchange.com/questions/29278583/SAP-onprem-to-Azure-frequent-disconnection.html
  10. VS to Azure Publish failure: Socket Error 10054 - Stack Overflow, 7月 23, 2025にアクセス、 https://stackoverflow.com/questions/29696898/vs-to-azure-publish-failure-socket-error-10054
  11. TLS handshake blocked by ISP (ERR_CONNECTION_RESET) - likely SNI filtering. How to bypass? : r/sysadmin - Reddit, 7月 23, 2025にアクセス、 https://www.reddit.com/r/sysadmin/comments/1ln8ar9/tls_handshake_blocked_by_isp_err_connection_reset/
  12. What happens in a TLS handshake? | SSL handshake - Cloudflare, 7月 23, 2025にアクセス、 https://www.cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake/
  13. Rehash: How to Fix the SSL/TLS Handshake Failed Error, 7月 23, 2025にアクセス、 https://www.thesslstore.com/blog/tls-handshake-failed/
  14. Grounding with Bing Search Network Architecture - Microsoft Q&A, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/2280916/grounding-with-bing-search-network-architecture
  15. Mastering Azure Network Security Groups: Key Concepts and Best Practices - Cayosoft, 7月 23, 2025にアクセス、 https://www.cayosoft.com/azure-security-best-practices/azure-network-security-groups/
  16. The Guide to Azure Network Security Group | CloudBolt Software, 7月 23, 2025にアクセス、 https://www.cloudbolt.io/azure-costs/azure-nsg/
  17. SQL EndPoint - Successfuly connected but error during pre-login handshake (Error 10054), 7月 23, 2025にアクセス、 https://community.fabric.microsoft.com/t5/Fabric-platform/SQL-EndPoint-Successfuly-connected-but-error-during-pre-login/m-p/3693911
  18. An existing connection was forcibly closed (error 10054) - Microsoft Q&A, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/1375194/an-existing-connection-was-forcibly-closed-(error
  19. 기존 연결이 강제로 닫혔습니다(OS 오류 10054) - SQL Server - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/ko-kr/troubleshoot/sql/database-engine/connect/tls-exist-connection-closed
  20. TLS Connection Resets, FIPS, and a Catch-22 - Microsoft Q&A, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/993151/tls-connection-resets-fips-and-a-catch-22
  21. Configure secure networking for Azure AI platform services - Cloud Adoption Framework, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/ai/platform/networking
  22. Architecture Best Practices for Azure Virtual Network - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/well-architected/service-guides/virtual-network
  23. Limit Network Traffic with Azure Firewall in Azure Kubernetes Service (AKS) - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/aks/limit-egress-traffic
  24. Securely Build and Manage Agents in Azure AI Foundry | Microsoft Community Hub, 7月 23, 2025にアクセス、 https://techcommunity.microsoft.com/blog/aiplatformblog/securely-build-and-manage-agents-in-azure-ai-foundry/4415186
  25. How to use a virtual network with the Azure AI Foundry Agent Service - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/ai-foundry/agents/how-to/virtual-networks
  26. Network isolation in prompt flow - Azure Machine Learning | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/machine-learning/prompt-flow/how-to-secure-prompt-flow?view=azureml-api-2
  27. How to configure a managed network for Azure AI Foundry hubs - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/configure-managed-network
  28. Plan for network isolation - Azure Machine Learning | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/machine-learning/how-to-network-isolation-planning?view=azureml-api-2
  29. Secure managed online endpoints - Azure Machine Learning, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/machine-learning/how-to-secure-online-endpoint?view=azureml-api-2
  30. Network isolation with managed online endpoints - Azure Machine Learning, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/machine-learning/concept-secure-online-endpoint?view=azureml-api-2
  31. AzPolicyAdvertizer - AzAdvertizer, 7月 23, 2025にアクセス、 https://www.azadvertizer.net/azpolicyadvertizer_all.html?policyResourceType='microsoft.machinelearningservices/workspaces'
  32. Use Model Catalog collections with workspace managed virtual network - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/machine-learning/how-to-network-isolation-model-catalog?view=azureml-api-2
  33. Create a private endpoint for a secure connection - Azure AI Search ..., 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/search/service-create-private-endpoint
  34. Configure network access and firewall rules for Azure AI Search, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/search/service-configure-firewall
  35. Azure Private Endpoint private DNS zone values - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns
  36. Azure Private Endpoint DNS integration, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/private-link/private-endpoint-dns-integration
  37. Create a secure hub - Azure AI Foundry | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/create-secure-ai-hub
  38. Configure secure access with managed identities and virtual networks - Azure AI services, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/ai-services/document-intelligence/authentication/managed-identities-secured-access?view=doc-intel-4.0.0
  39. Configure Virtual Networks for Azure AI services - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-virtual-networks
  40. Use a virtual network to secure inbound or outbound traffic for Azure API Management, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/api-management/virtual-network-concepts
  41. Do I require vnet integration for private outbount traffic - Azure API management, 7月 23, 2025にアクセス、 https://stackoverflow.com/questions/75073257/do-i-require-vnet-integration-for-private-outbount-traffic-azure-api-managemen
  42. Could use advice on routing outbound traffic from azure web app through virtual network gateway - Reddit, 7月 23, 2025にアクセス、 https://www.reddit.com/r/AZURE/comments/12bn8u8/could_use_advice_on_routing_outbound_traffic_from/
  43. What is Azure NAT Gateway? | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/nat-gateway/nat-overview
  44. Frequently asked questions for Azure NAT Gateway - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/nat-gateway/faq
  45. Azure Firewall FQDN filtering in network rules - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/fqdn-filtering-network-rules
  46. Deploy and configure Azure Firewall using Azure CLI | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/deploy-cli
  47. Best practices for Azure Firewall performance - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/firewall-best-practices
  48. Azure best practices for network security - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/security/fundamentals/network-best-practices
  49. How to use Grounding with Bing Search in Azure AI Agent Service - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/ga-ie/azure/ai-services/agents/how-to/tools/bing-grounding
  50. Bing Web Search API v7 Reference - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/bing/search-apis/bing-web-search/reference/endpoints
  51. Azure Tutorial | Web Search With Microsoft Bing Search API In Python - YouTube, 7月 23, 2025にアクセス、 https://www.youtube.com/watch?v=gqMwGVvZMDY
  52. Required FQDNs and endpoints for Azure Virtual Desktop | Microsoft ..., 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/virtual-desktop/required-fqdn-endpoint
  53. Azure service tags overview for virtual network security - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/virtual-network/service-tags-overview
  54. Hybrid Identity required ports and protocols - Azure - Microsoft Entra ID, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-ports
  55. (MS Azure SAML)Which IP/FQDN should be allow on Firewall - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/1011043/(ms-azure-saml)which-ip-fqdn-should-be-allow-on-fi
  56. Quickstart: Create an Azure Firewall and a firewall policy - Bicep - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall-manager/quick-firewall-policy-bicep
  57. Quickstart: Create an Azure Firewall and a firewall policy - Terraform | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall-manager/quick-firewall-policy-terraform
  58. Microsoft.Network/firewallPolicies/ruleCollectionGroups - Bicep, ARM template & Terraform AzAPI reference | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/templates/microsoft.network/firewallpolicies/rulecollectiongroups
  59. Bicep to create nsg and nsg security rules - Stack Overflow, 7月 23, 2025にアクセス、 https://stackoverflow.com/questions/78024111/bicep-to-create-nsg-and-nsg-security-rules
  60. How to handle existing NSGs to update securityRules · Azure bicep · Discussion #6416, 7月 23, 2025にアクセス、 https://github.com/Azure/bicep/discussions/6416
  61. How To – Manage an NSG Using Bicep and Azure DevOps – wedoAzure, 7月 23, 2025にアクセス、 https://wedoazure.ie/2022/02/21/how-to-manage-an-nsg-using-bicep-and-azure-devops/
  62. Azure Private Endpoint private DNS zone values, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/private-link/private-endpoint-dns
  63. Azure Private Endpoint DNS Integration Scenarios - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns-integration
  64. Azure Private DNS Zone Resolution from On-prem - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/181776/azure-private-dns-zone-resolution-from-on-prem
  65. What on-prem DNS entry/zone/etc. do I need to send all applicable Private Endpoint domain resolution requests to applicable Azure resources? - Reddit, 7月 23, 2025にアクセス、 https://www.reddit.com/r/AZURE/comments/t9i7il/what_onprem_dns_entryzoneetc_do_i_need_to_send/
  66. What is Azure DNS Private Resolver? | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/dns/dns-private-resolver-overview
  67. Azure DNS Private Resolver endpoints and rulesets | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/dns/private-resolver-endpoints-rulesets
  68. Tutorial: Create a private endpoint DNS infrastructure with Azure Private Resolver for an on-premises workload - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/private-link/tutorial-dns-on-premises-private-resolver
  69. Create a secure workspace with a managed virtual network - Azure Machine Learning, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/machine-learning/tutorial-create-secure-workspace?view=azureml-api-2
  70. How to find the FQDN of an Azure VM - Stack Overflow, 7月 23, 2025にアクセス、 https://stackoverflow.com/questions/33939767/how-to-find-the-fqdn-of-an-azure-vm
  71. azure-ai-docs/articles/machine-learning/tutorial-create-secure-workspace-vnet.md at main, 7月 23, 2025にアクセス、 https://github.com/MicrosoftDocs/azure-ai-docs/blob/main/articles/machine-learning/tutorial-create-secure-workspace-vnet.md
  72. Configure DNS forwarding for Azure Files | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/storage/files/storage-files-networking-dns
  73. Azure App Service virtual network integration troubleshooting guide - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/troubleshoot/azure/app-service/troubleshoot-vnet-integration-apps
  74. Troubleshoot Azure VM connectivity problems - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/virtual-network/troubleshoot-vm-connectivity
  75. Test connectivity between app service and key vault - AZURE - Reddit, 7月 23, 2025にアクセス、 https://www.reddit.com/r/AZURE/comments/1d7lwvw/test_connectivity_between_app_service_and_key/
  76. How to enable https for azure vm having Ubuntu server? - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/1490980/how-to-enable-https-for-azure-vm-having-ubuntu-ser
  77. Calling Azure REST API via curl - Davide Mauri - Medium, 7月 23, 2025にアクセス、 https://mauridb.medium.com/calling-azure-rest-api-via-curl-eb10a06127
  78. Monitoring data reference for Azure Firewall | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/monitor-firewall-reference
  79. Monitor Azure Firewall | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/monitor-firewall
  80. What's New: Azure Firewall Connector in Public Preview! - Microsoft Community Hub, 7月 23, 2025にアクセス、 https://techcommunity.microsoft.com/blog/microsoftsentinelblog/what%E2%80%99s-new-azure-firewall-connector-in-public-preview/1632764
  81. Troubleshooting connectivity problems between Azure VMs - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-troubleshoot-connectivity-problem-between-vms
  82. Troubleshooting connectivity problems between Azure VMs, 7月 23, 2025にアクセス、 https://docs.azure.cn/en-us/virtual-network/virtual-network-troubleshoot-connectivity-problem-between-vms
  83. Troubleshoot outbound connections - Azure Network Watcher - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/network-watcher/connection-troubleshoot-manage
  84. Virtual network service endpoint policies for Azure Storage - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoint-policies-overview
  85. Azure Machine Learning data exfiltration prevention - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/machine-learning/how-to-prevent-data-loss-exfiltration?view=azureml-api-2
  86. Service endpoint policies when to use? - Microsoft Q&A, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/87355/service-endpoint-policies-when-to-use
  87. Use managed identities to access Key Vault certificates - Azure Front Door | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/frontdoor/managed-identity
  88. Integrate with Azure Key Vault Using a Managed Identity - Alation, 7月 23, 2025にアクセス、 https://www.alation.com/docs/en/latest/OpenConnectorFramework/Authenticate/ConfigureSecretsforOCFConnectors/IntegrateWithAzureKeyVault/IntegrateWithAzureKeyVaultUsingManagedIdentity.html
  89. Azure Firewall Premium features | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/premium-features
  90. Azure Firewall Premium now in preview | Microsoft Azure Blog, 7月 23, 2025にアクセス、 https://azure.microsoft.com/en-us/blog/azure-firewall-premium-now-in-preview-2/
  91. Azure Firewall rule processing logic | Microsoft Learn, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/firewall/rule-processing
  92. Architecture Best Practices for Azure Firewall - Microsoft Azure Well-Architected Framework, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/well-architected/service-guides/azure-firewall
  93. Azure network security groups overview - Learn Microsoft, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview
  94. Understanding NSGs & Recommendations - CoreStack, 7月 23, 2025にアクセス、 https://www.corestack.io/azure-security-tools/nsg-azure/
  95. Inquire about automating creation of NSG firewall rules - Microsoft Q&A, 7月 23, 2025にアクセス、 https://learn.microsoft.com/en-us/answers/questions/1096181/inquire-about-automating-creation-of-nsg-firewall
No comments to show