En aquest tema, aprendrem com utilitzar PowerShell per gestionar recursos al núvol, centrant-nos principalment en Microsoft Azure. PowerShell proporciona cmdlets específics per interactuar amb serveis al núvol, permetent automatitzar tasques i gestionar recursos de manera eficient.
Objectius del Tema
- Entendre els conceptes bàsics de la gestió de recursos al núvol amb PowerShell.
- Aprendre a instal·lar i configurar els mòduls necessaris per treballar amb Azure.
- Gestionar recursos d'Azure com màquines virtuals, comptes d'emmagatzematge i xarxes virtuals.
- Automatitzar tasques comunes de gestió de recursos al núvol.
Conceptes Bàsics
Què és Azure PowerShell?
Azure PowerShell és un conjunt de mòduls que proporcionen cmdlets per gestionar recursos d'Azure directament des de la línia de comandes de PowerShell. Aquests cmdlets permeten realitzar operacions com la creació, configuració i eliminació de recursos d'Azure.
Instal·lació d'Azure PowerShell
Per començar a treballar amb Azure PowerShell, primer hem d'instal·lar el mòdul Az
. Aquest mòdul conté tots els cmdlets necessaris per gestionar recursos d'Azure.
Connexió a Azure
Després d'instal·lar el mòdul Az
, hem d'iniciar sessió al nostre compte d'Azure.
Gestió de Recursos d'Azure
Creació d'una Màquina Virtual
- Definir els paràmetres de la màquina virtual:
# Definir els paràmetres de la màquina virtual $resourceGroupName = "MyResourceGroup" $location = "EastUS" $vmName = "MyVM"
- Crear un grup de recursos:
- Crear una màquina virtual:
# Crear una màquina virtual New-AzVM -ResourceGroupName $resourceGroupName -Name $vmName -Location $location -VirtualNetworkName "MyVnet" -SubnetName "MySubnet" -SecurityGroupName "MyNSG" -PublicIpAddressName "MyPublicIP" -OpenPorts 80,3389
Gestió de Comptes d'Emmagatzematge
- Crear un compte d'emmagatzematge:
# Definir els paràmetres del compte d'emmagatzematge $storageAccountName = "mystorageaccount" $skuName = "Standard_LRS" # Crear un compte d'emmagatzematge New-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -Location $location -SkuName $skuName
- Obtenir la clau d'accés del compte d'emmagatzematge:
# Obtenir la clau d'accés del compte d'emmagatzematge $storageAccountKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName $storageAccountKey = $storageAccountKeys[0].Value
Gestió de Xarxes Virtuals
- Crear una xarxa virtual:
# Definir els paràmetres de la xarxa virtual $vnetName = "MyVnet" $subnetName = "MySubnet" $addressPrefix = "10.0.0.0/16" $subnetPrefix = "10.0.0.0/24" # Crear una xarxa virtual $vnet = New-AzVirtualNetwork -ResourceGroupName $resourceGroupName -Location $location -Name $vnetName -AddressPrefix $addressPrefix # Afegir una subxarxa a la xarxa virtual Add-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix $subnetPrefix -VirtualNetwork $vnet # Aplicar els canvis $vnet | Set-AzVirtualNetwork
Exercicis Pràctics
Exercici 1: Crear i Gestionar una Màquina Virtual
- Crea un grup de recursos anomenat
TestResourceGroup
a la regióWestEurope
. - Crea una màquina virtual anomenada
TestVM
dins del grup de recursosTestResourceGroup
. - Obté la informació de la màquina virtual
TestVM
.
Solució
# Crear un grup de recursos New-AzResourceGroup -Name "TestResourceGroup" -Location "WestEurope" # Crear una màquina virtual New-AzVM -ResourceGroupName "TestResourceGroup" -Name "TestVM" -Location "WestEurope" -VirtualNetworkName "TestVnet" -SubnetName "TestSubnet" -SecurityGroupName "TestNSG" -PublicIpAddressName "TestPublicIP" -OpenPorts 80,3389 # Obtenir la informació de la màquina virtual Get-AzVM -ResourceGroupName "TestResourceGroup" -Name "TestVM"
Exercici 2: Crear i Gestionar un Compte d'Emmagatzematge
- Crea un compte d'emmagatzematge anomenat
teststorageaccount
dins del grup de recursosTestResourceGroup
. - Obté la clau d'accés del compte d'emmagatzematge
teststorageaccount
.
Solució
# Crear un compte d'emmagatzematge New-AzStorageAccount -ResourceGroupName "TestResourceGroup" -Name "teststorageaccount" -Location "WestEurope" -SkuName "Standard_LRS" # Obtenir la clau d'accés del compte d'emmagatzematge $storageAccountKeys = Get-AzStorageAccountKey -ResourceGroupName "TestResourceGroup" -Name "teststorageaccount" $storageAccountKey = $storageAccountKeys[0].Value
Resum
En aquest tema, hem après com utilitzar PowerShell per gestionar recursos al núvol, centrant-nos en Microsoft Azure. Hem vist com instal·lar i configurar els mòduls necessaris, connectar-nos a Azure, i gestionar recursos com màquines virtuals, comptes d'emmagatzematge i xarxes virtuals. A més, hem practicat amb exercicis pràctics per reforçar els conceptes apresos. En el proper tema, explorarem com utilitzar PowerShell amb Docker per gestionar contenidors.
Curs de PowerShell
Mòdul 1: Introducció a PowerShell
- Què és PowerShell?
- Instal·lació i Configuració de PowerShell
- Consola i ISE de PowerShell
- Comandes i Sintaxi Bàsiques
- Sistema d'Ajuda en PowerShell
Mòdul 2: Scripting Bàsic
- Variables i Tipus de Dades
- Operadors en PowerShell
- Sentències Condicionals
- Bucles en PowerShell
- Funcions i Scripts
Mòdul 3: Treballant amb Objectes
- Comprensió dels Objectes
- Propietats i Mètodes dels Objectes
- Pipelines i Manipulació d'Objectes
- Filtratge i Selecció d'Objectes
- Ordenació i Agrupació d'Objectes
Mòdul 4: Tècniques Avançades de Scripting
- Gestió d'Errors
- Depuració de Scripts
- Expressions Regulars
- Treballant amb Fitxers i Directoris
- Ús de Mòduls i Snap-ins
Mòdul 5: Automatització i Programació de Tasques
- Introducció a l'Automatització
- Creació de Tasques Programades
- Ús de PowerShell per a l'Administració del Sistema
- Automatització de Tasques d'Active Directory
- Automatització de Tasques de Xarxa
Mòdul 6: Remotització amb PowerShell
- Introducció a la Remotització
- Configuració de la Remotització
- Ús d'Invoke-Command
- Gestió de Sessions
- Consideracions de Seguretat
Mòdul 7: Funcions Avançades de PowerShell
- Perfils de PowerShell
- Personalització de l'Entorn de PowerShell
- Creació i Ús de Classes
- Treballant amb XML i JSON
- Ús de PowerShell amb REST APIs
Mòdul 8: PowerShell i DevOps
- Introducció a DevOps
- Ús de PowerShell amb Pipelines CI/CD
- Infraestructura com a Codi (IaC)
- Gestió de Recursos al Núvol amb PowerShell
- PowerShell i Docker