Szybki start: tworzenie i wdrażanie stosu wdrożenia przy użyciu Bicep
W tym przewodniku Szybki start opisano sposób tworzenia stosu wdrożenia.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Program Azure PowerShell w wersji 12.0.0 lub nowszej lub interfejsu wiersza polecenia platformy Azure w wersji 2.61.0 lub nowszej.
- Program Visual Studio Code z rozszerzeniem Bicep.
Tworzenie pliku Bicep
Utwórz plik Bicep, aby utworzyć konto magazynu i sieć wirtualną.
param resourceGroupLocation string = resourceGroup().location
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param vnetName string = 'vnet${uniqueString(resourceGroup().id)}'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageAccountName
location: resourceGroupLocation
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: vnetName
location: resourceGroupLocation
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
Zapisz plik Bicep jako main.bicep.
Tworzenie stosu wdrożenia
W tym przewodniku Szybki start utworzysz stos wdrożenia w zakresie grupy zasobów. Możesz również utworzyć stos wdrożenia w zakresie subskrypcji lub w zakresie grupy zarządzania. Aby uzyskać więcej informacji, zobacz Tworzenie stosów wdrażania.
az group create \
--name 'demoRg' \
--location 'centralus'
az stack group create \
--name demoStack \
--resource-group 'demoRg' \
--template-file './main.bicep' \
--action-on-unmanage 'detachAll' \
--deny-settings-mode 'none'
Aby uzyskać więcej informacji o systemach action-on-unmanage
i deny-setting-mode
, zobacz Deployment stacks (Stosy wdrażania).
Weryfikowanie wdrożenia
Aby wyświetlić listę wdrożonych stosów wdrożenia na poziomie grupy zasobów:
az stack group show \
--resource-group 'demoRg' \
--name 'demoStack'
Dane wyjściowe zawierają dwa zarządzane zasoby — jedno konto magazynu i jedną sieć wirtualną:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-24051714epybc",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT32.5330364S",
"error": null,
"failedResources": [],
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-05-17T14:50:18.382948+00:00",
"createdBy": "johndoe@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-17T14:50:18.382948+00:00",
"lastModifiedBy": "johndoe@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Możesz również zweryfikować wdrożenie, wyświetlając listę zasobów zarządzanych w stosie wdrożenia:
az stack group show \
--name 'demoStack' \
--resource-group 'demoRg' \
--output 'json'
Dane wyjściowe są podobne do następujących:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-24051714epybc",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT32.5330364S",
"error": null,
"failedResources": [],
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-05-17T14:50:18.382948+00:00",
"createdBy": "johndoe@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-17T14:50:18.382948+00:00",
"lastModifiedBy": "johndoe@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Po utworzeniu stosu można uzyskiwać dostęp do samego stosu i wyświetlać skojarzone z nim zasoby zarządzane za pośrednictwem witryny Azure Portal. Przejdź do grupy zasobów, w której wdrożono stos, i możesz uzyskać dostęp do wszystkich odpowiednich informacji i ustawień.
Aktualizowanie stosu wdrożenia
Aby zaktualizować stos wdrożenia, możesz zmodyfikować źródłowy plik Bicep i ponownie uruchomić polecenie tworzenia stosu wdrożenia.
Edytuj plik main.bicep , aby zmienić nazwę jednostki SKU na Standard_GRS
z Standard_LRS
:
Uruchom następujące polecenie:
az stack group create \
--name 'demoStack' \
--resource-group 'demoRg' \
--template-file './main.bicep' \
--action-on-unmanage 'detachAll' \
--deny-settings-mode 'none'
W witrynie Azure Portal sprawdź właściwości konta magazynu, aby potwierdzić zmianę.
Przy użyciu tej samej metody można dodać zasób do stosu wdrożenia lub usunąć zasób zarządzany ze stosu wdrożenia. Aby uzyskać więcej informacji, zobacz Dodawanie zasobów do stosu wdrożenia i Usuwanie zarządzanych zasobów ze stosu wdrożenia.
Usuwanie stosu wdrożenia
Aby usunąć stos wdrożenia i zarządzane zasoby:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--action-on-unmanage 'deleteAll'
Aby usunąć stos wdrożenia, ale zachować zarządzane zasoby:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--action-on-unmanage 'detachAll'
Aby uzyskać więcej informacji, zobacz Usuwanie stosów wdrożeń.
Polecenie remove usuwa wyłącznie zarządzane zasoby i zarządzane grupy zasobów. Nadal ponosisz odpowiedzialność za usunięcie grup zasobów, które nie są zarządzane przez stos wdrożenia.
Czyszczenie zasobów
Usuń niezarządzaną grupę zasobów.
az group delete \
--name 'demoRg'