Creación de grupos de recursos mediante Bicep
Puede usar Bicep para crear un nuevo grupo de recursos. En este artículo, se muestra cómo crear grupos de recursos al realizar implementaciones en la suscripción u otro grupo de recursos.
Definir grupo de recursos
Para crear un grupo de recursos con Bicep, defina un recurso Microsoft.Resources/resourceGroups con un nombre y una ubicación para el grupo de recursos.
En el ejemplo siguiente, se muestra un archivo de Bicep que crea un grupo de recursos vacío. Observe que su ámbito de destino es subscription
.
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-03-01' = {
name: resourceGroupName
location: resourceGroupLocation
}
Para implementar el archivo de Bicep en una suscripción, use los comandos de implementación de nivel de suscripción.
Para la CLI de Azure, use az deployment sub create.
az deployment sub create \
--name demoSubDeployment \
--location centralus \
--template-file resourceGroup.bicep \
--parameters resourceGroupName=demoResourceGroup resourceGroupLocation=centralus
Para el comando de implementación de PowerShell, use New-AzDeployment o su alias New-AzSubscriptionDeployment
.
New-AzSubscriptionDeployment `
-Name demoSubDeployment `
-Location centralus `
-TemplateFile resourceGroup.bicep `
-resourceGroupName demoResourceGroup `
-resourceGroupLocation centralus
Creación del grupo de recursos y los recursos
Para crear el grupo de recursos e implementar recursos en él, agregue un módulo que defina los recursos que se van a implementar en el grupo de recursos. Establezca el ámbito del módulo en el nombre simbólico del grupo de recursos que cree. Puede implementar en hasta 800 grupos de recursos.
En el ejemplo siguiente, se muestra un archivo de Bicep que crea un grupo de recursos y se implementa una cuenta de almacenamiento en el grupo de recursos. Observe que la propiedad scope
del módulo está establecida en newRG
, que es el nombre simbólico del grupo de recursos que se está creando.
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
param storageName string
param storageLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-03-01' = {
name: resourceGroupName
location: resourceGroupLocation
}
module storageAcct 'storage.bicep' = {
name: 'storageModule'
scope: newRG
params: {
storageLocation: storageLocation
storageName: storageName
}
}
El módulo usa un archivo de Bicep denominado storage.bicep con el contenido siguiente:
param storageLocation string
param storageName string
resource storageAcct 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageName
location: storageLocation
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
properties: {}
}
Creación de un grupo de recursos durante la implementación del grupo de recursos
También puede crear un grupo de recursos durante una implementación de nivel de grupo de recursos. En ese escenario, usted realiza la implementación en un grupo de recursos existente y cambia al nivel de una suscripción para crear un grupo de recursos. El siguiente archivo de Bicep crea un nuevo grupo de recursos en la suscripción especificada. El módulo que crea el grupo de recursos es el mismo que el ejemplo que crea el grupo de recursos.
param secondResourceGroup string
param secondSubscriptionID string = ''
param secondLocation string
// module deployed at subscription level
module newRG 'resourceGroup.bicep' = {
name: 'newResourceGroup'
scope: subscription(secondSubscriptionID)
params: {
resourceGroupName: secondResourceGroup
resourceGroupLocation: secondLocation
}
}
Para implementar en un grupo de recursos, use los comandos de implementación de grupos de recursos.
Para la CLI de Azure, use az deployment group create.
az deployment group create \
--name demoRGDeployment \
--resource-group ExampleGroup \
--template-file main.bicep \
--parameters secondResourceGroup=newRG secondSubscriptionID={sub-id} secondLocation=westus
Para el comando de implementación de PowerShell, use New-AzResourceGroupDeployment.
New-AzResourceGroupDeployment `
-Name demoRGDeployment `
-ResourceGroupName ExampleGroup `
-TemplateFile main.bicep `
-secondResourceGroup newRG `
-secondSubscriptionID {sub-id} `
-secondLocation westus
Pasos siguientes
Para obtener más información sobre otros ámbitos, consulte: