Megosztás a következőn keresztül:


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.comvan még néhány teendője.

  1. 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.

  2. 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.