Accesso negato durante l'esecuzione di processi di Azure Batch
L'account Archiviazione di Azure è un componente dipendente necessario per l'account Azure Batch per archiviare file di risorse, pacchetti dell'applicazione e file di output. In molti casi, si usa Archiviazione di Azure Account con un firewall per migliorarne la sicurezza. Tuttavia, Archiviazione di Azure account con un firewall può causare errori durante l'esecuzione di processi di Azure Batch. Questo articolo fornisce soluzioni per tali problemi.
Sintomi
Quando si eseguono processi di Azure Batch, è possibile che si verifichino errori correlati all'account di archiviazione di Azure associato.
Ecco un esempio di errore:
Categoria: UserError
Codice: ResourceContainerAccessDenied
Messaggio: l'accesso per uno o più contenitori di Blog di Azure specificati viene negato
Causa
Quando si crea un pool di Azure Batch, verrà effettuato il provisioning di nuove macchine virtuali (nodi Batch). Se non si assegna un indirizzo IP pubblico statico al pool di Batch, verrà assegnato un indirizzo IP pubblico casuale. Ogni volta che si ridimensiona il numero di nodi a 0 e si ridimensiona di nuovo, l'indirizzo IP pubblico di questi nuovi nodi Batch cambierà. Pertanto, se l'account di archiviazione associato ha configurato un firewall, è difficile gestire l'elenco di elementi consentiti del firewall.
Se l'account di archiviazione e il pool di Batch si trovano nella stessa area, indipendentemente dal fatto che il pool di Batch disponga o meno di un indirizzo IP pubblico statico, il traffico in uscita dai nodi Batch passerà sempre tramite la rete Internet backbone di Azure (indirizzi IP privati). Il firewall di archiviazione non è autorizzato ad aggiungere un indirizzo IP privato nell'elenco di indirizzi consentiti, causando la negazione del traffico verso l'account di archiviazione.
Risoluzione
Per risolvere il problema, gestire il pool di Batch e le configurazioni dell'account di archiviazione in base agli scenari.
Note
Se è necessario caricare i pacchetti dell'applicazione, non funzionerà nessuna delle soluzioni seguenti. L'account di archiviazione non deve configurare alcun firewall. Per altre informazioni, vedere Collegare un account di archiviazione.
Scenario 1: il pool di Batch e l'account di archiviazione si trovano nella stessa area e il pool di Batch ha una rete virtuale
Controllare le informazioni sulla subnet in Configurazione di rete dalle proprietà del pool di account>>Batch portale di Azure. > Prendere nota e scrivere le informazioni.
Passare all'account di archiviazione e selezionare Rete. Nell'impostazione Firewall e reti virtuali selezionare Abilita da reti virtuali e indirizzi IP selezionati per Accesso alla rete pubblica. Aggiungere la subnet del pool di Batch nell'elenco degli elementi consentiti del firewall.
Se la subnet non abilita l'endpoint di servizio, quando la si seleziona, verrà visualizzata una notifica come indicato di seguito:
Le reti seguenti non hanno endpoint di servizio abilitati per 'Microsoft.Storage'. L'abilitazione dell'accesso richiede fino a 15 minuti. Dopo l'avvio di questa operazione, è possibile lasciare e tornare in un secondo momento se non si desidera attendere.
Pertanto, prima di aggiungere la subnet, controllarla nella rete virtuale Batch per verificare se l'endpoint di servizio per l'account di archiviazione è abilitato.
Dopo aver completato le configurazioni precedenti, i nodi Batch nel pool possono accedere correttamente all'account di archiviazione.
Scenario 2: Il pool di Batch e l'account di archiviazione si trovano in aree diverse
Creare un nuovo pool di Batch in una rete virtuale con un indirizzo IP pubblico statico. Per altre informazioni, vedere Creare un pool di Batch con indirizzi IP pubblici specificati.
Poiché il pool di Batch e l'account di archiviazione si trovano in aree diverse, il traffico in uscita passerà attraverso la rete Internet pubblica tramite l'indirizzo IP pubblico.
Annotare l'indirizzo IP pubblico.
Assegnare l'indirizzo IP pubblico all'indirizzo IP del servizio di bilanciamento del carico pubblico del pool di Batch.
Successivamente, controllare le proprietà del pool di Batch. Saranno simili a quelli nello screenshot seguente:
Aggiungere l'indirizzo IP pubblico all'elenco di indirizzi consentiti del firewall di archiviazione.
Eseguire i processi batch con il pool di Batch appena creato.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.