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:
Voraussetzung:
Einen Windows Azure Account . 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 € .
Jetzt zum Window Azure Trial Account
Welche Kommandos gibt es in CSUOLOAD? csupload get-help
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,
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.
Mit csupload clear-connection wird die vorhandene Verbindungeinstellung gelöscht.
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
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.
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.
Ich habe das Zertifikat einmal mit und einmal ohne Private Keys auf meine Festplatte kopiert:
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”
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
Jetzt sollte das Zertifikat angezeigt werden:
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:
Thumbprint / Fingerabdruck vom Zertifikat:
Final sollte es dann so aussehen:
csupload.exe set-connection "SubscriptionID=e3a.....95; CertificateThumbprint=cb........94; ServiceManagementEndpoint=https://management.core.windows.net"
Zum Schluß schauen wir uns die Verbindung mit CSUPLOAD get-connection an:
Um zu überprüfen ob jetzt alle funktioniert verwenden wir eines der Kommandos wie bspw:
GET-LOCATION
GET-HOSTEDSERVICE
GET-PersistentVMImage
Das ist die Default-Images und für die Zukunft möchte ich hier mein eigenes Image hochladen mit csupload.
GET-DISK
Get-AffinityGroup
Fertig
Liebe Grüße
Patrick
Comments
Anonymous
May 05, 2013
Thanks! 2 day of digging before I found your article. Thanks!!!!Anonymous
December 29, 2013
Pingback from How to Setup/Einrichten einer Azure Management Machine : Windows Server Customer Engineering (Customer Advisory Team) : The Official Microsoft IIS SiteAnonymous
December 29, 2013
Hallo@all, die folgende Anleitung erklärt wie man sich als Cloud-Administrator eine Arbeitsumgebung zusammenstelltAnonymous
December 29, 2013
Pingback from How to Setup/Einrichten einer Azure Management Machine - Windows Virtualization Team Blog - TechNetKlubAnonymous
December 29, 2013
Pingback from How to Setup/Einrichten einer Azure Management Machine - Exchange Team Blog - TechNetKlubAnonymous
December 29, 2013
Pingback from How to Setup/Einrichten einer Azure Management Machine - Windows Server Division weblog - TechNetKlubAnonymous
December 29, 2013
Pingback from How to Setup/Einrichten einer Azure Management Machine - System Center Team Blog - TechNetKlubAnonymous
December 29, 2013
Pingback from How to Setup/Einrichten einer Azure Management Machine - Forefront TMG Team Blog - TechNetKlub