Rückblick TechNet Conference 2013 - Das eigene Test Lab in der Cloud!

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:

Ein noch leerer Stand mit dem Plakat "Microsoft Cloud OS - Ask the Experts"

20 Minuten vor meinem Vortrag. Ein leerer Saal, der sich glücklicherweise gut füllte!

Ein großer leerer Saal mit vielen Stuhlreihen.

Und passend zum Thema Cloud: ein wunderbarer Ausblick auf die Wolkendecke während des Rückflugs von Berlin nach München.

Blick auf eine wunderschöne Wolkendecke bei herlichem Sonnenschein.