ASE létrehozása Azure Resource Manager-sablonnal
Áttekintés
Fontos
Ez a cikk az App Service Environment v2-ről szól, amelyet izolált App Service-csomagokkal használnak. Az App Service Environment v2 2-et 2024. augusztus 31-én kivonjuk. Az App Service Environment új verziója egyszerűbben használható és hatékonyabb infrastruktúrán futtatható. Az új verzióról az App Service-környezet bemutatása című cikkből tudhat meg többet. Ha jelenleg az App Service Environment 2-es verzióját használja, kövesse az ebben a cikkben ismertetett lépéseket az új verzióra való migráláshoz.
2024. január 29-étől már nem hozhat létre új App Service Environment v2-erőforrásokat az elérhető módszerek , például ARM/Bicep-sablonok, Azure Portal, Azure CLI vagy REST API használatával. 2024. augusztus 31-ig át kell telepítenie az App Service Environment v3-ra az erőforrás törlésének és adatvesztésének megakadályozása érdekében.
Az App Service Environment v1/v2-beli kivonásával kapcsolatos legfrissebb információkért tekintse meg az App Service Environment 1- és v2-beli kivonási frissítését.
Azure-alkalmazás szolgáltatáskörnyezetek (ASE-k) internetkapcsolattal rendelkező végponttal vagy egy azure-beli virtuális hálózat belső címének végpontjával hozhatók létre. Ha belső végponttal jön létre, ezt a végpontot egy belső terheléselosztónak (ILB) nevezett Azure-összetevő biztosítja. A belső IP-címek ASE-jének neve ILB ASE. A nyilvános végponttal rendelkező ASE-t külső ASE-nek nevezzük.
Az ASE az Azure Portal vagy egy Azure Resource Manager-sablon használatával hozható létre. Ez a cikk végigvezeti a Resource Manager-sablonokkal rendelkező külső ASE vagy ILB ASE létrehozásához szükséges lépéseket és szintaxist. Az ASEv2 azure portalon való létrehozásáról a [Külső ASE létrehozása][MakeExternalASE] vagy az ILB ASE létrehozása című témakörben olvashat.
Amikor létrehoz egy ASE-t az Azure Portalon, egyszerre hozhatja létre a virtuális hálózatát, vagy kiválaszthat egy meglévő virtuális hálózatot, amelyben üzembe helyezhető.
Amikor létrehoz egy ASE-t egy sablonból, a következőkkel kell kezdenie:
- Egy Azure-beli virtuális hálózat.
- A virtuális hálózat egy alhálózata. A jövőbeli növekedés és skálázási igények kielégítése érdekében 256 címmel rendelkező ASE-alhálózat-méretet
/24
javasoljuk. Az ASE létrehozása után nem módosíthatja a méretet. - A telepíteni kívánt előfizetés.
- Az a hely, ahová telepíteni szeretné az üzembe helyezést.
Az ASE létrehozásának automatizálásához kövesse az alábbi szakaszokban ismertetett irányelveket. Ha egyéni dnsSuffix-et (például) tartalmazó ILB ASEv2-t hoz létre, internal.contoso.com
van még néhány teendője.
Miután létrehozta az egyéni dnsSuffix-et tartalmazó ILB ASE-t, fel kell töltenie egy TLS/SSL-tanúsítványt, amely megfelel az ILB ASE-tartománynak.
A feltöltött TLS/SSL-tanúsítvány az ILB ASE-hez van rendelve az "alapértelmezett" TLS/SSL-tanúsítványként. Ezt a tanúsítványt az ILB ASE-n lévő alkalmazások TLS/SSL-forgalmához használják, amikor az ASE-hez rendelt közös gyökértartományt használják (például
https://someapp.internal.contoso.com
).
Az ASE létrehozása
Az ASE-t és a hozzá tartozó paraméterfájlt létrehozó Resource Manager-sablon az ASEv2-hez készült GitHubon érhető el.
Ha ASE-t szeretne készíteni, használja ezt a Resource Manager-sablon ASEv2-példát . A azuredeploy.parameters.json fájl legtöbb paramétere gyakori az ILB ASE-k és a külső ASE-k létrehozásához. Az alábbi lista egy speciális megjegyzés paramétereit hívja meg, vagy ez egyedi, ha egy meglévő alhálózattal rendelkező ILB ASE-t hoz létre.
Paraméterek
- aseName: Ez a paraméter egyedi ASE-nevet határoz meg.
- hely: Ez a paraméter határozza meg az App Service-környezet helyét.
- existingVirtualNetworkName: Ez a paraméter annak a meglévő virtuális hálózatnak és alhálózatnak a virtuális hálózatát határozza meg, ahol az ASE található.
- existingVirtualNetworkResourceGroup: paramétere határozza meg annak a meglévő virtuális hálózatnak és alhálózatnak az erőforráscsoport-nevét, ahol az ASE található.
- subnetName: Ez a paraméter annak a meglévő virtuális hálózatnak és alhálózatnak az alhálózatát határozza meg, ahol az ASE található.
- internalLoadBalancingMode: A legtöbb esetben állítsa ezt a 3 értékre, ami azt jelenti, hogy a 80/443-as portokon a HTTP/HTTPS-forgalom, valamint az ASE FTP szolgáltatás által figyelt vezérlő-/adatcsatorna-portok egy ILB által lefoglalt virtuális hálózat belső címéhez lesznek kötve. Ha ez a tulajdonság 2 értékre van állítva, csak az FTP szolgáltatáshoz kapcsolódó portok (mind a vezérlők, mind az adatcsatornák) ILB-címhez vannak kötve. Ha ez a tulajdonság 0 értékre van állítva, a HTTP/HTTPS-forgalom a nyilvános VIP-en marad.
- dnsSuffix: Ez a paraméter határozza meg az ASE-hez rendelt alapértelmezett gyökértartományt. A Azure-alkalmazás Szolgáltatás nyilvános változatában az összes webalkalmazás alapértelmezett gyökértartománya azurewebsites.net. Mivel az ILB ASE az ügyfél virtuális hálózatán belül van, nem érdemes a közszolgáltatás alapértelmezett gyökértartományát használni. Ehelyett az ILB ASE-nek rendelkeznie kell egy alapértelmezett gyökértartománysal, amely a vállalat belső virtuális hálózatán belül használható. A Contoso Corporation például a internal.contoso.com alapértelmezett gyökértartományát használhatja olyan alkalmazásokhoz, amelyek csak a Contoso virtuális hálózatán belül oldhatók fel és érhetők el. Egyéni gyökértartomány megadásához api-verziót
2018-11-01
vagy korábbi verziót kell használnia. - ipSslAddressCount: Ez a paraméter automatikusan 0 értéket ad meg a azuredeploy.json fájlban, mivel az ILB ASE-k csak egyetlen ILB-címmel rendelkeznek. Az ILB ASE-hez nincsenek explicit IP-SSL-címek. Ezért az ILB ASE IP-SSL-címkészletének nullára kell állítania. Ellenkező esetben kiépítési hiba történik.
A azuredeploy.parameters.json fájl kitöltése után hozza létre az ASE-t a PowerShell kódrészletével. Módosítsa a fájl elérési útját úgy, hogy megfeleljen a Resource Manager-sablonfájl helyének a számítógépen. Ne felejtse el megadni a Saját értékeket a Resource Manager üzembehelyezési nevéhez és az erőforráscsoport nevéhez:
$templatePath="PATH\azuredeploy.json"
$parameterPath="PATH\azuredeploy.parameters.json"
New-AzResourceGroupDeployment -Name "CHANGEME" -ResourceGroupName "YOUR-RG-NAME-HERE" -TemplateFile $templatePath -TemplateParameterFile $parameterPath
Az ASE létrehozása körülbelül két órát vesz igénybe. Ezután az ASE megjelenik a portálon az üzembe helyezést kiváltó előfizetés ASE-jainak listájában.
Töltse fel és konfigurálja az "alapértelmezett" TLS/SSL-tanúsítványt
A TLS/SSL-tanúsítványt az ASE-hez kell társítani az alkalmazásokhoz való TLS-kapcsolatok létrehozásához használt "alapértelmezett" TLS/SSL-tanúsítványként. Ha az ASE alapértelmezett DNS-utótagja internal.contoso.com, a kapcsolathoz https://some-random-app.internal.contoso.com
egy *.internal.contoso.com érvényes TLS/SSL-tanúsítvány szükséges.
Érvényes TLS/SSL-tanúsítvány beszerzése belső hitelesítésszolgáltatók használatával, tanúsítvány vásárlása külső kiállítótól vagy önaláírt tanúsítvány használatával. A TLS/SSL-tanúsítvány forrásától függetlenül a következő tanúsítványattribútumokat megfelelően kell konfigurálni:
- Tárgy: Ezt az attribútumot *.your-root-domain-here.com értékre kell állítani.
- Tulajdonos alternatív neve: Ennek az attribútumnak *.your-root-domain-here.com és *.scm.your-root-domain-here.com is tartalmaznia kell. Az egyes alkalmazásokhoz társított SCM-/Kudu-webhelyhez tartozó TLS-kapcsolatok az űrlap your-app-name.scm.your-root-domain-here.com címét használják.
Érvényes TLS/SSL-tanúsítvány birtokában további két előkészítő lépésre van szükség. A TLS/SSL-tanúsítvány konvertálása/mentése .pfx fájlként. Ne feledje, hogy a .pfx fájlnak tartalmaznia kell az összes köztes és főtanúsítványt. Jelszóval gondoskodjon a védelméről.
A .pfx fájlt base64-sztringgé kell konvertálni, mert a TLS/SSL-tanúsítvány feltöltése Resource Manager-sablonnal történik. Mivel a Resource Manager-sablonok szövegfájlok, a .pfx fájlt base64-sztringgé kell konvertálni. Így a sablon paramétereként is szerepelhet.
Használja a következő PowerShell-kódrészletet:
- Önaláírt tanúsítvány létrehozása.
- Exportálja a tanúsítványt .pfx fájlként.
- Konvertálja a .pfx fájlt base64 kódolású sztringgé.
- Mentse a base64 kódolású sztringet egy külön fájlba.
Ez a Base64-kódoláshoz készült PowerShell-kód a PowerShell-szkriptek blogjából lett adaptálva:
$certificate = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname "*.internal.contoso.com","*.scm.internal.contoso.com"
$certThumbprint = "cert:\localMachine\my\" + $certificate.Thumbprint
$password = ConvertTo-SecureString -String "CHANGETHISPASSWORD" -Force -AsPlainText
$fileName = "exportedcert.pfx"
Export-PfxCertificate -cert $certThumbprint -FilePath $fileName -Password $password
$fileContentBytes = get-content -encoding byte $fileName
$fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
$fileContentEncoded | set-content ($fileName + ".b64")
A TLS/SSL-tanúsítvány sikeres létrehozása és base64 kódolású sztringgé alakítása után használja a Resource Manager-példasablont Az alapértelmezett SSL-tanúsítvány konfigurálása a GitHubon.
A azuredeploy.parameters.json fájl paraméterei a következők:
- appServiceEnvironmentName: A konfigurált ILB ASE neve.
- existingAseLocation: Az ILB ASE üzembe helyezését tartalmazó Azure-régiót tartalmazó szöveges sztring. Például: "Usa déli középső régiója".
- pfxBlobString: A .pfx fájl 64 kódolású sztringjének ábrázolása. Használja a korábban bemutatott kódrészletet, és másolja az "exportedcert.pfx.b64" sztringet. Illessze be a pfxBlobString attribútum értékeként.
- jelszó: A .pfx fájl biztonságossá tételéhez használt jelszó.
- certificateThumbprint: A tanúsítvány ujjlenyomata. Ha ezt az értéket a PowerShellből (például a korábbi kódrészletből) kéri le,
$certificate.Thumbprint
az értéket a következőképpen használhatja. Ha a Windows-tanúsítvány párbeszédpanelről másolja az értéket, ne felejtse el a felesleges szóközöket kiszépíteni. A certificateThumbprint fájlnak AF3143EB61D43F6727842115BB7F17BBCECAECAE kell kinéznie. - certificateName: A tanúsítvány identitásához használt, saját maga által választott rövid sztringazonosító. A név a TLS/SSL-tanúsítványt képviselő Microsoft.Web/certificates entitás egyedi Resource Manager-azonosítójának részeként használatos. A névnek a következő utótaggal kell végződnie: _yourASENameHere_InternalLoadBalancingASE. Az Azure Portal ezt az utótagot használja annak jelzésére, hogy a tanúsítvány egy ILB-kompatibilis ASE védelmére szolgál.
A azuredeploy.parameters.json rövidített példája itt látható:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json",
"contentVersion": "1.0.0.0",
"parameters": {
"appServiceEnvironmentName": {
"value": "yourASENameHere"
},
"existingAseLocation": {
"value": "East US 2"
},
"pfxBlobString": {
"value": "MIIKcAIBAz...snip...snip...pkCAgfQ"
},
"password": {
"value": "PASSWORDGOESHERE"
},
"certificateThumbprint": {
"value": "AF3143EB61D43F6727842115BB7F17BBCECAECAE"
},
"certificateName": {
"value": "DefaultCertificateFor_yourASENameHere_InternalLoadBalancingASE"
}
}
}
A azuredeploy.parameters.json fájl kitöltése után konfigurálja az alapértelmezett TLS/SSL-tanúsítványt a PowerShell-kódrészlet használatával. Módosítsa a fájl elérési útját úgy, hogy megfeleljen a Resource Manager-sablonfájloknak a számítógépen való elhelyezésének. Ne felejtse el megadni a Saját értékeket a Resource Manager üzembehelyezési nevéhez és az erőforráscsoport nevéhez:
$templatePath="PATH\azuredeploy.json"
$parameterPath="PATH\azuredeploy.parameters.json"
New-AzResourceGroupDeployment -Name "CHANGEME" -ResourceGroupName "YOUR-RG-NAME-HERE" -TemplateFile $templatePath -TemplateParameterFile $parameterPath
A módosítás alkalmazása az ASE előtérrendszerenként körülbelül 40 percet vesz igénybe. Például egy két előtért használó alapértelmezett méretű ASE esetében a sablon körülbelül 1 órát és 20 percet vesz igénybe. Amíg a sablon fut, az ASE nem tud skálázni.
A sablon befejezése után az ILB ASE-n lévő alkalmazások HTTPS-en keresztül érhetők el. A kapcsolatokat az alapértelmezett TLS/SSL-tanúsítvány védi. Az alapértelmezett TLS/SSL-tanúsítványt akkor használja a rendszer, ha az ILB ASE-n lévő alkalmazásokat az alkalmazásnév és az alapértelmezett gazdagépnév kombinációjával kezeli a rendszer. Például https://mycustomapp.internal.contoso.com
a *.internal.contoso.com alapértelmezett TLS/SSL-tanúsítványát használja.
A nyilvános több-bérlős szolgáltatásban futó alkalmazásokhoz hasonlóan azonban a fejlesztők egyéni gazdagépneveket is konfigurálhatnak az egyes alkalmazásokhoz. Emellett egyedi SNI TLS-/SSL-tanúsítványkötéseket is konfigurálhatnak az egyes alkalmazásokhoz.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: