Obsługa wielu wdrożeń platformy Azure przy użyciu tagów szablonów i plików parametrów usługi Azure Resource Manager
Istnieją dwie funkcje szablonów usługi Azure Resource Manager (ARM), których chcesz użyć podczas wdrażania w więcej niż jednym środowisku platformy Azure. Te funkcje to tagi zasobów i pliki parametrów szablonu ARM .
W miarę dodawania kolejnych zasobów do środowisk szybko okaże się, że potrzebujesz sposobu identyfikowania przeznaczenia tych zasobów. W tym celu zasoby mają atrybut tags:
. Podczas wdrażania w kolejnych środowiskach potrzebny jest wydajny sposób śledzenia parametrów wejściowych. Szablony usługi ARM mogą używać plików parametrów do zarządzania parametrami dla każdego środowiska wdrażania.
Co to jest tag zasobu platformy Azure?
Możesz tagować zasoby, aby dodać wartości, które ułatwiają identyfikowanie ich użycia. Możesz na przykład dodać tagi, które wyświetlają listę środowiska i projektu, do którego należy zasób. Możesz też dodać tagi identyfikujące centrum kosztów lub zespół, który jest właścicielem zasobu. Dodaj wszelkie wartości, które mają sens dla organizacji.
Wartość tagu jest wyświetlana na stronie przeglądu zasobu platformy Azure i w raportach kosztów.
Jak utworzyć tag zasobu platformy Azure?
Każdy zasób ma atrybut tags:
. Do tej pory używasz tagu domyślnego displayName
dla konta magazynowego.
"tags": {
"displayName": "[parameters('storageName')]"
},
Aby zwiększyć użyteczność tego atrybutu, można zdefiniować parametr zawierający więcej informacji, a następnie użyć tego parametru w tags:
atrybutu. Można na przykład utworzyć parametr do przechowywania obiektu o nazwie resourceTags
:
"resourceTags": {
"type": "object",
"defaultValue": {
"Environment": "Dev",
"Project": "Inventory"
}
}
W tym miejscu utworzono obiekt do przechowywania wartości nazwy środowiska i nazwy projektu, ale można zdefiniować dowolne elementy.
Następnie możesz użyć tego parametru dla dowolnego zasobu, który jest przeznaczony dla środowiska deweloperskiego i projektu Inventory; na przykład konto magazynu.
"resources": [{
"name": "[variables('uniqueStorageName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"tags": "[parameters('resourceTags')]",
...
}],
Co to jest plik parametrów szablonu ARM?
Plik parametrów szablonu usługi ARM zawiera wartości przekazywane do szablonu usługi ARM podczas wykonywania szablonu. Korzystając z pliku parametrów dla każdego środowiska, w którym wdrożono szablon usługi ARM, upewnij się, że poprawne parametry są ustawione dla tego konkretnego środowiska. Upewnij się również, że można śledzić historię i konserwację tych wartości parametrów w kontroli źródła.
Jak korzystać z plików parametrów szablonu ARM?
Pliki parametrów szablonu usługi ARM to pliki JSON, które przechowują wartości parametrów. Na przykład w przypadku parametrów używanych do tej pory w szablonie usługi ARM można utworzyć plik parametrów szablonu w następujący sposób:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": "storage"
},
"storageSKU": {
"value": "Standard_LRS"
},
"resourceTags": {
"value": {
"Environment": "Dev",
"Project": "Learn"
}
}
}
}
Następnie można utworzyć plik podobny do tego pliku dla każdego środowiska. Na przykład te pliki mogą się nazywać azuredeploy.parameters.dev.json i azuredeploy.parameters.prod.jsonoraz przechowywać różne wartości dla parametrów.
Aby wdrożyć szablon usługi ARM przy użyciu pliku parametrów, określ ścieżkę do pliku parametrów w poleceniu wdrożenia. W Azure CLI używasz --parameters {path to parameter file}
. W programie PowerShell użyjesz -TemplateParameterFile {path to parameter file}
.
templateFile="{path-to-the-template-file}"
devParameterFile="{path-to-azuredeploy.parameters.dev.json}"
az group create \
--name myResourceGroupDev \
--location "East US"
az deployment group create \
--name devenvironment \
--resource-group myResourceGroupDev \
--template-file $templateFile \
--parameters $devParameterFile