Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Ma VM Azure contre le storage fantôme

Poster un commentaire

Je viens de tester un script similaire à celui-ci afin de créer une VM Azure:

$familyName= »Windows Server 2012 R2 Datacenter »
$size= »Small »
$vmName= »AmethysteVM »
$serviceName= »serviceAmethyste »
$location = »West Europe »
$user= »admin489″
$pwd= »azerty@12345″

$imageName = get-azurevmimage | where {$_.ImageFamily -eq $familyName}| sort PublishedDate -Descending|select -ExpandProperty ImageName -First 1

new-azurevmconfig -Name $vmName -InstanceSize $size -ImageName $imageName |
 Add-AzureProvisioningConfig -Windows -AdminUsername $user -Password $pwd |
 New-AzureVM -ServiceName $serviceName -Location $location

Et j’ai la surprise de voir apparaître le message suivant:

New-AzureVM : CurrentStorageAccountName is not accessible. Ensure the current storage account is accessible and in the same location or affinity group as your cloud service.
Au caractère Ligne:19 : 2
+  New-AzureVM -ServiceName $serviceName -Location $location
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError : (:) [New-AzureVM], ArgumentException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.PersistentVMs.NewAzureVMCommand

Pas très clair. J’active le mode verbeux:

$DebugPreference = »Continue »

Et recommence. Cette fois je lis ceci:

2015-03-31_22-57-43

L’uri:

https://management.core.windows.net/e3d8e…16d/services/storageservices/demoapimanagement

Recherche le compte de stockage demoapimanagement dans mon abonnement et ne le trouve pas, ce que confirme la commande:

get-azurestorageaccount | select -ExpandProperty StorageaccountName

Ce storage est en fait un ancien compte/cloud service que j’ai supprimé il y a quelques temps déjà. Mais pourquoi ressurgit t’il comme ça?

Un appel à Get-AzureSubscription donne ceci:

2015-04-01_10-10-16

Voilà d’où sort demoapimanagement.

La suite est claire, soit on doit affecter un nouveau compte de stockage par défaut. On peut obtenir la liste des storages existants avec Get-AzureStorageAccount.

2015-04-01_10-15-21

On a besoin du StorageAccountName (pas Label à cause des majuscules ce qui est interdit), on vérifie également que la Location ou le groupe d’affinité soient compatibles avec celle où l’on souhaite déployer la VM (West Europe dans mon exemple) et on lance:

Set-AzureSubscription -SubscriptionName « Visual Studio Premium with MSDN » -CurrentStorageAccountName « demordpstorage » -PassThru

Et tout rentre dans l’ordre.

 

Profitons en pour commenter un peu ces commandes.

New-AzureVmConfig permet de créer la configuration de la VM. Add-AzureProvisionningConfig ajoute la configuration à la VM. Azure propose 3 types de VM:

  1. Windows
  2. Windows rattachée à un domaine
  3. Linux

New-AzureVM bien entendu construit la VM dans le cloud service proposé.

On peut ajouter une VM dans le service:

new-azurevmconfig -Name $vmName -InstanceSize $size -ImageName $imageName |
 Add-AzureProvisioningConfig -Windows -AdminUsername $user -Password $pwd |
 New-AzureVM -ServiceName $serviceName 

La syntaxe est la même, mais on ne spécifie que le nom du service. La preuve en image:

2015-04-01_22-39-53

On pourrait également compléter la configuration de nos VM, par exemple avec un nouveau point de terminaison:

Get-AzureVM -Name $vmName -ServiceName $serviceName | Add-AzureEndpoint -Name « sql » -Protocol tcp -PublicPort 1433 -LocalPort 1433 | Update-AzureVM

On ajoute le point de terminaison à la VM $vmName.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s