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.

Azure-alkalmazás szolgáltatáskörnyezetek (A Standard kiadás) 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ím A Standard kiadás ILB A Standard kiadás nevezik. A nyilvános végponttal rendelkező A Standard kiadás külső A Standard kiadás nevezik.

A Standard kiadás 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ő A Standard kiadás vagy ILB A Standard kiadás létrehozásához szükséges lépéseket és szintaxist. Az A Standard kiadás v2 azure portalon való létrehozásáról a [Make an External A Standard kiadás][MakeExternalA Standard kiadás] vagy az ILB A Standard kiadás című témakörben olvashat.

Amikor létrehoz egy A Standard kiadás az Azure Portalon, egyszerre hozhatja létre a virtuális hálózatot, vagy választhat egy meglévő virtuális hálózatot, amelyben üzembe helyezhető.

Amikor A Standard kiadás sablonból hoz létre, a következőkkel kell kezdenie:

  • Egy Azure-beli virtuális hálózat.
  • A virtuális hálózat egy alhálózata. Az A Standard kiadás alhálózat mérete /24 256 címmel a jövőbeli növekedés és skálázási igények kielégítése érdekében ajánlott. Az A Standard kiadás 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 A Standard kiadás létrehozásának automatizálásához kövesse az alábbi szakaszok útmutatásait. Ha egyéni dnsSuffix-et (például) tartalmazó ILB A Standard kiadás v2-t hoz létre, internal.contoso.comvan még néhány teendője.

  1. Az egyéni dnsSuffix-et tartalmazó ILB A Standard kiadás létrehozása után fel kell töltenie egy TLS/SSL-tanúsítványt, amely megfelel az ILB A Standard kiadás tartományának.

  2. A feltöltött TLS/SSL-tanúsítvány az ILB A Standard kiadás az "alapértelmezett" TLS/SSL-tanúsítványként van hozzárendelve. Ezt a tanúsítványt az ILB A-n lévő alkalmazások TLS/SSL-forgalmához használják Standard kiadás amikor az A Standard kiadás hozzárendelt közös gyökértartományt használják (példáulhttps://someapp.internal.contoso.com).

Az A létrehozása Standard kiadás

Az A Standard kiadás és a hozzá tartozó paraméterfájlt létrehozó Resource Manager-sablon az A Standard kiadás v2 GitHubon érhető el.

Ha A Standard kiadás szeretne készíteni, használja ezt az A Standard kiadás v2 Resource Manager-sablont. A azuredeploy.parameters.json fájl legtöbb paramétere gyakori az ILB A Standard kiadás és a külső A Standard kiadás létrehozásához. Az alábbi lista egy speciális megjegyzés paramétereit hívja meg, vagy ez egyedi, amikor egy meglévő alhálózattal rendelkező ILB A Standard kiadás hoz létre.

Paraméterek

  • aseName: Ez a paraméter egy egyedi A Standard kiadás 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 A Standard kiadás található.
  • existingVirtualNetworkResourceGroup: paramétere annak a meglévő virtuális hálózatnak és alhálózatnak az erőforráscsoport-nevét határozza meg, ahol az A Standard kiadás 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 A Standard kiadás található.
  • internalLoadBalancingMode: A legtöbb esetben ezt állítsa 3-ra, ami azt jelenti, hogy a 80/443-es portokon a HTTP/HTTPS-forgalom, valamint az FTP szolgáltatás által az A Standard kiadá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 A Standard kiadás alapértelmezett gyökértartományát. 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 A Standard kiadás 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 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ó. 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 A Standard kiadás csak egyetlen ILB-címmel rendelkezik. Az ILB A-hez nincsenek explicit IP-SSL-címek Standard kiadás. 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 történik.

Miután kitöltötte a azuredeploy.parameters.json fájlt, hozza létre az A Standard kiadás 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á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 A Standard kiadás létrehozása körülbelül két órát vesz igénybe. Ezután az A Standard kiadás megjelenik a portálon az üzembe helyezést kiváltó előfizetés A Standard kiadás 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 A Standard kiadás az alkalmazásokhoz való TLS-kapcsolatok létrehozásához használt "alapértelmezett" TLS/SSL-tanúsítványhoz kell társítani. Ha az A Standard kiadás 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 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 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: _yourA Standard kiadás NameHere_InternalLoadBalancingA Standard kiadás. Az Azure Portal ezt az utótagot használja annak jelzésére, 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 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 körülbelül 40 percet vesz igénybe A Standard kiadás előtérként. Például egy két előtért használó alapértelmezett méretű A Standard kiadás esetében a sablon körülbelül 1 órát és 20 percet vesz igénybe. Amíg a sablon fut, az A Standard kiadás nem skálázható.

A sablon befejezése után az ILB A Standard kiadás alkalmazásait HTTPS-en keresztül érheti 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 A Standard kiadás az alkalmazásnév és az alapértelmezett gazdagépnév kombinációjával kezeli az alkalmazásokat. 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.