Testovací verze Azure Resource Manageru
Poznámka:
Testovací verze už je zastaralá. Jako alternativu k testovacím verzím doporučujeme zvážit přechod na bezplatné zkušební verze, které zákazníkům poskytují možnost plně zapojit se s vaším produktem pomocí jejich přizpůsobených nastavení a konfigurací a splnit jejich specifické požadavky. Doporučujeme odebrat testovací jednotky z nabídek a vyčistit prostředí testovacích jednotek.
Tento typ použijte, pokud máte nabídku na Azure Marketplace nebo AppSource, ale chcete vytvořit testovací verzi pouze s prostředky Azure. Šablona Azure Resource Manageru (ARM) je kódovaný kontejner prostředků Azure, který navrhujete tak, aby nejlépe představoval vaše řešení. Testovací verze převezme zadanou šablonu ARM a nasadí všechny prostředky, které vyžaduje, do skupiny prostředků. Toto je jediná možnost testovací verze pro virtuální počítač nebo nabídky aplikací Azure.
Pokud neznáte, co je šablona ARM, přečtěte si článek Co je Azure Resource Manager? A seznamte se se strukturou a syntaxí šablon ARM, abyste lépe pochopili, jak se vytvářejí a testují vlastní šablony.
Informace o hostované testovací jednotce nebo testovací jednotce aplikace logiky najdete v tématu Co je testovací verze?
Tip
Pokud chcete zobrazit zobrazení testovací verze zákazníka na komerčním marketplace, přečtěte si téma Co je Azure Marketplace? a Co je Microsoft AppSource?
Technická konfigurace
Šablona nasazení obsahuje všechny prostředky Azure, které tvoří vaše řešení. Produkty, které vyhovují tomuto scénáři, používají pouze prostředky Azure. V Partnerském centru nastavte následující vlastnosti:
Oblasti (povinné) – V současné době je k dispozici 26 oblastí podporovaných Azure. Pro zajištění nejlepšího výkonu doporučujeme zvolit jednu oblast, ve které očekáváte, že se nachází největší počet zákazníků. Budete se muset ujistit, že vaše předplatné smí nasazovat všechny prostředky potřebné v jednotlivých oblastech, které vybíráte.
Instance – Vyberte typ (horkou nebo studenou) a počet dostupných instancí, které se vynásobí počtem oblastí, ve kterých je vaše nabídka dostupná.
Hot – Tento typ instance je nasazený a čeká na přístup na vybranou oblast. Zákazníci můžou okamžitě přistupovat k horkým instancím testovací verze, a nemuseli čekat na nasazení. Nevýhodou je, že tyto instance jsou vždy spuštěné ve vašem předplatném Azure, takže se jim budou účtují větší náklady na dobu provozu. Důrazně doporučujeme mít alespoň jednu horkou instanci, protože většina zákazníků nechce čekat na úplná nasazení, což vede k výpadku využití zákazníků, pokud není dostupná žádná horká instance.
Cold – Tento typ instance představuje celkový počet instancí, které je možné nasadit na každou oblast. Studené instance vyžadují k nasazení celou šablonu Resource Manageru testovací jednotky, když zákazník požádá o testovací jednotku, takže studené instance jsou mnohem pomalejší než horké instance. Nevýhodou je, že musíte platit jenom za dobu trvání testovací verze, není to vždy spuštěné ve vašem předplatném Azure jako u horké instance.
Testovací verze šablony Azure Resource Manageru – Nahrajte .zip obsahující šablonu Azure Resource Manageru. Další informace o vytvoření šablony Azure Resource Manageru najdete v článku Rychlý start Vytvoření a nasazení šablon Azure Resource Manageru pomocí webu Azure Portal.
Poznámka:
K úspěšnému publikování je důležité ověřit formátování šablony ARM. Dva způsoby, jak to udělat, jsou (1) pomocí nástroje online rozhraní API nebo (2) s testovacím nasazením.
Doba trvání testovací jízdy (povinné) – Zadejte počet hodin, po které testovací jednotka zůstane aktivní. Testovací verze se po skončení tohoto časového období automaticky ukončí. Používejte pouze celá čísla (například 2 hodiny jsou platné, "1,5" není).
Napsání šablony testovací jednotky
Jakmile vytvoříte požadovaný balíček prostředků, napište a sestavte šablonu ARM testovací verze. Vzhledem k tomu, že testovací verze spouští nasazení v plně automatizovaném režimu, mají šablony testovacích jednotek určitá omezení:
Parametry
Většina šablon má sadu parametrů, které definují názvy prostředků, velikosti prostředků (například typy účtů úložiště nebo velikosti virtuálních počítačů), uživatelská jména a hesla, názvy DNS atd. Při nasazování řešení pomocí webu Azure Portal můžete ručně vyplnit všechny tyto parametry, vybrat dostupné názvy DNS nebo názvy účtů úložiště atd.
Testovací verze ale funguje automaticky bez zásahu člověka, takže podporuje pouze omezenou sadu kategorií parametrů. Pokud parametr v šabloně ARM testovací jednotky nepatří do jedné z podporovaných kategorií, musíte tento parametr nahradit proměnnou nebo konstantní hodnotou.
Pro parametry můžete použít libovolný platný název; Testovací jednotka rozpozná kategorii parametrů pomocí hodnoty typu metadat. Zadejte typ metadat pro každý parametr šablony, jinak vaše šablona neprojde ověřením:
"parameters": {
...
"username": {
"type": "string",
"metadata": {
"type": "username"
}
},
...
}
Poznámka:
Všechny parametry jsou volitelné, takže pokud nechcete používat žádné, nemusíte.
Typy metadat akceptovaných parametrů
Typ metadat | Typ parametru | Popis | Ukázková hodnota |
---|---|---|---|
baseuri | string | Základní identifikátor URI balíčku pro nasazení | https://<..>.blob.core.windows.net/<..> |
uživatelské jméno | string | Nové náhodné uživatelské jméno. | admin68876 |
heslo | zabezpečený řetězec | Nové náhodné heslo | Lp! ACS^2kh |
ID relace | string | Jedinečné ID relace testovací jednotky (GUID) | b8c8693e-5673-449c-badd-257a405a6dee |
baseuri
Testovací jednotka inicializuje tento parametr pomocí základního identifikátoru URI balíčku pro nasazení, abyste mohli tento parametr použít k vytvoření identifikátoru URI libovolného souboru, který je součástí balíčku.
Poznámka:
Parametr baseUri
nelze použít ve spojení s rozšířením vlastních skriptů.
"parameters": {
...
"baseuri": {
"type": "string",
"metadata": {
"type": "baseuri",
"description": "Base Uri of the deployment package."
}
},
...
}
Tento parametr v šabloně použijte k vytvoření identifikátoru URI libovolného souboru z balíčku nasazení testovací jednotky. Následující příklad ukazuje, jak vytvořit identifikátor URI propojené šablony:
"templateLink": {
"uri": "[concat(parameters('baseuri'),'templates/solution.json')]",
"contentVersion": "1.0.0.0"
}
username
Testovací verze inicializuje tento parametr s novým náhodným uživatelským jménem:
"parameters": {
...
"username": {
"type": "string",
"metadata": {
"type": "username",
"description": "Solution admin name."
}
},
...
}
Ukázková hodnota: admin68876
Pro vaše řešení můžete použít náhodná nebo konstantní uživatelská jména.
Heslo
Testovací jednotka inicializuje tento parametr novým náhodným heslem:
"parameters": {
...
"password": {
"type": "securestring",
"metadata": {
"type": "password",
"description": "Solution admin password."
}
},
...
}
Ukázková hodnota: Lp!ACS^2kh
Pro vaše řešení můžete použít náhodná nebo konstantní hesla.
ID relace
Testovací jednotka inicializuje tento parametr jedinečným identifikátorem GUID představujícím ID relace testovací jednotky:
"parameters": {
...
"sessionid": {
"type": "string",
"metadata": {
"type": "sessionid",
"description": "Unique test drive session id."
}
},
...
}
Ukázková hodnota: b8c8693e-5673-449c-badd-257a405a6dee
Tento parametr můžete použít k jednoznačné identifikaci relace testovací verze, pokud je to potřeba.
Jedinečné názvy
Některé prostředky Azure, jako jsou účty úložiště nebo názvy DNS, vyžadují globálně jedinečné názvy. To znamená, že pokaždé, když testovací verze nasadí šablonu ARM, vytvoří novou skupinu prostředků s jedinečným názvem pro všechny prostředky. Proto musíte použít funkci uniquestring zřetězenou s názvy proměnných u ID skupin prostředků k vygenerování náhodných jedinečných hodnot:
"variables": {
...
"domainNameLabel": "[concat('contosovm',uniquestring(resourceGroup().id))]",
"storageAccountName": "[concat('contosodisk',uniquestring(resourceGroup().id))]",
...
}
Ujistěte se, že zřetězení řetězců parametrů nebo proměnných (contosovm
) s jedinečným výstupem řetězce (resourceGroup().id
), protože to zaručuje jedinečnost a spolehlivost každé proměnné.
Například většina názvů prostředků nemůže začínat číslicí, ale jedinečná řetězcová funkce může vrátit řetězec, který začíná číslicí. Pokud tedy použijete nezpracovaný jedinečný výstup řetězce, nasazení selžou.
Další informace o pravidlech a omezeních pojmenování prostředků najdete v tématu Vývoj strategie pojmenování a označování prostředků Azure.
Umístění nasazení
Testovací verzi můžete zpřístupnit v různých oblastech Azure.
Když testovací verze vytvoří instanci testovacího prostředí, vždy vytvoří skupinu prostředků v jedné z vybraných oblastí a pak spustí šablonu nasazení v tomto kontextu skupiny. Šablona by proto měla vybrat umístění nasazení ze skupiny prostředků:
"variables": {
...
"location": "[resourceGroup().location]",
...
}
Pak toto umístění použijte pro každý prostředek pro konkrétní instanci testovacího prostředí:
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Network/publicIPAddresses",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Network/virtualNetworks",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Network/networkInterfaces",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"location": "[variables('location')]",
...
}
]
Ujistěte se, že vaše předplatné může nasadit všechny prostředky, které chcete mít v jednotlivých vybraných oblastech. Také se ujistěte, že jsou image virtuálních počítačů dostupné ve všech oblastech, které povolíte, jinak vaše šablona nasazení nebude v některých oblastech fungovat.
Výstupy
Obvykle se šablonami Resource Manageru můžete nasadit bez vytváření výstupu. Je to proto, že znáte všechny hodnoty, které používáte k naplnění parametrů šablony, a můžete vždy ručně zkontrolovat vlastnosti libovolného prostředku.
Pro šablony Resource Manageru testovacích jednotek je ale důležité vrátit se k otestování všech informací, které jsou potřeba k získání přístupu k testovacímu prostředí (identifikátory URI webu, názvy hostitelů virtuálních počítačů, uživatelská jména a hesla). Ujistěte se, že jsou všechny vaše výstupní názvy čitelné, protože tyto proměnné jsou prezentovány zákazníkovi.
Neexistují žádná omezení související s výstupy šablony. Testovací jednotka převede všechny výstupní hodnoty na řetězce, takže pokud do výstupu odešlete objekt, uživatel uvidí řetězec JSON.
Příklad:
"outputs": {
"Host Name": {
"type": "string",
"value": "[reference(variables('pubIpId')).dnsSettings.fqdn]"
},
"User Name": {
"type": "string",
"value": "[parameters('adminName')]"
},
"Password": {
"type": "string",
"value": "[parameters('adminPassword')]"
}
}
Limity předplatného
Nezapomeňte na limity předplatného a služeb. Pokud například chcete nasadit až deset 4jádrových virtuálních počítačů, musíte zajistit, aby předplatné, které používáte pro testovací prostředí, umožňovalo používat 40 jader. Další informace o omezeních předplatného a služeb Azure najdete v tématu Limity, kvóty a omezení předplatného a služeb Azure. Vzhledem k tomu, že několik testovacích jednotek je možné provést současně, ověřte, že vaše předplatné dokáže zpracovat počet jader vynásobený celkovým počtem souběžných testovacích jednotek, které je možné vzít.
Co nahrát
Šablona ARM testovací jednotky se nahraje jako soubor ZIP, který může obsahovat různé artefakty nasazení, ale musí mít jeden soubor s názvem main-template.json
. Toto je šablona nasazení ARM, kterou testovací verze používá k vytvoření instance testovacího prostředí. Pokud máte další prostředky nad rámec tohoto souboru, můžete na ně odkazovat jako na externí prostředky uvnitř šablony nebo je zahrnout do souboru ZIP.
Během certifikace publikování rozbalí testovací jednotka balíček nasazení a vloží jeho obsah do interního kontejneru objektů blob testovací jednotky. Struktura kontejneru odráží strukturu vašeho balíčku pro nasazení:
package.zip | Kontejner objektů blob testovací jednotky |
---|---|
main-template.json |
https:\//\<\...\>.blob.core.windows.net/\<\...\>/main-template.json |
templates/solution.json |
https:\//\<\...\>.blob.core.windows.net/\<\...\>/templates/solution.json |
scripts/warmup.ps1 |
https:\//\<\...\>.blob.core.windows.net/\<\...\>/scripts/warmup.ps1 |
Uri tohoto identifikátoru URI kontejneru objektů blob nazýváme základní identifikátor URI. Vzhledem k tomu, že každá revize testovacího prostředí má vlastní kontejner objektů blob, má každá revize testovacího prostředí svůj vlastní identifikátor URI base. Testovací verze může předat základní identifikátor URI vašeho rozbaleného balíčku nasazení do šablony prostřednictvím parametrů šablony.
Příklady šablon transformace pro testovací nasazení
Proces přeměny architektury prostředků na šablonu Resource Manageru testovací verze může být náročný. Další nápovědu najdete v těchto příkladech toho, jak nejlépe transformovat aktuální šablony nasazení na webu Co je testovací verze?
Podrobnosti o předplatném nasazení testovací verze
Poslední částí, která se dokončí, je automatické nasazení testovacích jednotek propojením předplatného Azure a ID Microsoft Entra.
Získejte ID předplatného Azure. Tím se udělí přístup ke službám Azure a webu Azure Portal. V předplatném se hlásí využití prostředků a služby se účtují. Pokud ještě nemáte samostatné předplatné Azure pro testovací verze, udělejte jedno. ID předplatného Azure (například
1a83645ac-1234-5ab6-6789-1h234g764ghty1
) najdete tak, že se přihlásíte k webu Azure Portal a vyberete Předplatná z levé navigační nabídky.Získejte ID tenanta Microsoft Entra. Pokud už máte k dispozici ID tenanta, můžete ho najít v ID adresáře vlastností>ID Microsoft Entra>:
Pokud nemáte ID tenanta, vytvořte v Microsoft Entra ID nový. Nápovědu k nastavení tenanta najdete v tématu Rychlý start: Nastavení tenanta.
Zřiďte aplikaci Microsoft Test-Drive pro vašeho tenanta. Tuto aplikaci použijeme k provádění operací s prostředky testovacích jednotek.
- Pokud ho ještě nemáte, nainstalujte modul Azure Az PowerShell.
- Přidejte instanční objekt pro aplikaci Microsoft Test-Drive.
Spusťte
Connect-AzAccount
a zadejte přihlašovací údaje pro přihlášení k vašemu účtu Azure, což vyžaduje nejméně privilegované role privilegovaného ID Microsoft Entra podle předdefinované role úloh.Vytvořte nový instanční objekt:
New-AzADServicePrincipal -ApplicationId d7e39695-0b24-441c-a140-047800a05ede -DisplayName 'Microsoft TestDrive'
.Ujistěte se, že se vytvořil instanční objekt:
Get-AzADServicePrincipal -DisplayName 'Microsoft TestDrive'
.
Pro ID aplikace Microsoft Entra vložte toto ID aplikace:
d7e39695-0b24-441c-a140-047800a05ede
.Pro klíč aplikace Microsoft Entra, protože není vyžadován žádný tajný kód, vložte fiktivní tajný kód, například "no-secret".
Vzhledem k tomu, že k nasazení do předplatného používáme aplikaci, musíme aplikaci přidat jako přispěvatele k předplatnému z webu Azure Portal nebo PowerShellu:
Na webu Azure Portal:
Vyberte předplatné, které se používá pro testovací jednotku.
Vyberte Řízení přístupu (IAM) .
Vyberte Přidat > přiřazení role.
Na kartě Role vyberte Přispěvatel.
Na kartě Členové vyberte Uživatel, skupina nebo instanční objekt a pak zvolte Vybrat členy.
Vyberte instanční objekt Microsoft TestDrive, který jste vytvořili dříve.
Na kartě Zkontrolovat a přiřadit vyberte možnost Zkontrolovat a přiřadit a přiřaďte roli.
Další informace o přiřazeních rolí najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.
Pokud používáte PowerShell:
- Spuštěním tohoto příkazu získejte servicePrincipal object-id:
(Get-AzADServicePrincipal -DisplayName 'Microsoft TestDrive').id
. - Spusťte tento příkaz s ID objektu a ID předplatného:
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName Contributor -Scope /subscriptions/<subscriptionId>
.
- Spuštěním tohoto příkazu získejte servicePrincipal object-id:
Poznámka:
Před odstraněním starého ID aplikace přejděte na web Azure Portal, pak na skupiny prostředků a vyhledejte CloudTry_
. Zkontrolujte událost iniciovanou sloupcem.
Neodstraňujte staré ID aplikace, pokud není nastavený alespoň jeden prostředek (název operace) na Microsoft TestDrive.
Pokud chcete id aplikace odstranit, v levé navigační nabídce vyberte Registrace aplikací Microsoft Entra ID>a pak kartu Všechny aplikace. Zvolte aplikaci a vyberte Odstranit.
Opětovné publikování
Teď, když jsou všechna pole testovacích jednotek hotová, znovu publikujte nabídku. Jakmile vaše testovací verze projde certifikací, otestujte prostředí zákazníků ve verzi Preview vaší nabídky:
Spusťte testovací jednotku v uživatelském rozhraní.
Otevřete své předplatné Azure na webu Azure Portal.
Ověřte, že se testovací jednotka správně nasazuje.
Neodstraňovat žádné instance testovacích jednotek zřízené pro vaše zákazníky; služba testovací verze tyto skupiny prostředků automaticky vyčistí, jakmile ji zákazník dokončí.
Jakmile budete s nabídkou Preview spokojení, je čas začít živě! Existuje konečný proces kontroly, který pečlivě zkontroluje celé ucelené prostředí. Pokud nabídku odmítneme, pošleme technickému kontaktu pro vaši nabídku e-mail s vysvětlením, co je potřeba opravit.
Související obsah
- Pokud jste postupovali podle pokynů k vytvoření nabídky v Partnerském centru, vraťte se k tomuto tématu pomocí šipky Zpět.
- Další informace o dalších typech testovacích jednotek najdete v tématu Co je testovací verze?