지역 및 테넌트 간에 Azure 스토리지 계정 방화벽에 가상 네트워크를 추가하는 방법

다른 테넌트의 가상 네트워크를 Azure Storage 계정 방화벽에 추가하는 것은 연결 테스트, 파일의 안전한 공유, 파트너 간 협업 활성화에 흔한 시나리오입니다. 이렇게 하면 스토리지 계정을 모든 네트워크에 노출하지 않고 데이터 액세스를 특정 네트워크로 제한할 수 있습니다.

이 가이드에서는 PowerShell 와 Azure CLI 을(를) 로컬 머신에서 사용해 이 목표를 달성하는 방법에 중점을 둡니다. 리전 간 및 테넌트 간 구성에 대한 팁과 고려 사항도 제공합니다.


주요 사용 사례

이 접근 방식은 다음과 같은 시나리오에 이상적입니다.

  • 서로 다른 테넌트나 리전에 있는 애플리케이션 간의 연결 테스트.
  • 스토리지 계정을 모든 네트워크에 개방하지 않고 파트너나 공동 작업자가 파일에 안전하게 액세스할 수 있게 하기.

필수 조건

진행하기 전에 다음 사항을 확인하세요.

  1. 스토리지 계정이 포함된 Azure 구독에 액세스할 수 있습니다.
  2. 다른 테넌트나 리전에 있는 가상 네트워크와 서브넷에 대한 관리 권한이 있습니다.
  3. 필요한 도구가 설치되어 있어야 합니다: Azure PowerShell 또는 Azure CLI.

PowerShell 방식

1단계: Az 모듈 설치

Microsoft Learn의 단계별 지침에 따라 Windows에 Azure PowerShell을 설치하세요.

2단계: 가상 네트워크 및 스토리지 계정 방화벽 구성

PowerShell 세션에서 다음 명령을 실행하세요.

# Import Az.Storage module
Import-Module -Name Az.Storage

# Authenticate and connect to your Azure account
Connect-AzAccount

# Select the subscription containing the storage account
Select-AzSubscription -SubscriptionId "xxxx-xxxx-xxxx-xxxx"

# List existing virtual network rules for the storage account
(Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount").VirtualNetworkRules

# Enable a service endpoint for Azure Storage on an existing virtual network and subnet
Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Set-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix "10.0.0.0/24" -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork

# Add a network rule for the virtual network and subnet
$subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
Add-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -VirtualNetworkResourceId $subnet.Id

Azure CLI 방식

1단계: Azure CLI 설치

플랫폼에 맞는 설치 가이드를 따르세요: Azure CLI 설치.

2단계: 가상 네트워크 및 스토리지 계정 방화벽 구성

CLI 세션에서 다음 명령을 실행하세요.

# Authenticate and sign in to your Azure account
az login

# List existing virtual network rules for the storage account
az storage account network-rule list --resource-group "myresourcegroup" --account-name "mystorageaccount" --query virtualNetworkRules

# Enable a service endpoint for Azure Storage on an existing virtual network and subnet
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.Storage.Global"

# Add a network rule for the virtual network and subnet
subnetid=$(az network vnet subnet show --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --query id --output tsv)
az storage account network-rule add --resource-group "myresourcegroup" --account-name "mystorageaccount" --subnet $subnetid

특별 고려 사항

테넌트 간 가상 네트워크 규칙

다른 Microsoft Entra 테넌트에 속한 가상 네트워크의 서브넷에 네트워크 규칙을 추가하려면 정규화된 VirtualNetworkResourceId 매개 변수를 사용해야 합니다. 형식은 다음과 같습니다.

/subscriptions/<subscription-ID>/resourceGroups/<resourceGroup-Name>/providers/Microsoft.Network/virtualNetworks/<vNet-name>/subnets/<subnet-name>

다른 테넌트에 있는 가상 네트워크의 올바른 구독 ID와 리소스 그룹 세부 정보를 확인하세요.

리전 간 서비스 엔드포인트

로컬 서비스 엔드포인트와 리전 간 서비스 엔드포인트는 같은 서브넷에 공존할 수 없습니다. 기존 서비스 엔드포인트를 리전 간 엔드포인트로 교체해야 하는 경우:

  1. 기존 Microsoft.Storage 엔드포인트를 삭제합니다.
  2. 리전 간 엔드포인트로 다시 만듭니다(Microsoft.Storage.Global).

추가 팁

  1. 연결 테스트
    가상 네트워크 규칙을 추가한 뒤에는 Azure Storage Explorer 같은 도구나 애플리케이션별 구성을 사용해 스토리지 계정에 대한 연결을 테스트하세요.
  2. 문서 참조
    자세한 지침은 다음을 참조하세요: 「Azure Storage 방화벽 및 가상 네트워크 구성」.
  3. 비용 고려 사항
    • 서비스 엔드포인트를 활성화하면 Azure 가격 모델에 따라 추가 비용이 발생할 수 있습니다.
    • 리전 간 구성은 일반적으로 더 높은 네트워크 송신 요금이 발생합니다.

결론

PowerShell 또는 Azure CLI를 사용하면 다른 리전이나 테넌트의 가상 네트워크를 Azure Storage 계정 방화벽에 추가하는 과정이 간단합니다. 이 가이드의 단계를 따르면 엄격한 네트워크 규칙을 유지하면서 스토리지 계정에 대한 보안 액세스를 구성할 수 있습니다.

댓글 남기기