Een Azure Storage als een lokale share in een container-app in App Service
Notitie
Azure Storage in App Service Windows container is in preview en wordt niet ondersteund voor productiescenario's.
Deze handleiding laat zien hoe u Azure Storage als een netwerk share in een Windows container in App Service. Alleen Azure Files shares en Premium worden ondersteund. De voordelen van aangepaste opslag zijn:
Deze handleiding laat zien hoe u Azure Storage als een netwerk share in een ingebouwde Linux-container of een aangepaste Linux-container in App Service. Zie de video over het Azure Storage als een lokale share. De voordelen van aangepaste opslag zijn:
- Configureer permanente opslag voor uw App Service app en beheer de opslag afzonderlijk.
- Statische inhoud, zoals video en afbeeldingen, direct beschikbaar maken voor uw App Service app.
- Schrijf toepassingslogboekbestanden of archiveer oudere toepassingslogboekbestanden naar Azure-bestands shares.
- Inhoud delen in meerdere apps of met andere Azure-services.
De volgende functies worden ondersteund voor Windows containers:
- Beveiligde toegang tot opslagaccounts met privékoppelingen (wanneer VNET-integratie wordt gebruikt). Ondersteuning voor service-eindpunten is momenteel niet beschikbaar.
- Azure Files (lezen/schrijven).
- Maximaal vijf bevestigingspunten per app.
- Toewijzingen van stationletters (
C:naarZ:).
De volgende functies worden ondersteund voor Linux-containers:
- Beveiligde toegang tot opslagaccounts met service-eindpunten en privékoppelingen (wanneer VNET-integratie wordt gebruikt).
- Azure Files (lezen/schrijven).
- Azure Blobs (alleen-lezen).
- Maximaal vijf bevestigingspunten per app.
Vereisten
- Een bestaande App Service op Linux app.
- Een Azure Storage account
- Een Azure-bestands share en map.
Notitie
Azure Storage is niet-standaardopslag voor App Service en afzonderlijk gefactureerd, niet inbegrepen bij App Service.
Beperkingen
- Storage worden niet ondersteund voor native Windows (niet in containers geplaatste) apps.
- Azure-blobs worden niet ondersteund.
- Storage firewall wordt alleen ondersteund via privé-eindpunten (wanneer VNET-integratie wordt gebruikt). Aangepaste DNS-ondersteuning is momenteel niet beschikbaar wanneer het Azure Storage een privé-eindpunt gebruikt.
- FTP-/FTPS-toegang tot de gemonteerde opslag wordt niet ondersteund (gebruik Azure Storage Explorer).
- Toewijzing
[C-Z]:\van , , en aan aangepaste opslag wordt niet[C-Z]:\home//homeondersteund. - Storage kunnen niet samen met de optie klooninstellingen worden gebruikt tijdens het maken van de implementatiesleuf.
- Storage worden geen back-up van de app wanneer u een back-up maakt van uw app. Zorg ervoor dat u de best practices volgt voor het maken van back-Azure Storage accounts.
- Storage firewall wordt alleen ondersteund via service-eindpunten en privé-eindpunten (wanneer VNET-integratie wordt gebruikt). Aangepaste DNS-ondersteuning is momenteel niet beschikbaar wanneer het Azure Storage een privé-eindpunt gebruikt.
- FTP-/FTPS-toegang tot aangepaste opslag wordt niet ondersteund (gebruik Azure Storage Explorer).
- Ondersteuning voor Azure CLI, Azure PowerShell en Azure SDK is in preview.
- Toewijzing
/of aan aangepaste opslag wordt niet/homeondersteund. - Wijs de aangepaste opslag mount niet toe aan de subdirecties, omdat dit een
/tmptime-out kan veroorzaken tijdens het opstarten van de app. - Storage kunnen niet samen met de optie klooninstellingen worden gebruikt tijdens het maken van de implementatiesleuf.
- Storage worden geen back-up van de app wanneer u een back-up maakt van uw app. Zorg ervoor dat u de best practices volgt voor het maken van back-Azure Storage accounts.
Opslag aan Windows container
Opslag aan Linux-container monteren
Navigeer in Azure Portalnaar de app.
Klik in het linkernavigatievenster op > Configuratiepadtoewijzingen > Nieuw Azure Storage koppelen.
Configureer de opslag mount volgens de volgende tabel. Wanneer u klaar bent, klikt u op OK.
Instelling Beschrijving Naam Naam van de configuratie van de mount. Spaties zijn niet toegestaan. Configuratie-opties Selecteer Basic als het opslagaccount geen privé-eindpunten gebruikt. Selecteer anders Geavanceerd. Opslagaccounts Azure-opslagaccount. Deze moet een Azure Files bevatten. Sharenaam De bestands share die moet worden bevestigd. Toegangssleutel (alleen geavanceerd) Toegangssleutel voor uw opslagaccount. Pad voor het mounten Map in de Windows container die u wilt Azure Storage. Gebruik geen hoofdmap ( [C-Z]:\of ) of de map ( of/home[C-Z]:\home/home).Instelling Beschrijving Naam Naam van de configuratie van de mount. Spaties zijn niet toegestaan. Configuratie-opties Selecteer Basic als het opslagaccount geen service-eindpunten of privé-eindpunten gebruikt. Selecteer anders Geavanceerd. Opslagaccounts Azure-opslagaccount. Opslagtype Selecteer het type op basis van de opslag die u wilt mounten. Azure Blobs biedt alleen ondersteuning voor alleen-lezentoegang. Storage container of sharenaam Bestands share of Blobs-container die moet worden bevestigd. Toegangssleutel (alleen geavanceerd) Toegangssleutel voor uw opslagaccount. Pad voor het mounten Map in de Linux-container die u wilt Azure Storage. Gebruik niet /of/home.Waarschuwing
De map die is opgegeven in pad in de container moet leeg zijn. Alle inhoud die in deze map is opgeslagen, wordt verwijderd wanneer de Azure Storage wordt bevestigd (als u bijvoorbeeld een map opgeeft onder
/home). Als u bestanden migreert voor een bestaande app, maakt u een back-up van de app en de inhoud ervan voordat u begint.
Notitie
Als u een opslag mount toevoegt, bewerkt of verwijderd, wordt de app opnieuw gestart.
De gemonteerde opslag testen
Valideren dat de Azure Storage is bevestigd voor de app:
Open een SSH-sessie in de container.
Voer in de SSH-terminal de volgende opdracht uit:
df –hControleer of de opslag share is bevestigd. Als deze niet aanwezig is, is er een probleem met het monteren van de opslag share.
Controleer de latentie of de algemene bereikbaarheid van de opslag mount met de volgende opdracht:
tcpping Storageaccount.file.core.windows.net
Aanbevolen procedures
- Als u potentiële problemen met betrekking tot latentie wilt voorkomen, moet u de app en het Azure Storage account in dezelfde Azure-regio plaatsen. Als de app en het Azure Storage-account zich echter in dezelfde Azure-regio bevinden en u toegang verleent vanuit App Service IP-adressen in de Azure Storage-firewallconfiguratie,worden deze IP-beperkingen niet nageleefd.
- De map voor het toevoegen van een container in de container-app moet leeg zijn. Alle inhoud die op dit pad is opgeslagen, wordt verwijderd wanneer de Azure Storage wordt bevestigd. Als u bestanden migreert voor een bestaande app, maakt u een back-up van de app en de inhoud ervan voordat u begint.
De map voor het toevoegen van een container in de container-app moet leeg zijn. Alle inhoud die op dit pad is opgeslagen, wordt verwijderd wanneer de Azure Storage wordt bevestigd (als u bijvoorbeeld een map opgeeft
/homeonder ). Als u bestanden migreert voor een bestaande app, maakt u een back-up van de app en de inhoud ervan voordat u begint.Het is niet raadzaam om de opslag te installeren op , omdat dit kan
/homeleiden tot prestatieknelpunten voor de app.
In het Azure Storage-account moet u voorkomen dat de toegangssleutel die wordt gebruikt om de opslag in de app te mounten opnieuw wordt gemaakt. Het opslagaccount bevat twee verschillende sleutels. Gebruik een stapsgewijs aanpak om ervoor te zorgen dat de opslagkoppeling beschikbaar blijft voor de app tijdens het opnieuw maken van de sleutel. Als u bijvoorbeeld key1 hebt gebruikt voor het configureren van de opslag mount in uw app:
- Regenerate key2.
- Werk in de configuratie van de opslag mount de toegang bij tot de sleutel om de opnieuw ge regenereerde key2 te gebruiken.
- Regenerate key1.
Als u een Azure Storage, container of share verwijdert, verwijdert u de bijbehorende configuratie voor opslag mount in de app om mogelijke foutscenario's te voorkomen.
Het Azure Storage account kan Standard of Premium zijn. Kies op basis van de vereisten voor de app-capaciteit en doorvoer de juiste prestatielaag voor het opslagaccount. Bekijk de schaalbaarheids- en prestatiedoelen die overeenkomen met het opslagtype:
- Voor bestanden (Windows linux-containers)
- Voor blobs (alleen Linux-containers)
Als uw app naar meerdere exemplaren wordtgeschaald, maken alle exemplaren verbinding met hetzelfde Azure Storage account. Kies de juiste prestatielaag voor het opslagaccount om prestatieknelpunten en doorvoerproblemen te voorkomen.
Het is niet raadzaam om opslag mounts te gebruiken voor lokale databases (zoals SQLite) of voor andere toepassingen en onderdelen die afhankelijk zijn van bestandsing handles en vergrendelingen.
Wanneer u Azure Storage privé-eindpunten gebruikt met de app, moet u de volgende twee app-instellingen instellen:
WEBSITE_DNS_SERVER=168.63.129.16WEBSITE_VNET_ROUTE_ALL=1
Als u een opslag-failover start en het opslagaccount aan de app is koppelen, kan de koppeling geen verbinding maken totdat u de app opnieuw start of de Azure Storage toevoegt.