Azure AI Foundry 에이전트 서비스는 프라이빗 네트워킹 환경 설정이 포함된 표준 설정을 제공하여 BYO(사용자 고유의) 프라이빗 가상 네트워크를 가져올 수 있도록 합니다. 이 설정은 네트워크 인프라에 대한 모든 권한을 유지하면서 데이터에 안전하게 액세스하고 작업을 수행할 수 있는 격리된 네트워크 환경을 만듭니다. 이 가이드에서는 설치 프로세스의 단계별 연습을 제공하고 필요한 모든 요구 사항을 간략하게 설명합니다.
팁 (조언)
Virtual Network를 사용할 때 일반적인 질문은 FAQ 문서를 참조하세요.
보안 기능
기본적으로 프라이빗 네트워크 격리를 사용하는 표준 설정은 다음을 보장합니다.
공용 송신 없음: 기본 인프라는 신뢰할 수 있는 서비스 바이패스를 수행하지 않고도 에이전트 및 도구에 대한 올바른 인증 및 보안을 보장합니다.
컨테이너 주입: 플랫폼 네트워크에서 API를 호스트하고 서브넷을 네트워크에 삽입하여 동일한 가상 네트워크 내에서 Azure 리소스의 로컬 통신을 사용하도록 설정할 수 있습니다.
프라이빗 리소스 액세스: 리소스가 인터넷에서 비공개로 표시되고 검색할 수 없는 것으로 표시된 경우 필요한 자격 증명 및 권한 부여가 있는 경우 플랫폼 네트워크에서 계속 액세스할 수 있습니다.
기존 가상 네트워크가 없는 고객의 경우 프라이빗 네트워킹 템플릿을 사용한 표준 설정은 필요한 네트워크 인프라를 자동으로 프로비전하여 배포를 간소화합니다.
아키텍처 다이어그램
알려진 제한 사항
-
서브넷 IP 주소 제한: 두 서브넷에는 프라이빗 네트워킹을 위해 예약된 클래스 A, B 또는 C 개인 주소 범위 아래에
10.0.0.0/16172.16.0.0/12192.168.0.0/16IP 범위가 있어야 합니다. 공용 클래스 A, B 또는 C 주소 범위는 지원되지 않습니다. 자세한 내용은 GitHub의 프라이빗 네트워크 보안 에이전트 배포 템플릿을 참조하세요. - 에이전트 서브넷 독점: 에이전트 서브넷은 여러 Azure AI Foundry 리소스에서 공유할 수 없습니다. 각 AI Foundry는 전용 에이전트 서브넷을 사용해야 합니다.
-
에이전트 서브넷 크기: 위임된 에이전트 서브넷의 권장 크기는 서브
Microsoft.App/environment넷을 위임하여 /24(256개 주소)입니다. 서브넷 크기 조정에 대한 자세한 내용은 Azure Container Apps에 대한 가상 네트워크 구성을 참조하세요. -
에이전트 서브넷 송신 방화벽 허용 목록: Azure Firewall을 개인 네트워크 보안 표준 에이전트와 통합하는 경우 Azure Firewall과 통합 문서의 관리 ID에 나열된 FQDN(정규화된 도메인 이름)을 허용 목록에 추가하거나 서비스 태그 AzureActiveDirectory를 추가하세요.
- 자체 서명된 인증서를 추가할 수 있는 방화벽에서 TLS 검사가 발생하지 않는지 확인합니다. 오류 시 방화벽에 유입되는 트래픽과 방화벽에 의해 차단되는 트래픽이 있는지 검사합니다.
- 모든 Foundry 작업 영역 리소스는 VNet(가상 네트워크)과 동일한 지역에 배포되어야 합니다. 여기에는 Cosmos DB, 스토리지 계정, AI Search, Foundry 계정, 프로젝트, 관리 ID, Azure OpenAI 또는 모델 배포에 사용되는 다른 Foundry 리소스가 포함됩니다.
-
지역 가용성:
- 모델 배포에 지원되는 지역은 다음을 참조하세요. Azure OpenAI 모델 지역 지원.
- Azure Blob Storage: 파일 검색 도구와 함께 Azure Blob Storage 파일을 사용하는 것은 지원되지 않습니다.
- 프라이빗 MCP 서버: 동일한 가상 네트워크에 배포된 프라이빗 MCP 서버 사용은 지원되지 않으며 공개적으로 액세스할 수 있는 MCP 서버만 지원됩니다.
-
Bing 검색을 통한 참조: 다음 지역만 지원됩니다.
- West Europe
- Canada East
- Switzerland North
- Spain Central
- UAE North
- Korea Central
- 폴란드 중부
- 동남아시아
- West US
- 미국 서부 2
- 미국 서부 3
- East US
- 미국 동부 2
- Central US
- South India
- Japan East
- UK South
- 프랑스 중부
- Norway East
- Australia East
- Canada Central
- 스웨덴 중부
- 남아프리카 북부
- Italy North
- Brazil South
Prerequisites
Azure 구독 – 무료로 만드세요.
계정 및 프로젝트를 만드는 개인에게 구독 범위에서 Azure AI 계정 소유자 역할이 있는지 확인합니다.
템플릿을 배포하는 사용자에게 필요한 리소스(Cosmos DB, Search, Storage)에 역할을 할당할 수 있는 권한도 있어야 합니다.
- 필요한 기본 제공 역할은 역할 기반 액세스 관리자입니다.
- 또는 구독 수준에서 소유자 역할을 갖는 것도 이 요구 사항을 충족합니다.
- 필요한 키 권한은 다음과 같습니다.
Microsoft.Authorization/roleAssignments/write
에이전트 환경이 구성되면 에이전트 플레이그라운드 또는 SDK를 사용하여 에이전트를 만들거나 편집하려는 각 팀 구성원에게 프로젝트에 대한 기본 제공 Azure AI 사용자RBAC 역할이 할당되었는지 확인합니다.
- 필요한 최소 권한 집합은 다음과 같습니다. agents/*/read, agents/*/action, agents/*/delete
공급자를 등록합니다. 다음 공급자를 등록해야 합니다.
Microsoft.KeyVaultMicrosoft.CognitiveServicesMicrosoft.StorageMicrosoft.MachineLearningServicesMicrosoft.SearchMicrosoft.NetworkMicrosoft.AppMicrosoft.ContainerService- Bing Search 도구를 사용하려면 다음을 수행합니다.
Microsoft.Bing
az provider register --namespace 'Microsoft.KeyVault' az provider register --namespace 'Microsoft.CognitiveServices' az provider register --namespace 'Microsoft.Storage' az provider register --namespace 'Microsoft.MachineLearningServices' az provider register --namespace 'Microsoft.Search' az provider register --namespace 'Microsoft.Network' az provider register --namespace 'Microsoft.App' az provider register --namespace 'Microsoft.ContainerService' # only to use Grounding with Bing Search tool az provider register --namespace 'Microsoft.Bing'
새 네트워크 보안 환경 구성
Note
- Azure AI Foundry 에이전트 서비스에 대한 네트워크 보안 환경을 설정하려면 프로그래밍 방식 배포가 필요합니다. Azure Portal을 통한 배포는 현재 지원되지 않습니다.
- 보안 네트워크 설정으로 Foundry 리소스 및 표준 에이전트를 삭제하려면 AI Foundry 리소스 및 가상 네트워크를 마지막으로 삭제합니다. 가상 네트워크를 삭제하기 전에 AI Foundry 리소스를 삭제하고 제거 해야 합니다.
- 표준 설정에서 에이전트는 고객 소유의 단일 테넌트 리소스를 사용합니다. 이러한 리소스에 대한 모든 권한과 가시성이 있지만 사용량에 따라 비용이 발생합니다.
Bicep 또는 Terraform을 사용하여 프라이빗 네트워킹을 사용하여 표준 설치 프로그램을 배포하고 사용자 지정할 수 있습니다. 제공된 샘플을 사용하면 사용자 고유의 가상 네트워크를 가져오고 특정 요구 사항을 충족하도록 배포를 사용자 지정할 수 있습니다.
- Foundry 계정 및 Foundry 프로젝트가 만들어집니다.
- gpt-4o 모델이 배포됩니다.
- 고객 데이터를 저장하기 위한 Azure 리소스: 기존 리소스가 제공되지 않으면 Azure Storage, Azure Cosmos DB 및 Azure AI Search가 자동으로 생성됩니다.
- 이러한 리소스는 파일, 스레드 및 벡터 데이터를 저장하기 위해 프로젝트에 연결됩니다.
- 스토리지 계정 및 인식 계정(AI Foundry)에 대한 Microsoft 관리형 암호화 키는 기본적으로 사용됩니다.
사용 가능한 배포 방법 중 하나를 선택합니다.
Bicep 템플릿: GitHub에 있는 이 샘플을 참조하여 지침을 따르십시오.
Terraform 구성: GitHub의 이 샘플에 있는 지침을 따르십시오.
프라이빗 네트워킹 템플릿을 사용하여 심층 분석 표준 설정
프라이빗 네트워킹 에이전트 템플릿에서 표준 설치 프로그램을 사용하는 경우 사용자가 직접 가져오지 않는 한 다음이 자동으로 프로비전됩니다.
네트워크 인프라
- Virtual Network(192.168.0.0/16)가 만들어집니다.
- 에이전트 서브넷(192.168.0.0/24): 호스트 에이전트 클라이언트
- 프라이빗 엔드포인트 서브넷(192.168.1.0/24): 프라이빗 엔드포인트를 호스트합니다.
프라이빗 DNS 영역 다음 DNS 영역이 구성됩니다.
- privatelink.blob.core.windows.net
- privatelink.cognitiveservices.azure.com
- privatelink.documents.azure.com
- privatelink.file.core.windows.net
- privatelink.openai.azure.com
- privatelink.search.windows.net
- privatelink.services.ai.azure.com
Vnet(가상 네트워크) 기능
가상 네트워크를 사용하면 리소스에 대한 API 호출을 수행할 수 있는 엔드포인트를 지정할 수 있습니다. Azure 서비스는 정의된 네트워크 외부의 디바이스에서 API 호출을 자동으로 거부합니다. 수식 기반 정의를 사용하거나 허용되는 엔드포인트의 전체 목록을 만들어 허용된 네트워크를 설정할 수 있습니다. 이 보안 계층은 향상된 보호를 위한 다른 보안 조치와 결합될 수 있습니다.
Note
Microsoft.App/environments 위임을 사용하여 기존 가상 네트워크 및 서브넷을 가져오는 경우 서브넷의 최소화된 크기는 /27(32개 주소)이어야 합니다. 네트워크 보안 템플릿에 설정된 기본 서브넷 크기인 /24(256개 주소)의 서브넷 크기를 권장합니다.
네트워크 규칙
모든 계정 및 해당 프로젝트는 기본적으로 공용 네트워크 액세스 사용 안 함 플래그로 보호되므로 프라이빗 엔드포인트를 통한 액세스를 허용하도록 명시적 구성이 필요합니다.
이러한 규칙은 REST 및 WebSocket 을 비롯한 모든 프로토콜에 적용됩니다. Azure Portal의 테스트 콘솔과 같은 내부 테스트 도구에도 계정 및 해당 자식 리소스에 액세스할 수 있는 명시적 권한이 필요하므로 모든 에이전트 프로젝트에서 완전한 보안을 보장합니다.
프라이빗 엔드포인트
에이전트의 경우 프라이빗 엔드포인트는 다음 Azure 리소스에 대한 안전한 내부 전용 연결을 보장합니다.
- Azure AI Foundry (에이아이 파운드리)
- Azure AI 검색
- Azure Storage
- Azure Cosmos DB (애저 코스모스 DB)
DNS 영역 구성 요약
| Private Link 리소스 종류 | 하위 리소스 | 프라이빗 DNS 영역 이름 | 공용 DNS 영역 전달자 |
|---|---|---|---|
| Azure AI 파운드리 | account | privatelink.cognitiveservices.azure.comprivatelink.openai.azure.comprivatelink.services.ai.azure.com |
cognitiveservices.azure.comopenai.azure.comservices.ai.azure.com |
| Azure AI 검색 | searchService | privatelink.search.windows.net |
search.windows.net |
| Azure Cosmos DB | Sql | privatelink.documents.azure.com |
documents.azure.com |
| Azure Storage | blob | privatelink.blob.core.windows.net |
blob.core.windows.net |
DNS 서버에서 Azure DNS Virtual Server에 대한 조건부 전달자를 만들려면 위의 표에 언급된 영역 목록을 사용합니다. Azure DNS 가상 서버 IP 주소는 168.63.129.16입니다.
보안된 에이전트에 액세스하세요.
템플릿 배포가 완료되면 다음 방법 중 하나를 사용하여 가상 네트워크 뒤에 있는 Foundry 프로젝트에 액세스할 수 있습니다.
-
Azure VPN Gateway: 프라이빗 연결을 통해 온-프레미스 네트워크를 가상 네트워크에 연결합니다. 공용 인터넷을 통해 연결됩니다. 사용할 수 있는 두 가지 유형의 VPN 게이트웨이가 있습니다.
- 지점 및 사이트 간: 각 클라이언트 컴퓨터는 VPN 클라이언트를 사용하여 가상 네트워크에 연결합니다.
- 사이트 간: VPN 디바이스는 가상 네트워크를 온-프레미스 네트워크에 연결합니다.
- ExpressRoute: 프라이빗 연결을 통해 온-프레미스 네트워크를 클라우드에 연결합니다. 연결 공급자를 사용하여 연결합니다.
- Azure Bastion: 이 시나리오에서는 가상 네트워크 내에 Azure Virtual Machine(점프 상자라고도 함)을 만듭니다. 그런 다음, Azure Bastion을 사용하여 VM에 연결합니다. Bastion을 사용하면 로컬 웹 브라우저에서 RDP 또는 SSH 세션을 사용하여 VM에 연결할 수 있습니다. 그런 다음, 점프 상자를 개발 환경으로 사용합니다. 가상 네트워크 내부에 있기 때문에 작업 영역에 직접 액세스할 수 있습니다.
Summary
표준 에이전트 설치를 위한 프라이빗 네트워킹 은 엔터프라이즈급 격리 및 제어를 제공합니다.
- ✅ 모든 인바운드 및 아웃바운드 트래픽은 공용 인터넷에서 격리 상태로 유지됩니다.
- ✅ 전용 프라이빗 엔드포인트는 모든 고객 데이터를 보호합니다.
- ✅ 원활한 내부 액세스를 위한 자동 프라이빗 DNS 확인
- ✅ 최대 보안을 위한 엄격한 기본 거부 네트워크 규칙
이 설정을 통해 AI 에이전트는 격리된 전용 가상 네트워크 내에서 완전히 작동할 수 있습니다. 조직은 BYO VNet(프라이빗 네트워크 격리)을 활용하여 사용자 지정 보안 정책을 적용하여 AI 에이전트가 신뢰할 수 있는 인프라 내에서 작동하도록 할 수 있습니다.
우리의 목표는 중요한 보안 요구 사항을 손상시키지 않고 AI 에이전트의 개발 및 배포를 가속화하는 것입니다. bicep 및 ARM 템플릿을 사용하면 네트워킹 및 데이터에 대한 모든 권한을 유지하면서 에이전트 환경을 신속하게 설정할 수 있습니다.
문제 해결 가이드
Azure AI Foundry 포털에서 템플릿 배포 후 표준 보안 에이전트 템플릿 배포 오류 또는 오류와 관련된 오류를 해결하려면 이 가이드를 참조하세요.
템플릿 배포 오류
"CreateCapabilityHostRequestDto is invalid: Agents CapabilityHost supports a single, non empty value for vectorStoreConnections property."
"Agents CapabilityHost supports a single, non empty value for storageConnections property."
"Agents CapabilityHost supports a single, non empty value for threadStorageConnections property."
해결 방법: 모든 BYO(Bring-your-Own) 리소스에 대한 모든 연결을 제공하려면 모든 BYO 리소스에 대한 연결이 필요합니다. 세 가지 리소스를 모두 제공하지 않으면 Foundry에서 보안 표준 에이전트를 만들 수 없습니다.
"Provided subnet must be of the proper address space. Please provide a subnet which has address space in the range of 172 or 192."
해결 방법: 위임된 에이전트 서브넷에 적절한 IP 범위를 사용하지 않습니다. 유효한 개인 IP 주소 공간을 사용하고 있는지 확인하세요.
"Subscripton is not registered with the required resource providers, please register with the resource providers Microsoft.App and Microsoft.ContainerService."
해결 방법: 올바른 리소스 등록이 없습니다. 필요한 리소스가 테넌트에 등록되어 있는지 확인합니다.
az provider register --namespace 'Microsoft.KeyVault'
az provider register --namespace 'Microsoft.CognitiveServices'
az provider register --namespace 'Microsoft.Storage'
az provider register --namespace 'Microsoft.MachineLearningServices'
az provider register --namespace 'Microsoft.Search'
az provider register --namespace 'Microsoft.Network'
az provider register --namespace 'Microsoft.App'
az provider register --namespace 'Microsoft.ContainerService'
"Failed to create Aml RP virtual workspace due to System.Exception: Failed async operation." 또는 "The resource operation completed with terminal provisioning state 'Failed'. Capability host operation failed."
해결 방법: 이것은 우리가 제공하는 포괄적인 오류입니다. 설정 문제를 조사하기 위해 지원 티켓을 만드세요. 기능 호스트에서 오류를 확인합니다.
"Subnet requires any of the following delegation(s) [Microsoft.App/environments] to reference service association link /subscriptions/11111-aaaaa-2222-bbbb-333333333/resourceGroups/agentRANGEChange/providers/Microsoft.Network/virtualNetworks/my-agent-vnet/subnets/agent-subnet/serviceAssociationLinks/legionservicelink."
해결 방법: 이 오류는 Azure에서 보안 표준 템플릿 설정을 삭제하려고 하고 모든 리소스를 올바르게 삭제하지 않은 경우에 나타납니다. 한 가지 해결 방법은 Azure Portal에서 AI Foundry 리소스 페이지로 이동하여 삭제된 리소스 관리를 선택하는 것입니다. 여기에서 에이전트가 이 가상 네트워크에 연결된 리소스를 제거합니다. 다른 옵션은 보안 표준 템플릿에서 스크립트를 실행하는 deleteCaphost.sh 것입니다.
다음 단계
이제 네트워크 보안 계정 및 프로젝트를 성공적으로 구성했으며 빠른 시작을 사용하여 첫 번째 에이전트를 만듭니다.