Åtkomst nekad vid körning av Azure Batch-jobb
Azure Storage-kontot är en nödvändig beroende komponent för att Azure Batch-kontot ska kunna lagra resursfiler, programpaket och utdatafiler. I många fall använder du Azure Storage-konto med en brandvägg för att förbättra säkerheten. Azure Storage-konto med en brandvägg kan dock orsaka fel när du kör Azure Batch-jobb. Den här artikeln innehåller lösningar på sådana problem.
Symptom
När du kör Azure Batch-jobb kan det uppstå fel som rör det associerade Azure-lagringskontot.
Här är ett felexempel:
Kategori: UserError
Kod: ResourceContainerAccessDenied
Meddelande: Åtkomst för en av de angivna Azure Blog-containererna nekas
Orsak
När du skapar en Azure Batch-pool etableras nya virtuella datorer (Batch-noder). Om du inte tilldelar en statisk offentlig IP-adress till Batch-poolen tilldelas en slumpmässig offentlig IP-adress. När du ändrar storlek på antalet noder till 0 och ändrar storlek igen ändras den offentliga IP-adressen för dessa nya Batch-noder. Om det associerade lagringskontot har en konfigurerad brandvägg är det därför svårt för dig att hantera listan över tillåtna brandväggar.
Om lagringskontot och Batch-poolen finns i samma region, oavsett om Batch-poolen har en statisk offentlig IP-adress eller inte, går den utgående trafiken från Batch-noder alltid via Azure-stamnätets Internet (privata IP-adresser). Lagringsbrandväggen kan inte lägga till en privat IP-adress i listan över tillåtna adresser, vilket gör att trafiken till lagringskontot nekas.
Åtgärd
Lös problemet genom att hantera Batch-poolen och lagringskontokonfigurationerna baserat på dina scenarier.
Kommentar
Om du behöver ladda upp programpaket fungerar ingen av följande lösningar. Lagringskontot får inte konfigurera någon brandvägg. Mer information finns i Länka ett lagringskonto.
Scenario 1: Batchpoolen och lagringskontot finns i samma region och Batch-poolen har ett virtuellt nätverk
Kontrollera undernätsinformationen under Nätverkskonfiguration från egenskaperna för Azure Portal >Batch-kontopool>>. Anteckna och skriv ned informationen.
Gå till lagringskontot och välj Nätverk. I inställningen Brandväggar och virtuella nätverk väljer du Aktivera från valda virtuella nätverk och IP-adresser för åtkomst till offentligt nätverk. Lägg till Batch-poolens undernät i listan över tillåtna brandväggar.
Om undernätet inte aktiverar tjänstslutpunkten visas ett meddelande på följande sätt när du väljer den:
Följande nätverk har inte tjänstslutpunkter aktiverade för Microsoft.Storage. Det tar upp till 15 minuter att aktivera åtkomst. När du har startat den här åtgärden är det säkert att lämna och återvända senare om du inte vill vänta.
Innan du lägger till undernätet kontrollerar du därför det i det virtuella Batch-nätverket för att se om tjänstslutpunkten för lagringskontot är aktiverad.
När du har slutfört konfigurationerna ovan kan Batch-noderna i poolen komma åt lagringskontot.
Scenario 2: Batchpoolen och lagringskontot finns i olika regioner
Skapa en ny Batch-pool i ett virtuellt nätverk med en statisk offentlig IP-adress. Mer information finns i Skapa en Batch-pool med angivna offentliga IP-adresser.
Eftersom Batch-poolen och lagringskontot finns i olika regioner går den utgående trafiken via det offentliga Internet via den offentliga IP-adressen.
Skriv ned den offentliga IP-adressen.
Tilldela den offentliga IP-adressen till den offentliga Lastbalanserarens IP-adress för Batch-poolen.
Därefter kontrollerar du batchpoolens egenskaper. De kommer att vara som de i följande skärmbild:
Lägg till den offentliga IP-adressen i listan över tillåtna lagringsbrandväggar.
Kör Batch-jobben med den nyligen skapade Batch-poolen.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.