Configurazione dell'inoltro DNS per File di Azure

File di Azure consente di creare endpoint privati per gli account di archiviazione contenenti le condivisioni file. Sebbene sia utile per molte applicazioni diverse, gli endpoint privati sono particolarmente utili per connettersi alle condivisioni file di Azure dalla rete locale usando una connessione VPN o ExpressRoute usando il peering privato.

Per consentire alle connessioni all'account di archiviazione di passare tramite il tunnel di rete, il nome di dominio completo (FQDN) dell'account di archiviazione deve essere risolto nell'indirizzo IP privato dell'endpoint privato. A tale scopo, è necessario inoltrare il suffisso dell'endpoint di archiviazione (core.windows.net per le aree cloud pubbliche) al servizio DNS privato di Azure accessibile dall'interno della rete virtuale. Questa guida illustra come configurare e configurare l'inoltro DNS per risolvere correttamente l'indirizzo IP dell'endpoint privato dell'account di archiviazione.

È consigliabile leggere Pianificazione per una distribuzione File di Azure e File di Azure considerazioni sulla rete prima di completare i passaggi descritti in questo articolo.

Si applica a

Tipo di condivisione file SMB NFS
Condivisioni file Standard (GPv2), archiviazione con ridondanza locale/archiviazione con ridondanza della zona Sì No
Condivisioni file Standard (GPv2), archiviazione con ridondanza geografica/archiviazione con ridondanza geografica della zona Sì No
Condivisioni file Premium (FileStorage), archiviazione con ridondanza locale/archiviazione con ridondanza della zona Sì Sì

Panoramica

File di Azure fornisce i tipi di endpoint seguenti per l'accesso alle condivisioni file di Azure:

  • Endpoint pubblici, che hanno un indirizzo IP pubblico e sono accessibili da qualsiasi parte del mondo.
  • Endpoint privati, presenti all'interno di una rete virtuale, che hanno un indirizzo IP privato all'interno dello spazio di indirizzi della rete virtuale.
  • Endpoint di servizio, che limitano l'accesso all'endpoint pubblico a reti virtuali specifiche. È comunque possibile accedere all'account di archiviazione tramite l'indirizzo IP pubblico, ma l'accesso è possibile solo dalle posizioni specificate nella configurazione.

Gli endpoint pubblici e privati sono disponibili nell'account di archiviazione di Azure. Un account di archiviazione è un costrutto di gestione che rappresenta un pool di archiviazione condiviso in cui è possibile distribuire più condivisioni file oltre ad altre risorse di archiviazione, ad esempio contenitori BLOB o code.

Ogni account di archiviazione ha un nome di dominio completo (FQDN). Per le aree del cloud pubblico, questo nome di dominio completo segue il modello storageaccount.file.core.windows.net in cui storageaccount è il nome dell'account di archiviazione. Quando si effettuano richieste su questo nome, ad esempio il montaggio della condivisione nella workstation, il sistema operativo esegue una ricerca DNS per risolvere il nome di dominio completo in un indirizzo IP.

Per impostazione predefinita, storageaccount.file.core.windows.net viene risolto nell'indirizzo IP dell'endpoint pubblico. L'endpoint pubblico per un account di archiviazione è ospitato in un cluster di archiviazione di Azure che ospita molti altri endpoint pubblici degli account di archiviazione. Quando si crea un endpoint privato, una zona DNS privata è collegata alla rete virtuale a cui è stata aggiunta, con un mapping di record storageaccount.file.core.windows.net CNAME a una voce di record A per l'indirizzo IP privato dell'endpoint privato dell'account di archiviazione. In questo modo è possibile usare storageaccount.file.core.windows.net il nome di dominio completo all'interno della rete virtuale e risolverlo nell'indirizzo IP dell'endpoint privato.

Poiché l'obiettivo finale consiste nell'accedere alle condivisioni file di Azure ospitate nell'account di archiviazione dall'ambiente locale usando un tunnel di rete, ad esempio una connessione VPN o ExpressRoute, è necessario configurare i server DNS locali per inoltrare le richieste inviate al servizio DNS privato di Azure al servizio FILE DI AZURE.

È possibile configurare l'inoltro DNS in uno dei due modi seguenti:

  • Usare le macchine virtuali del server DNS: Configurare l'inoltro condizionale di (o il suffisso dell'endpoint di *.core.windows.net archiviazione appropriato per il governo degli Stati Uniti, la Germania o la Cina) in una macchina virtuale del server DNS ospitata all'interno della rete virtuale di Azure. Questo server DNS invierà quindi in modo ricorsivo la richiesta al servizio DNS privato di Azure, che risolverà il nome di dominio completo dell'account di archiviazione nell'indirizzo IP privato appropriato. Si tratta di un passaggio una tantum per tutte le condivisioni file di Azure ospitate all'interno della rete virtuale.

  • Usare il sistema di risoluzione privato DNS di Azure: Se non si vuole distribuire un server DNS basato su vm, è possibile eseguire la stessa attività usando il resolver privato DNS di Azure.

Oltre a File di Azure, le richieste di risoluzione dei nomi DNS per altri servizi di archiviazione di Azure (Archiviazione BLOB di Azure, Archiviazione tabelle di Azure, Archiviazione code di Azure e così via) verranno inoltrate al servizio DNS privato di Azure. È possibile aggiungere altri endpoint per altri servizi di Azure, se necessario.

Prerequisiti

Prima di configurare l'inoltro DNS a File di Azure, è necessario quanto segue:

Configurare l'inoltro DNS usando le macchine virtuali

Se sono già presenti server DNS all'interno della rete virtuale di Azure o se si preferisce distribuire macchine virtuali del server DNS personalizzate con qualsiasi metodologia usata dall'organizzazione, è possibile configurare DNS con i cmdlet di PowerShell del server DNS predefiniti.

Diagramma che mostra la topologia di rete per la configurazione dell'inoltro D N S tramite macchine virtuali in Azure.

Importante

Questa guida presuppone l'uso del server DNS all'interno di Windows Server nell'ambiente locale. Tutti i passaggi descritti di seguito sono possibili con qualsiasi server DNS, non solo con il server DNS Di Windows.

Nei server DNS locali creare un server d'inoltro condizionale usando Add-DnsServerConditionalForwarderZone. Questo server d'inoltro condizionale deve essere distribuito in tutti i server DNS locali per essere efficace per l'inoltro corretto del traffico ad Azure. Ricordarsi di sostituire le <azure-dns-server-ip> voci con gli indirizzi IP appropriati per l'ambiente.

$vnetDnsServers = "<azure-dns-server-ip>", "<azure-dns-server-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $vnetDnsServers

Nei server DNS all'interno della rete virtuale di Azure è necessario anche inserire un server d'inoltro in modo che le richieste per la zona DNS dell'account di archiviazione vengano indirizzate al servizio DNS privato di Azure, che viene indirizzato dall'indirizzo 168.63.129.16IP riservato . Ricordarsi di popolare $storageAccountEndpoint se si eseguono i comandi all'interno di una sessione di PowerShell diversa.

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers "168.63.129.16"

Configurare l'inoltro DNS con il resolver privato DNS di Azure

Se si preferisce non distribuire macchine virtuali del server DNS, è possibile eseguire la stessa attività usando il resolver privato DNS di Azure. Vedere Creare un sistema di risoluzione privato DNS di Azure usando il portale di Azure.

Diagramma che mostra la topologia di rete per la configurazione dell'inoltro D N S tramite il resolver privato di Azure D N S.

Non esiste alcuna differenza nel modo in cui si configurano i server DNS locali, ad eccezione del fatto che invece di puntare agli indirizzi IP dei server DNS in Azure, si punta all'indirizzo IP dell'endpoint in ingresso del resolver. Il resolver non richiede alcuna configurazione, perché inoltra le query al server DNS privato di Azure per impostazione predefinita. Se una zona DNS privata è collegata alla rete virtuale in cui viene distribuito il resolver, il resolver sarà in grado di rispondere con i record provenienti da tale zona DNS.

Avviso

Quando si configurano server d'inoltro per la zona core.windows.net , tutte le query per questo dominio pubblico verranno inoltrate all'infrastruttura DNS di Azure. Ciò causa un problema quando si tenta di accedere a un account di archiviazione di un tenant diverso configurato con endpoint privati, perché DNS di Azure risponderà alla query per il nome pubblico dell'account di archiviazione con un CNAME che non esiste nella zona DNS privata. Una soluzione alternativa per questo problema consiste nel creare un endpoint privato tra tenant nell'ambiente per connettersi a tale account di archiviazione.

Per configurare l'inoltro DNS usando il resolver privato DNS di Azure, eseguire questo script nei server DNS locali. Sostituire <resolver-ip> con l'indirizzo IP dell'endpoint in ingresso del resolver.

$privateResolver = "<resolver-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $privateResolver

Confermare i server d'inoltro DNS

Prima di verificare se i server d'inoltro DNS sono stati applicati correttamente, è consigliabile cancellare la cache DNS nella workstation locale usando Clear-DnsClientCache. Per verificare se è possibile risolvere correttamente il nome di dominio completo dell'account di archiviazione, usare Resolve-DnsName o nslookup.

# Replace storageaccount.file.core.windows.net with the appropriate FQDN for your storage account.
# Note that the proper suffix (core.windows.net) depends on the cloud you're deployed in.
Resolve-DnsName -Name storageaccount.file.core.windows.net

Se la risoluzione dei nomi ha esito positivo, verrà visualizzato l'indirizzo IP risolto corrispondente all'indirizzo IP dell'account di archiviazione.

Name                              Type   TTL   Section    NameHost
----                              ----   ---   -------    --------
storageaccount.file.core.windows. CNAME  29    Answer     csostoracct.privatelink.file.core.windows.net
net

Name       : storageaccount.privatelink.file.core.windows.net
QueryType  : A
TTL        : 1769
Section    : Answer
IP4Address : 192.168.0.4

Se si monta una condivisione file SMB, è anche possibile usare il Test-NetConnection comando per verificare che una connessione TCP possa essere stabilita correttamente nell'account di archiviazione.

Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB

Vedi anche