Windows Azure – csupload: setup & How to

Hallo @all,

[Update: You need this article in English? try bing translate: Link]

[Update18.10.2012:Azure Workshops Microsoft Cloud Event für Infrastructure as a Service: Dynamic Infrastructure Day ]

[Update 11.11.2012: HowTo: Create a Azure Management Machine (PowerShell & CSUPLOAD) ]

mit dem folgenden Blogpost beschreibe ich die Verwendung und das Einrichten von CSUPLOAD.

Warum & Wofür brauche ich eigentlich CSUPLOAD?

CSUPLOAD ermöglicht es auf den Blob-Storage von Windows Azure zuzugreifen. Bei der Verwendung von Windows Azure IaaS, also dem Virtuellen Maschine Hosting, kann man so neben den vordefinierten VHD-Dateien auch die eigenen VHDs hochladen und verwenden. Die VM und die VHD(s) werden somit vom Blob-Storage aus geladen ausgeführt.

Woher bekommt man CSUPLOAD?

CSUPLOAD ist Teil vom Windows Azure SDK. Nach der Installation aller Komponenten findet man csupload unter folgenden Pfad:
c:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\bin\csupload.exe

Wie funktioniert CSUPLOAD?

CSUPLOAD ist ein Kommando-Konsolen-Programm, dass die VHDs in den Blob-Storage Account hochlädt und sich zur Azure Cloud über Client-Zertifikate authentifiziert. Insgesamt ist es mit dem Visual Studio sehr einfache und schnelle möglich die entsprechenden Zertifikate zu erstellen und diese an die entsprechenden Stellen zu verteilen durch die Funktion “Publish to Azure” Das erfordert Entwickler-Know How bzw. man benötigt Erfahrungswerte mit dem Visual Studio.Wenn man Visual Studio nicht aus dem “FF” kennt oder es nicht zur Verfügung hat, dann verwendet man am besten gleich die folgende Anleitung: Smile

Voraussetzung:

Einen Windows Azure Account Smile. Ein Trial Account reicht anfangs aus. Dieser ist 90 Tage kostenlos und hat automatisch eine Kostensperre von 0 € gesetzt. Produziert ein Account mehr Traffic, Compute-Zeit, etc. als im Trial-Account Ressourcen zur Verfügung stehen, dann wird der Azure-Account deaktiviert und man kann die Kostensperre auf einen Definierten Wert hochsetzen. Bspw. 10 € Winking smile.

Jetzt zum Window Azure Trial Account

 

Welche Kommandos gibt es in CSUOLOAD? csupload get-help

image

Um die Kommandos mit Azure verwenden zu können, muss eine Connection mit einem Client-Zertifikat definiert werden.
Mit dem Befehl csuplaod get-connection kann man die Verbindung anzeigen,

image
Am Anfang ist noch keine Verbindung definiert, es gilt also eine Verbindung aufzubauen. Die Frage ist nur: Wie sieht der Connection String aus? *nicht nervös werden, noch ein paar Zeilen…. dann sehen wir es*

Mit csupload set-connection wird die Verbindung/Connection String erstellt oder überschrieben.

image

Mit csupload clear-connection wird die vorhandene Verbindungeinstellung gelöscht.

image

Machen wir weiter und erstellen die Verbindung:

CSUPLOAD arbeitet mit einer Client-Zertifikatsbasierten Authentifizierung. D.h. man benötigt als erstes ein Zertifikat. Ich beziehe mich hier auf den Blog Post von Avkash Chauhan: Link

Wir erstellen das Zertifikat mit makeCert.exe aus dem Windows SDK 7.1:

 makecert -r -pe -n "CN=Patrick Heyde Azure IaaS Cert2048" 
 -a sha1 -ss My -len 2048 -sy 24 -b 01/01/2012 -e 01/01/2018

clip_image002
Wichtig: makecert muss mit dem Parameter –pe erstellt werden

Das Zertifikat finden wir jetzt im Zertifikatsspeicher: man startet jetzt certmgr.msc um die Dateien auf Festplatte zu speichern.

image
Man öffnet das erstellte Zertifikat: “Patrick Heyde Azure IaaS Cert2048”. Im Tab “Details” verwendet man den Button “Copy To” um das Zertifikat auf Festplatte zu speichern: (hier reicht es aus nur die Public Keys des Zertifikate zu exportieren, DER codiert reicht aus.

imageimage

Ich habe das Zertifikat einmal mit und einmal ohne Private Keys auf meine Festplatte kopiert:

image

Wir melden uns auf dem Azure Portal (https://www.windowsazure.com) an und wollen jetzt das Zertifikat dort hinterlegen. Seit Juni 2012 hat sich die Benutzeroberfläche verändert und man muss in das “alte Portal wechseln”

imageimage

Im alten Portal navigiert man zu “Hosted Services, Storage Accounts & CDN” / Management Certificates
Oben in der Ribbon klickt man auf “Add Certificate”, wählt die Subscription aus und verwendet jetzt das Zertifikat mit der Endung .cer

image

Jetzt sollte das Zertifikat angezeigt werden:

image

Soweit so gut. Der Server weiß nun worauf der reagieren darf.

Jetzt bauen wir den csupload connection string zusammen: die Syntax lautet:

 csupload.exe set-connection "SubscriptionID=............;
CertificateThumbprint=.............;
ServiceManagementEndpoint=https://management.core.windows.net"

Wir ermitteln die Subscription ID und den Zertifikat-Fingerabdruck:

SubscriptionID:

image

Thumbprint / Fingerabdruck vom Zertifikat:

image

Final sollte es dann so aussehen:

csupload.exe set-connection "SubscriptionID=e3a.....95; CertificateThumbprint=cb........94; ServiceManagementEndpoint=https://management.core.windows.net"

image

Zum Schluß schauen wir uns die Verbindung mit CSUPLOAD get-connection an:

image

Um zu überprüfen ob jetzt alle funktioniert verwenden wir eines der Kommandos wie bspw:

GET-LOCATION

image

GET-HOSTEDSERVICE

image

GET-PersistentVMImage

image
Das ist die Default-Images und für die Zukunft möchte ich hier mein eigenes Image hochladen mit csupload.

GET-DISK

image

Get-AffinityGroup

image

Fertig Smile

Liebe Grüße

Patrick