Wenn innerhalb von 20 Minuten 200 Teilnehmer den Raum füllen, ist das schon beeindruckend und als Referent freut mich sich natürlich sehr, dass sich so viele für das eigene Thema interessieren. Mit dem Vortrag “Das eigene Test Lab, für jeden!” habe ich in 45 Minuten gezeigt, wie man ein Test Lab in Windows Azure aufbaut und es per eigenem VPN-Tunnel vom Arbeitsplatz aus verwenden kann.
In der nächsten Woche werde ich die einzelnen Schritte noch einmal separat in Wort und Bild fassen, damit Sie den Aufbau noch einmal in Ruhe nachvollziehen können. Die Materialien werden ich dann ebenfalls in diesem Blog veröffentlichen.
Insgesamt war die TechNet Conference 2013 in Berlin für mich sehr interessant, auch Dank der vielen Gespräche!
Download der Präsentation: PDF, XPS und PPT
Falls Sie Hilfestellung benötigen, wie man einen kostenlosen Testzugang für Windows Azure erhält oder wie man virtuelle Maschinen in Windows Azure erstellt, kann ich Ihnen die beiden folgenden kurzen Video-Tutorials empfehlen.
Tutorial - Registrierung für die kostenfreie Windows Azure Trial
Tutorial - Erstellen einer VM in Windows Azure
PowerShell-Skript
Ich wurde auch gefragt, das PowerShell-Skript zu veröffentlichen, welches ich im Vortrag gezeigt habe, was ich an dieser Stelle auch gerne mache. Bitte beachten Sie, dass dieses Skript weder eine Fehlerprüfung durchführt noch überprüft, ob bestimmte Dienste bereits angelegt worden sind.
1: ### Settings ###
2: ################
3:
4: # Infrastructure
5: $SubscriptionName = "SubscriptionName"
6: $AffinityGroupName = "TestLabSP"
7: $VNetName = "VNet Test Lab"
8: $AdminUsername = "adm_name"
9: $AdminPassword = "MeinPasswort!"
10:
11: # Pre-configured images
12: $ImageNameWS2012R2 = "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201310.01-en.us-127GB.vhd"
13: $ImageNameSQLServer = "fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012SP1-CU5-11.0.3373.0-Enterprise-ENU-Win2012-CY13SU10"
14: $ImageNameSPServer = "c6e0f177abd8496e934234bd27f46c5d__SharePoint-2013-Trial-9-18-2013"
15:
16: # Select the Windows Azure Subscription in which we will create the test lab.
17: Write-Host "Select subscription" $SubscriptionName
18: Select-AzureSubscription -SubscriptionName $SubscriptionName
19:
20: # Create a new affinity group for the test lab.
21: New-AzureAffinityGroup -Location "North Europe" -Name $AffinityGroupName -Description "Affinity Group for Test Lab" -Label "TestLab SharePoint in North Europe"
22:
23: # Create a new storage account. #
24: #################################
25: # Attention: the storage account name has to be unique.
26: New-AzureStorageAccount -AffinityGroup $AffinityGroupName -StorageAccountName testlabsp -Description "Storage Account for Test Lab" `
27: -Label "TestLab SharePoint in North Europe"
28: Set-AzureStorageAccount -StorageAccountName testlabsp -GeoReplicationEnabled $false
29: # Create container for VHDs.
30: $StorageAccountKey = Get-AzureStorageKey -StorageAccountName testlabsp
31: New-AzureStorageContext -StorageAccountKey $StorageAccountKey.Primary -StorageAccountName testlabsp | `
32: New-AzureStorageContainer -Name vhds -Permission Off
33: # New-AzureVM needs the CurrentStorageAccountName to be set.
34: Set-AzureSubscription -SubscriptionName $SubscriptionName -CurrentStorageAccountName testlabsp
35:
36: # Create virtual network. #
37: ###########################
38: # Currrently it is only possible to export and import network configurations via code.
39: Set-AzureVNetConfig -ConfigurationPath "C:\Users\pkirch\Desktop\NetworkConfig.xml"
40:
41: # Create Cloud Services #
42: #########################
43: New-AzureService -AffinityGroup $AffinityGroupName -ServiceName testlab-dc -Description "Domain controllers for the Test Lab" -Label "Test Lab - DCs"
44: New-AzureService -AffinityGroup $AffinityGroupName -ServiceName testlab-sql -Description "SQL servers for the Test Lab" -Label "Test Lab - SQL"
45: New-AzureService -AffinityGroup $AffinityGroupName -ServiceName testlab-sp -Description "SharePoint servers for the Test Lab" -Label "Test Lab - SharePoint"
46:
47: # Create VMs #
48: ##############
49:
50: # Create DC.
51: New-AzureVMConfig -ImageName $ImageNameWS2012R2 `
52: -InstanceSize Small -Name dc1 -AvailabilitySetName DC -Label "Test Lab - Domain Controller 1" `
53: -MediaLocation "https://testlabsp.blob.core.windows.net/vhds/dc1.vhd" |
54: Add-AzureProvisioningConfig -AdminUsername $AdminUsername -Windows -Password $AdminPassword |
55: Set-AzureSubnet -SubnetNames DC |
56: New-AzureVM -ServiceName testlab-dc -VNetName $VNetName -WaitForBoot
57:
58: # Install DC on the server.
59:
60: # Credentials for remote session.
61: $secpasswd = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
62: $credentialDC1 = New-Object System.Management.Automation.PSCredential ($AdminUsername, $secpasswd)
63:
64: $EndpointDC = Get-AzureWinRMUri -ServiceName testlab-dc -Name dc1
65: #$EndpointDC = Get-AzureVM -ServiceName testlab-dc -Name dc1 | Get-AzureEndpoint -Name WinRmHTTPs
66:
67: $psso = New-PSSessionOption -SkipCACheck
68: $sessionDC = New-PSSession -ComputerName testlab-dc.cloudapp.net -Port $EndpointDC.Port -Credential $credentialDC1 -UseSSL -SessionOption $psso
69:
70: Invoke-Command -Session $sessionDC -ScriptBlock {
71:
72: Import-Module ServerManager
73: Add-WindowsFeature AD-Domain-Services # -restart
74:
75: # Save secure string with password.
76: $securePassword = ConvertTo-SecureString -String "MeinPasswort!" -AsPlainText -Force
77:
78:
79: #
80: # Windows PowerShell script for AD DS Deployment
81: #
82:
83: Import-Module ADDSDeployment
84: Install-ADDSForest `
85: -CreateDnsDelegation:$false `
86: -DatabasePath "C:\Windows\NTDS" `
87: -DomainMode "Win2012R2" `
88: -DomainName "testlab-dc.cloudapp.net" `
89: -DomainNetbiosName "TESTLAB" `
90: -ForestMode "Win2012R2" `
91: -InstallDns:$true `
92: -LogPath "C:\Windows\NTDS" `
93: -NoRebootOnCompletion:$false `
94: -SysvolPath "C:\Windows\SYSVOL" `
95: -Force:$true `
96: -SafeModeAdministratorPassword:$securePassword
97:
98: }
99:
100: Remove-PSSession -Session $sessionDC
101:
102:
103: # Create domain joined SQL server.
104: New-AzureVMConfig -ImageName $ImageNameSQLServer `
105: -InstanceSize Large -Name sql1 -AvailabilitySetName SQL -Label "Test Lab - SQL Server 1" `
106: -MediaLocation https://testlabsp.blob.core.windows.net/vhds/sql1.vhd |
107: Add-AzureProvisioningConfig -AdminUsername $AdminUsername -Domain testlab -DomainPassword $AdminPassword -DomainUserName adm_pk `
108: -JoinDomain testlab-dc.cloudapp.net -WindowsDomain -Password $AdminPassword |
109: Set-AzureSubnet -SubnetNames SQL |
110: New-AzureVM -ServiceName testlab-sql -VNetName $VNetName
111:
112: # Create domain joined SharePoint Server.
113: New-AzureVMConfig -ImageName $ImageNameSPServer `
114: -InstanceSize Large -Name sp1 -AvailabilitySetName SP -Label "Test Lab - SharePoint Server 1" `
115: -MediaLocation https://testlabsp.blob.core.windows.net/vhds/sp1.vhd |
116: Add-AzureProvisioningConfig -AdminUsername $AdminUsername -Windows -Password $AdminPassword |
117: Set-AzureSubnet -SubnetNames SharePoint |
118: New-AzureVM -ServiceName testlab-sp -VNetName $VNetName -WaitForBoot
119:
120: ### Create testing VM. ###
121: # Create a new storage account.
122: # Attention: the storage account name has to be unique.
123: New-AzureStorageAccount -Location "West Europe" -StorageAccountName testlabclient `
124: -Description "Storage Account for Test Lab Client" -Label "TestLab Client in West Europe"
125: Set-AzureStorageAccount -StorageAccountName testlabclient -GeoReplicationEnabled $false
126: # Create container for VHDs.
127: $StorageAccountKey = Get-AzureStorageKey -StorageAccountName testlabclient
128: New-AzureStorageContext -StorageAccountKey $StorageAccountKey.Primary -StorageAccountName testlabclient |
129: New-AzureStorageContainer -Name vhds -Permission Off
130:
131: Set-AzureSubscription -SubscriptionName $SubscriptionName -CurrentStorageAccountName testlabclient
132:
133: New-AzureVMConfig -ImageName $ImageNameWS2012R2 `
134: -InstanceSize Medium -Name testvm -Label "Test Lab - Work VM" `
135: -MediaLocation "https://testlabclient.blob.core.windows.net/vhds/testlabclient.vhd" |
136: Add-AzureProvisioningConfig -AdminUsername $AdminUsername -Windows -Password $AdminPassword |
137: New-AzureVM -ServiceName testlab-client -Location "West Europe"
Und hier noch ein paar Impressionen!
Unser Cloud OS – Ask the Expert-Stand:
20 Minuten vor meinem Vortrag. Ein leerer Saal, der sich glücklicherweise gut füllte!
Und passend zum Thema Cloud: ein wunderbarer Ausblick auf die Wolkendecke während des Rückflugs von Berlin nach München.