Share via


ILB A Standard kiadás v1 létrehozása Azure Resource Manager-sablonok használatával

Fontos

Ez a cikk az App Service Environment 1-ről szól. Az App Service Environment 1-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 1-es verzióját használja, kövesse a cikkben leírt 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 v1-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.

Áttekintés

Az App Service-környezetek nyilvános VIRTUÁLIS IP-cím helyett virtuális hálózati belső címmel hozhatók létre. Ezt a belső címet egy belső terheléselosztónak (ILB) nevezett Azure-összetevő adja meg. Az ILB A Standard kiadás az Azure Portal használatával hozhatók létre. Azure Resource Manager-sablonokkal automatizálással is létrehozható. Ez a cikk végigvezeti az ILB A Standard kiadás Azure Resource Manager-sablonokkal való létrehozásához szükséges lépéseket és szintaxist.

Az ILB A létrehozásának automatizálása három lépésből áll Standard kiadás:

  1. Először az A Standard kiadás alap egy virtuális hálózaton jön létre egy belső terheléselosztó-címmel a nyilvános VIP helyett. Ennek a lépésnek a részeként a rendszer egy gyökértartománynevet rendel hozzá az ILB A Standard kiadás.
  2. Az ILB A Standard kiadás létrehozása után a rendszer feltölt egy TLS/SSL-tanúsítványt.
  3. A feltöltött TLS/SSL-tanúsítvány kifejezetten az ILB A-hoz van hozzárendelve Standard kiadás mint az "alapértelmezett" TLS/SSL-tanúsítvány. Ez a TLS/SSL-tanúsítvány az ILB A-n lévő alkalmazások felé irányuló TLS-forgalomhoz lesz használva Standard kiadás ha az alkalmazásokat az A Standard kiadás hozzárendelt közös gyökértartomány használatával kezelik (például https://someapp.mycustomrootcomain.com)

Az alapszintű ILB A létrehozása Standard kiadás

Itt talál egy példa Azure Resource Manager-sablont és a hozzá tartozó paraméterfájlt.

A azuredeploy.parameters.json fájl legtöbb paramétere gyakori az ILB A Standard kiadás és a nyilvános VIRTUÁLIS IP-címhez kötött A Standard kiadás létrehozásához. Az alábbi lista speciális vagy egyedi paramétereket hív meg az ILB A létrehozásakor Standard kiadás:

  • internalLoadBalancingMode: Meghatározza a vezérlő- és adatportok nyilvánosságra kerülési módját.
    • A 3 azt jelenti, hogy a 80/443-es portokon a HTTP/HTTPS-forgalom, valamint az A Standard kiadás 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.
    • A 2 azt jelenti, hogy csak az FTP-szolgáltatáshoz kapcsolódó portok (mind a vezérlők, mind az adatcsatornák) ILB-címhez lesznek kötve, míg a HTTP/HTTPS-forgalom a nyilvános VIRTUÁLIS IP-címen marad.
    • A 0 azt jelenti, hogy az összes forgalom a nyilvános VIP-hez van kötve, így az A Standard kiadás külsővé válik.
  • dnsSuffix: Ez a paraméter határozza meg az A Standard kiadás hozzárendelni kívánt 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 azonban az ILB A Standard kiadás az ügyfél virtuális hálózatán belül van, nincs értelme a közszolgáltatás alapértelmezett gyökértartományát használni. Ehelyett az ILB A Standard kiadás alapértelmezett gyökértartományának kell lennie, amely a vállalat belső virtuális hálózatán belül használható. Egy hipotetikus 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.
  • ipSslAddressCount: Ez a paraméter automatikusan 0 értéket ad meg a azuredeploy.json fájlban, mert az ILB A Standard kiadás csak egyetlen ILB-címmel rendelkezik. Nincs explicit IP-SSL-cím az ILB A Standard kiadás esetében, ezért az ILB A IP-SSL-címkészletét nullára kell állítani Standard kiadás ellenkező esetben kiépítési hiba lép fel.

Miután kitöltötte a azuredeploy.parameters.json fájlt egy ILB A Standard kiadás esetében, az ILB A Standard kiadás a következő PowerShell-kódrészlettel hozható létre. Módosítsa a fájl elérési útját úgy, hogy megfeleljen az Azure Resource Manager-sablonfájloknak a számítógépen való elhelyezésének. Ne felejtse el megadni a saját értékeit az Azure 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 Azure Resource Manager-sablon elküldése után néhány óráig tart az ILB A Standard kiadás létrehozása. A létrehozás befejezése után az ILB A Standard kiadás megjelenik a portál UX-jében az üzembe helyezést aktiváló előfizetés App Service-környezeteinek listájában.

Az "Alapértelmezett" TLS/SSL-tanúsítvány feltöltése és konfigurálása

Az ILB A Standard kiadás létrehozása után TLS/SSL-tanúsítványt kell társítani az A Standard kiadás mint az "alapértelmezett" TLS/SSL-tanúsítvány az alkalmazásokhoz való TLS/SSL-kapcsolatok létrehozásához. Ha az A Standard kiadás alapértelmezett DNS-utótagja internal.contoso.com, a hipotetikus Contoso Corporation-példával folytatva, akkor a kapcsolathoz https://some-random-app.internal.contoso.com a *.internal.contoso.com érvényes TLS/SSL-tanúsítvány szükséges.

Az érvényes TLS/SSL-tanúsítvány beszerzésének különböző módjai vannak, beleértve a belső hitelesítésszolgáltatókat, a tanúsítvány külső kiállítótól való megvásárlását és egy önaláírt tanúsítvány használatát. 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. A második bejegyzés oka, hogy 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ével lesznek létrehozva.

Érvényes TLS/SSL-tanúsítvány birtokában két további előkészítő lépésre van szükség. A TLS/SSL-tanúsítványt .pfx fájlként kell konvertálni/menteni. Ne feledje, hogy a .pfx fájlnak tartalmaznia kell az összes köztes és főtanúsítványt, valamint jelszóval kell védenie.

Ezután az eredményül kapott .pfx fájlt base64-sztringgé kell konvertálni, mert a TLS/SSL-tanúsítvány egy Azure Resource Manager-sablonnal lesz feltöltve. Mivel az Azure Resource Manager-sablonok szöveges fájlok, a .pfx fájlt alap64-sztringgé kell konvertálni, hogy a sablon paramétereként szerepeljen benne.

Az alábbi PowerShell-kódrészlet egy önaláírt tanúsítvány létrehozására, a tanúsítvány .pfx fájlként való exportálására, a .pfx fájl alap64 kódolású sztringgé alakítására, majd a base64 kódolású sztring külön fájlba való mentésére mutat. A Base64-kódolás PowerShell-kódja 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 az alapértelmezett TLS/SSL-tanúsítvány konfigurálására szolgáló Azure Resource Manager-sablon használható.

A azuredeploy.parameters.json fájl paraméterei az alábbiak:

  • appServiceEnvironmentName: A konfigurált ILB A Standard kiadás neve.
  • existingAseLocation: Az ILB A Standard kiadás ü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 based64 kódolású sztringje. A korábban bemutatott kódrészlet használatával másolja az "exportedcert.pfx.b64" sztringet, és 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 lekéri ezt az értéket a PowerShellből (például $certThumbprint a korábbi kódrészletből), használhatja az értéket is. Ha azonban kimásolja az értéket a Windows-tanúsítvány párbeszédpaneléről, ne felejtse el a felesleges szóközöket kiszépíteni. A certificateThumbprintnek a következőképpen kell kinéznie: AF3143EB61D43F6727842115BB7F17BBCECAECAE
  • 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 Azure Resource Manager-azonosítójának részeként használatos. A névnek a következő utótaggal kell végződnie: _yourA Standard kiadás NameHere_InternalLoadBalancingA Standard kiadás. Ezt az utótagot a portál használja annak jelzéseként, hogy a tanúsítvány egy ILB-kompatibilis A Standard kiadás védelmére szolgál.

A azuredeploy.parameters.json rövidített példája alább 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"
        }
    }
}

Miután kitöltötte a azuredeploy.parameters.json fájlt, az alapértelmezett TLS/SSL-tanúsítvány az alábbi PowerShell-kódrészlettel konfigurálható. Módosítsa a fájl elérési útját úgy, hogy megfeleljen az Azure Resource Manager-sablonfájloknak a számítógépen való elhelyezésének. Ne felejtse el megadni a saját értékeit az Azure 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 Azure Resource Manager-sablon elküldése után nagyjából 40 percet vesz igénybe A Standard kiadás előtérként a módosítás alkalmazása. Ha például egy alapértelmezett méretű A Standard kiadás két előtérrel rendelkezik, a sablon végrehajtása körülbelül 1 órát és 20 percet vesz igénybe. Amíg a sablon az A Standard kiadás nem lesz képes skálázni.

A sablon befejeződése után az ILB A Standard kiadás alkalmazásai HTTPS-en keresztül érhetők el, és a kapcsolatok az alapértelmezett TLS/SSL-tanúsítvánnyal lesznek védve. Az alapértelmezett TLS/SSL-tanúsítvány akkor lesz használva, ha az ILB A Standard kiadás-en 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álná.

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, majd egyedi SNI TLS-/SSL-tanúsítványkötéseket konfigurálhatnak az egyes alkalmazásokhoz.

Első lépések

Az App Service-környezetek használatának első lépéseit lásd : Bevezetés az App Service-környezet használatába

Feljegyzés

Ha nem szeretne regisztrálni Azure-fiókot az Azure App Service megismerése előtt, lépjen Az Azure App Service kipróbálása oldalra, ahol azonnal létrehozhat egy rövid élettartamú alapszintű webalkalmazást az App Service-ben. Ehhez nincs szükség bankkártyára, és nem jár kötelezettségekkel.