Nullsession.com

Sometimes IT works!

TechDays 2014 – Sessionsmaterial

Här kommer som utlovat (dock senare än sagt) sessionsmaterialet från min Azure-session på Techdays 2014. Jag skyller min sena postning på att jag faktiskt ramlade av scenen…

I filen hittar du ppt-presentationen. Du hittar även 4 XLM-filer för nätverkskonfigurationen i Azure. Notera att dessa inte går att importera i din befintliga subscription om du redan har nätverk konfigurerade, men du kan å andra sidan kika på hur jag löst det med flera nätverk eller multi-hop-routingen i fil 3 och 4. I PowerShell-filen hittar du hur du gör en virtuell maskin med flera nätverkskort och hur du konfigurerar Network Security Groups. Frågor? Posta dom i kommentarsfältet!

För att förgylla er dag kan jag även bjuda på inspelningen av min session, särskilt då fallet. Spola fram till 12:55 i filmen.

Presentationsmaterial: Presentationsmaterial TechDays2014

SWE: Lär dig Azure #4 – En virtuell server. Med Minecraft!

Lär dig Azure #4 – En virtuell server. Med Minecraft!

 

I del nummer fyra ska vi kolla närmare på hur man skapar en virtuell maskin. För att göra dig till hjälte i hemmet ska vi också installera Minecraft i servern så att barnen kan få en egen Minecraft-server.

 

En virtuell server tillhör det vi kallar IAAS, Infrastructure As A Service. Företag kan installera sina egna programvaror på servrarna, och när dom inte används har företaget ingen kostnad för dom. Den här guiden hjälper dig att installera en virtuell server så att du får en känsla för hur lätt det är.

 

FÖRSTA STEGET – INSTALLERA SERVERN

 

Vi börjar med att logga in i portalen på http://manage.windowsazure.com och i den vänstra kolumnen klickar vi på ”Virtual machines”, nummer tre uppifrån. Ser ut som en tv J

 

Om det här är din första virtuella server är det tomt i den högra rutan. Har du redan några så ser du en lista.

 

Välj ”New” längst ner till vänster vid plustecknet, när menyn kommer upp väljer du ”From Gallery”. Om du inte ser det alternativet klickar du på ”Compute”, sedan ”Virtual Machines” och SEN på ”From Gallery”.

 

I galleriet har vi förberett massa olika installationer. Dels har vi såklart Windows och SQL Server. Sedan har vi SharePoint och Visual Studio. Oracle har valt Azure som den enda supporterade molntjänsten och vi har en uppsjö olika Linux-distributioner att välja på.

 

För vår uppgift idag väljer vi ”Windows Server 2012 R2 Datacenter”, överst i listan. Markera den genom att klicka på den och klicka på pilen längst ner till höger.

 

I formuläret på nästa sida har vi fler alternativ:

 

Version release date: När installerades senast säkerhetsuppdateringarna i imagen. Välj senaste datumet.

Virtual machine name: Namnet som servern kommer få i Windows (alla datorer heter något).

Tier: Basic har inte en lastbalanserare, Standard har. Väldigt enkelt förklarat. Vi väljer Basic.

Size: Storlek på den virtuella maskinen, ju större desto dyrare. A0 eller A1 räcker utmärkt. Det går även att byta storlek senare.

New user name: Administratörskontot på servern. Kan inte vara ”administrator” som är vanligast. Kom ihåg vad du skriver i den här rutan.

New password: Lösenordet. Måste uppfylla komplexitetsregler. Glöm INTE det här!

Klicka högerpil.

 

Nytt formulär.

 

Cloud service: Lägg med servern i en ny eller befintlig cloud service. En cloud service används för t.ex. lastbalansering.

Cloud Service dns name: Det externa dns-namn din tjänst får.

Region/affinity group/virtual network: Var vi ska placera vår server. Välj West eller North Europé.

Storage Account: I vilket storage-konto servern ska lagras. ”Use an automatically…” duger fint.

Availability set: När två maskiner levererar samma tjänst (t.ex. en websida) lägger man dom i ett availability set för att säkerställa att tjänsten alltid är igång.

Endpoints: En endpoint är den port/ar som servern lyssnar på. En webserver lyssnar till exempel på port 80 som protokollet http går över. Minecraft lyssnar på port 25565. I rutan där det står ”Enter or select a value” skriver du Minecraft, välj TCP som protokoll och både public och private port ska alltså vara 25565.

Högerpil, här går det undan!

 

Låt rutan ”Install the VM agent” vara ikryssad. Klicka på bocken nere till höger.

 

I listan kan du nu ser hur Azure installerar din server. Det tar 5-10 minuter, garanterat längre om du sitter och stirrar på skärmen. Dags att hämta en kaffe, eller gå ut med hunden. Eller dra på Lenny Kravitz nya platta ”Strut” och fuldansa i köket.

 

När det bakom ditt servernamn står ”Running” så är server uppe och snurrar. Dags för minecraft!

 

Om man tycker att formuläret är lite tidsödande och krångligt så tycker man rätt. Vanligtvis gör man hela den här operationen med PowerShell istället.

 

Klicka på servernamnet, och sedan på ”Connect” nederst på skärmen. När frågan ”Do you want to open or save…” dyker upp klickar du på “Open”. Nästa ruta är ”Remote Desktop Connection”, klicka på ”Connect” nere till höger. Välj ”Use another account”. I rutan ”User name” skriver du ”servernamnet\användarnamn”, t.ex. ”minecraft01\joachim” och i rutan ”Password” skriver du in lösenordet du valde.

 

I nästa ruta väljer du ”Yes

 

Efter ett tag loggas du in på din server och ser skrivbordet.

 

Nu är det dags för vår Line Of Business-applikation!

 

MINECRAFT

 

Det finns en ypperlig instruktion på http://minecraft.gamepedia.com/Tutorials/Setting_up_a_server#Windows_instructions hur man installerar Minecraft för Windows. Kör du fast här så kika in där.

 

Eftersom det är en server vi installerat måste vi först se till att kunna surfa på internet. I programmet som är öppet i din server, ”Server Manager”, klickar du på ”Local Server” i kolumnen till vänster. Leta sedan reda på där det står ”IE Enhanced Security Configuration” och klicka på ”On”, välj ”Off” på bägge ställena och klicka ”Ok”.

 

Starta Internet Explorer från startmenyn och surfa till https://minecraft.net/download. Under rubriken ”Multiplayer Server” hittar du ”minecraft_server.1.8.exe”. Ladda hem den, och kör. Klart! Nu kan du från barnets (eller din) dator ansluta med Minecraft mot det namn din Cloud Service fick. Kolla i portalen vad det står under rubriken ”DNS Name”, ange det i minecraft under servernamn när du ska ansluta.

 

Om ditt barn vill ha massa plugins till Minecraft rekommenderar jag dock att du väljer Java-versionen istället. Kolla in guiden jag länkade till ovan för hur du bär dig åt då!

 

Hur man skapar en virtuell maskin i Azure: http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-tutorial/

Minecraft: https://minecraft.net/

 

Lycka till och återkom om det är några frågor!

 

/Jocke

SWE: Lär dig Azure #3 – Websites

I den här delen ska vi ta en titt på hur du kan skapa en egen site genom galleriet och vilka inställningar som finns tillgängliga.

Varför ska du lägga din site i Azure då?

  • Microsoft Azure har stöd för flera språk. Du kan köra .Net, Java, PHP, Node.js och Python. Det räcker och blir över för de flesta.
  • Du får automatisk skalning, dvs när din site går lite trögt för att du har en populär site så skapar vi ytterligare en webserver åt dig automatiskt för att hantera alla besökare. När det lugnat ner sig tar vi bort den. På det sättet sparar du pengar.
  • Du kan använda Microsoft SQL, MySql, DocumentDB och MongoDB som datalagring. Eller Oracle om inte någon av de andra passar.
  • Vi installerar uppdateringar på din webserver. Mycket populärt hos de som tycker patcha är tråkigt.
  • Vi tar backup på din site.

Är du utvecklare? Då kan du hantera din site direkt från Visual Studio. Kolla in http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/ för mer information om det. Och missa inte att du kan köra continous integration för din site. Från Visual Studio Online, GitHub, TeamCity, Hudson eller BitBucket.

Det finns fler fördelar såklart, men nu är det dags!

DIN FÖRSTA SITE

Det här mediet tillåter ju inte bilder (bloggen gör ju det, men originaltexten är från Yammer), så det blir en textbaserad genomgång:

  1. Logga in på https://portal.azure.com
  2. Klicka på New längst ner till vänster.
  3. Välj ”Everything” på bladet som visas.
  4. Välj ”Web”
  5. Välj ”Website”
  6. Klicka på ”Create”

På det nya bladet med titeln ”Website” längst till höger måste du nu fylla i lite information:

 

  1. URL: Välj ett namn till din site. Jag rekommenderar att du väljer det domännamn som du tänkt ge din site. Om du inte ska ha någon egen domän kan du fylla i t.ex. ditt namn eller hitta på något annat.
  2. Web Hosting Plan: Du måste välja en plan. Respektive plan innehåller olika funktionalitet och kostar olika mycket. Om du bara testar kan du välja ”F1” som är gratis. Information om funktioner och pris framgår i respektive ruta. Klicka på ”Web Hosting Plan”, ”Browse all pricing tiers” och skrolla ner för att hitta ”F1”. ”D1” som du hittar bredvid tillåter egna domäner också. Man kan byta plan för sin site, vilket innebär att du kan utveckla den gratis och sedan växla upp till ”S3” som ger dig 10 instanser och 50 GB lagring. Det blev mycket där. Välj ”F1” genom att klicka på den och klicka sedan på ”Select” längst ner. I bladet till vänster måste du ge din plan ett namn längst upp, till exempel ”Web gratis” eller liknande. Du kan ha flera olika planer för dina siter. Klicka OK längst ner.
  3. Resource group: Man kan placera saker i Azure i olika grupper. För enklare hantering eller för att se vad dom kostar t.ex. Vi lämnar den som den är.
  4. Subscription: Har man flera prenumerationer kan man välja i vilken prenumeration man vill placera siten.
  5. Location: Om du till exempel vill ha en kampanjsite där du säljer kaviar till japaner verkar det ju dumt att dom ska surfa hela vägen till sverige. Då kan du placera din site i vårt datacenter ”Japan East”.
  6. Klicka ”Create” längst ner. Rutan ”Add to Startboard” lägger till en länk till din site på förstasidan.
  7. När du klickat ”Create” kan du längst till vänster klicka ”Notifications” och se notifieringen ”Creating website”. Det blir en glad grön smiley när den är klar.
  8. Klicka på den gröna smileyn så öppnas bladet för din website. Längst upp finns det blåa ikoner. Klicka på ”Browse”
  9. En ny flik öppnas i din browser med din nya site! Grattis!

 

Vill man inte göra en egen site så kan man välja ett färdigt CMS (Content Management System) i galleriet. Ett av dom mest populära är WordPress. Det finns en utmärkt genomgång i hur du gör en site med WordPress färdiginstallerat på http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-web-site-gallery/. Säg att du har en kund som behöver en ny kampanjsite igår. Då tar det ca 45 sekunder att installera WordPress och ytterligare 120 sekunder att lägga till och verifiera kundens domän. Din bloggande tonåring grejar det själv. Vill du ha nåt annat system har vi mallar för Joomla, Kentico, Orchard, mojoPortal och Umbraco. Och WordPress på japanska.

Via portalen kan du även installera en SharePoint-farm. Automatiskt. Portalen tar hand om all konfiguration och installation. Det är nästan bättre än skivat bröd! Det finns en hel artikel om det på http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sharepoint-farm-azure-preview/.

MONITORERING, LASTBALANSERING OCH MERA

När din site väl är uppe kan du scrolla neråt i bladet. Då hittar man fler smarta funktioner inbyggt i Azure. Gruppen monitorering visar grundläggande information och man kan genom att klistra in en kodsnutt på sin site få ännu mer information om t.ex. antal besök, browsers och så vidare. Gruppen Usage visar hur mycket lagringsutrymme man konsumerat, mängden minne / CPU som instansen använder och om autoskalningen är påslagen. Här ser man också vilken typ av instans man valt. Operations innehåller loggar för nerladdning eller streaming när man får se dom i realtid. Här hittar man även consolen som ger en access till filsystemet och man kan se backuper här också. Deployment visar hur många staging-slottar man har, dvs ytterligare siter för t.ex. utveckling eller test. Sedan har vi networking för den hybrida anslutningen till infrastrukturen man har hemma så att säga, och sist hittar vi inställningar för domäner och SSL-certifikat.

MER INFORMATION

Om Websites: http://azure.microsoft.com/en-us/services/websites/

Om WordPress: http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-web-site-gallery/

Utveckla med Asp.Net och Azure: http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/

Video om autoskalning: http://azure.microsoft.com/en-us/documentation/videos/auto-scaling-azure-web-sites/

Hybrid-ansluten website: http://azure.microsoft.com/en-us/documentation/articles/integration-hybrid-connection-overview/

Om du har några frågor så kommentera gärna artikeln, eller skicka ett mail!

/Jocke

SWE: Lär dig Azure #2 – Managera dina resurser

Dags för #2 i serien ”Lär dig Azure”! Idag ska vi titta på hur du hanterar dina resurser i Azure, till exempel skapar en virtuell maskin eller en ny webbplats. För att du ska kunna logga in i portalerna eller använda dig av PowerShell måste du ha tillgång till en prenumeration eller testkonto för Microsoft Azure. Hur du registrerar dig eller tecknar en prenumeration gick vi igenom i #1.

PORTALERNA

Notera plural i rubriken. Det finns nämligen två portaler för att hantera Azure. Dels har vi den gamla portalen, http://manage.windowsazure.com/, och sen har vi den nya portalen. Även känd som ”den snygga”. Den hittar man på https://portal.azure.com/. I dagsläget har bägge sina för- respektive nackdelar. Den gamla portalen hanterar till exempel co-admins på prenumerationer, och fler prenumerationer om du har tillgång till flera. Den nya portalen hanterar inte alla roller som finns tillgängliga i Azure än, men har å andra sidan stöd för resursgrupper som gör det möjligt att se vad en grupp resurser kostar och den har även stöd för RBAC (Role Based Access Control) som gör att du kan tilldela någon access till bara vissa resurser inom din prenumeration.

 

Portalerna använder man sig oftast av om man ska hantera enstaka resurser, eller om man inte lärt sig PowerShell än. När det kommer till att hantera flera resurser, eller till exempel skapa 10 virtuella maskiner på en gång, så är PowerShell eller CLI-verktygen att föredra. CLI står för Command Line Interface, dvs kommandoradsbaserat. Tänk DOS eller Linux, dvs svart ruta med text.

 

För att logga in i respektive portal behöver du ha en aktiv prenumeration på Azure sen är det bara att köra igång!

 

Gamla portalen: http://manage.windowsazure.com/

Nya portalen: https://portal.azure.com/

 

KOMMANDORADSVERKTYG

 

För att automatisera eller hantera flertalet resurser på en gång så rekommenderar jag något av kommandoradsverktygen. Det finns även här två olika.

 

POWERSHELL

 

Först har vi PowerShell som du kan läsa mer om på http://www.whatispowershell.com/. Sajten är inte gjord av Microsoft men innehåller lättfattlig information. PowerShell ingår i både Windows Server och klientoperativsystem, med förbehåll att du såklart har uppdaterat förbi Windows XP och Windows Server 2003.

 

När man väljer att använda PowerShell så måste kunna autentisera sig mot Azure och man vill inte behöva logga in varenda gång. För att lösa det här problemet så importerar man ett certifikat i PowerShell som sedan används varje gång man ansluter till Azure. Har man flera prenumerationer behöver man upprepa processen per prenumeration och kan därefter i PowerShell välja mot vilken man vill arbeta.

 

Registrera din prenumeration i PowerShell:

 

Ladda hem Azure cmdlets: http://azure.microsoft.com/en-us/documentation/articles/install-configure-powershell/

Starta PowerShell med Azure från startmenyn

Kör Get-AzurePublishSettingsFile [enter]

Logga in i portalen och spara filen

Kör Import-AzurePublishSettingsFile <sökväg till filen du sparade ovan> [enter]

Kör Get-AzureSubscription [enter]

 

Om PowerShell listar information om din prenumeration är det klart. Då raderar du filen du laddade hem eftersom den ger innehavaren full tillgång till din prenumeration. Det är alltså en säkerhetsrisk att spara dessa filer till exempel på företagets filserver eftersom vem som helst då kan logga in med hjälp av filen.

 

Mer information om hur du hanterar dina resurser med PowerShell hittar du på http://msdn.microsoft.com/en-us/library/azure/dn495240.aspx.

 

Om du inte kan PowerShell idag och vill lära dig, vilket jag starkt rekommenderar, hittar du bra kurser gratis på Microsoft Virtual Academy.

 

Kurs 1: http://www.microsoftvirtualacademy.com/training-courses/getting-started-with-powershell-3-0-jump-start

Kurs 2: http://www.microsoftvirtualacademy.com/training-courses/advanced-tools-scripting-with-powershell-3-0-jump-start

 

 

COMMAND LINE TOOLS (CLI)

 

Om du har valt att köra Mac eller Linux, eller inte vill köra PowerShell på Windows, finns även CLI-verktygen tillgängliga. På Mac måste du ladda hem ”Azure SDK Installer”, den hittar du på http://go.microsoft.com/fwlink/?linkid=252249&clcid=0x409. För Linux installerar du först Node.js och sedan kör du ”npm install azure-cli –g”.

 

Registrera din prenumeration i CLI-verktygen:

Kör ”azure account download” [enter]

Logga in och spara filen

Kör “azure account import publishsettings.publishsettings”

 

Precis som för PowerShell rekommenderar jag att du raderar filen när den är importerad av säkerhetsskäl.

 

Mer information om hur du hanterar dina resurser med CLI-verktygen hittar du på http://azure.microsoft.com/en-us/documentation/articles/command-line-tools/.

 

VISUAL STUDIO

 

Om du är utvecklare och vill använda dig av Microsoft Azure behöver du Azure SDK (Software Development Kit). Det kan du ladda ner från http://msdn.microsoft.com/en-us/library/azure/ee405484.aspx. När det är nerladdat och installerat hittar du mer information på http://msdn.microsoft.com/en-us/library/azure/ff687127.aspx. I Visual Studio kan du sedan skapa nya websiter, virtuella maskiner och andra roller. Dessutom kan du deploya din kod till en virtuell maskin, slå på remote debugging och få tillbaka eventuella fel direkt till Visual Studio.

 

TREDJEPARTSVERKTYG

 

Det finns flera tredjepartsverktyg tillgängliga för Microsoft Azure. En bra lista är tillgänglig på MSDN: http://blogs.msdn.com/b/buckwoody/archive/2012/07/03/management-and-monitoring-tools-for-windows-azure.aspx. Några av de mest kända verktygen är Cerebrata Management Studio och Quest Cloud Tools.

 

BLOGGAR

 

Det finns flertalet mycket bra bloggar som berör t.ex. PowerShell och Azure management. Jag slår självklart ett slag för min egen, även om jag mest skriver om IAAS (Infrastruktur-delen av Azure). Den hittar du på http://www.nullsession.com. Flera bloggar som är läsvärda är http://azure.microsoft.com/blog/tag/powershell/, http://msandbu.wordpress.com/2013/05/13/azure-and-powershell/ och http://michaelwasham.com/.

 

Nu har du möjlighet att registrera dig för en prenumeration och du vet även hur du kan hantera dina resurser. I nästa del ska vi titta på hur vi skapar en website och vilka fiffiga funktioner vi har till förfogande. Feedback, frågor och diskussion via mail eller i kommentarsfältet!

SWE: Lär dig Azure – prenumerationer och priser

Hej!

Nu sparkar jag igång en serie där du får lära dig mer om Microsoft Azure. Tanken är att du ska hinna läsa och eventuellt göra någon labb under lunchen. Målgruppen är sådana som inte jobbat med Azure tidigare, så nivån är därefter.

PRENUMERATIONER

Man kan registrera sig för en månads gratis testversion i Azure: http://azure.microsoft.com/en-us/pricing/free-trial/

• Vi kräver att du registrerar ett kreditkort men vi kommer inte debitera dig för några tjänster utan du får 1350:- av oss att spendera som du vill. Under din provperiod ser du hur mycket du har kvar längst upp i portalen och när pengarna är slut avaktiverar vi dina resurser i Azure.
• Vill du fortsätta använda dom konverterar vi din testversion till en fullvärdig prenumeration och det är först då du börjar betala. Detta förutsätter att du inte ändrar inställningen för utgiftstaket under din prövoperiod.
• Du behöver ett telefonnummer, ett kreditkort och ett Microsoft-konto (fd Windows Live ID) för att registrera dig.

Vill man passera gå på direkten och teckna sig för en så kallad Pay-As-You-Go-prenumeration där man betalar via kreditkort månadsvis så registrerar man sig på https://account.windowsazure.com/signup?offer=ms-azr-0003p.

Om ditt företag är medlem i Microsoft Partner Network ger vi er 700:- per månad att förbruka i Azure. Läs mer på http://azure.microsoft.com/en-us/offers/ms-azr-0035p/

BizSpark-medlemmar får 1350:- att spendera i Azure, det erbjudandet hittar du på http://azure.microsoft.com/en-us/offers/ms-azr-0064p/.

Via en MSDN-prenumeration får enskilda utvecklare tillgång till bland annat Azure. Beroende på vilken nivå man prenumererar på så är värdet $50 – $150 per månad. Mer information om de olika nivåerna hittar du på http://www.visualstudio.com/en-us/products/msdn-subscriptions-vs.

Om ni är ett större företag har ni med största sannolikhet ett Enterprise Agreement med Microsoft. Information om det hittar du på http://www.microsoft.com/licensing/licensing-options/enterprise.aspx#tab=2. Det ger er möjlighet att via portalen skapa subscriptions till Azure som är knutet till erat avtal. Mer information om vilka fördelar du får om du använder Azure tillsammans med ett Enterprise Agreement hittar du på http://azure.microsoft.com/sv-se/pricing/enterprise-agreement/.

Har du Open Volume (http://www.microsoft.com/licensing/licensing-options/open-license.aspx ) kan du fortsätta arbeta med samma återförsäljare som du redan använder dig av. Aktivera en ny prenumeration eller lägg till mer kredit på http://azure.microsoft.com/sv-se/offers/ms-azr-0111p/.

PRISER

Vill man räkna ut vad ett utnyttjande av vissa resurser i Azure kostar per månad finns en priskalkylator: http://azure.microsoft.com/sv-se/pricing/calculator/?scenario=full I länken är den fulla kalkylatorn aktiverad, vill man bara veta till exempel vad en webbplats kostar kan man aktivera endast den delen av kalkylatorn i menyraden. Man väljer den typ av resurs man är intresserad av, till exempel en virtuell maskin följt av antal och storlek. Sedan kan man lägga till ytterligare lagringsutrymme, SQL-databaser osv och få fram en uppskattning på månadskostnaden eller pris / timme.

De priser man ser i portalen är listpriser. Beroende på om man åtagit sig att konsumera för ett visst monetärt belopp eller andra orsaker kan man erhålla rabatt på priserna.

INFORMATION

Vad är Azure: http://azure.microsoft.com/sv-se/overview/what-is-azure/
Enterprise Agreement: http://www.microsoft.com/licensing/licensing-options/enterprise.aspx
Azure Blog: http://azure.microsoft.com/blog/

Om du upplever att jag missat något eller har ytterligare frågor så ställ dom i kommentarsfältet!

Creating and uploading your Azure RemoteApp template image

Creating and uploading the image for RemoteApp turned out to be a challenge for some odd reasons. For the script Upload-AzureRemoteAppTemplateImage.ps1 to work you need to make sure you fulfill the prereqs it needs. Which can be found if you read the script ;)

If Upload-AzureRemoteAppTemplateImage.ps1 fails for “odd” reasons you need to make sure that you’re running PowerShell as Admin and that you’re starting “Windows Azure PowerShell” or have the Azure module loaded.

Here’s my short list of what you need to do:

  • Create a new Hyper-V VM with a 40 GB FIXED dynamic (now supported) size disk.
  • Install Windows Server 2012 R2 (only OS supported)
  • Install RDSH role and Desktop Experience feature (both needed)
  • Reboot (needed to make sure application installations are aware of RDS)
  • Login
  • Install the applications you want to publish to your users
  • From an elevated CMD, run “fsutil behavior set disableencryption 1″ (disables EFS encryption of file system)
  • Reboot (makes sure EFS disable is written to registry)
  • Login
  • Run “sysprep /oobe /generalize /shutdown”

Once your machine is turned off you need to start PowerShell as administrator with the Azure cmdlets.

Run the script provided by the portal, find your VHD-file and you should be on your way!

Uploading the file

upload4

 

 

The portal states the template status as “uploading”

upload3

Connecting an Azure RemoteApp virtual network to a virtual network

So you finally got your trial approved for RemoteApp and thought you’d connect your RemoteApp virtual network to the rest of your infrastructure in Azure? Well, I stepped in that pile too. But solved it in the usual way, with PowerShell and the new multi-vnet Configuration ability.

You need at least one existing virtual network, and you need to configure a virtual network in the RemoteApp part of the portal.

Click RemoteApp -> Virtual Networks -> Create

Enter a name for your network and select region.

01

Enter the address space you want for your RemoteApp server(s) and the address space for your local networks. With local networks I mean either your on-premises network or the other networks you have defined in Azure. In my case I’ll be connecting my RemoteApp network to my other networks in Azure.

02

Enter the DNS-servers you want your RemoteApp server to receive from DHCP. This is so your applications can resolve your local hostnames, for SQL connectivity or any other type of traffic. You also need to specify the address of the VPN device. I’ve entered the address to my gateway in Azure. If you’re connecting multiple virtual networks you MUST select “Dynamic” for VPN gateway type. Static routing only works between two networks in Azure.

03

Network created, now waiting for VPN Configuration.

04

Now we’ll click on “Manage key” and copy the address for the gateway. You might as well copy the key to a notepad file while you’re at it.

05

Add your RemoteApp network as a local network in the “Networks” part of the portal. Specify the gateway address you just copied.

08

When it’s saved, export the network configuration from the portal. Open the XML-file and edit the corresponding Virtual network, adding a connecction to your newly created “local” network. Mine is named RemoteAppVnet as you can see below.

09

Import your configuration to Azure. Networks -> New -> Network Services -> Import configuration

import

Once your information is imported you’ll see your new network as “Not connected” in the overview in the virtual network.

Open PowerShell (with the Azure cmdlets) and run the following two commands. Substituting the vnetname and local network name and key for your values of course.

07

Once those are run your networks should be connected and all green!

06

How to configure multiple virtual network connections in Azure

When using infrastructure as a service in Microsoft Azure you could earlier only have one virtual network, which would be like it’s own little isolated island. A while back Microsoft enabled for its customers to connect multiple virtual networks together, both in the same datacenter, same region, cross region and cross subscription. This enables a whole lot of new scenarios, for example building your own global datacenter on top of Azure infrastructure.

So how do you go about doing it? Well, you need to start with planning. I know it’s boring but if you don’t you could end up having to tear everything down just to rebuild it, doesn’t sound too much fun either.

What you need before starting:

An ip-plan
A VPN device with a public IPv4 address (not necessary, but will let you enable a hybrid cloud scenario)
PowerShell cmdlets for Azure installed and configured

My ip-plan looks like this:

Local network name Subnet
HomeNet 10.0.0.0/24
AzureNet-Local 10.0.1.0/24
USNet-Local 10.0.2.0/24
JNNet-Local 10.0.3.0/24

Of the networks above HomeNet is my physical network location. The other three networks exists only in Azure. What you must make sure when you plan is that no range overlap anywhere, no matter if it’s in Azure or at any physical locations.

 

Once you’ve planned that I have a separate table for my topology so I know which networks to connect. When starting off you won’t know your gateway ip, so don’t worry.

Virtual Network Subnet Gateway Local network
AzureNet 10.0.1.0/24 137.117.227.xxx HomeNet 10.0.0.0/24
USNet 10.0.2.0/24 168.61.160.xxx JNNet 10.0.3.0/24
JNNet 10.0.3.0/24 23.97.77.xxx USNet 10.0.2.0/24

 

Getting started

Starting off I already have one network called AzureNet (10.0.1.0/24) which is connected to my physical network Homenet (10.0.0.0/24). You can follow this guide even if you don’t have that, just repeat the process.

vlcsnap-2014-06-13-09h38m57s199

 

 

Let’s create a new virtual network first

In the portal, click New -> Network Services -> Virtual Network -> Custom Create

Name your network and select a location. South Central is in Brazil so I’ve named my network BRnet.

 

newnet01

 

 

Select (or enter) your DNS servers ip and name for local name resolution.

newnet02

 

 

Enter your address space. Make sure there’s no overlapping subnets anywhere. Very important!

newnet03

 

 

Repeat this process for all the virtual networks you need.

When all your virtual networks are created it’ll look like this. Note the different locations in my setup, placing my networks in Japan, USA and Amsterdam.

vlcsnap-2014-06-13-09h38m43s56

 

 

Local networks

When the virtual networks are done we’ll create local networks of the virtual networks. This is because to be able to connect the networks they need to be defined as “local” in Azure.

 

vlcsnap-2014-06-13-09h40m17s223

 

 

Name your network, and specify 1.2.3.4 as VPN device address.

vlcsnap-2014-06-13-09h40m28s87

 

 

Specify the address space that you’ve planned beforehand.

vlcsnap-2014-06-13-09h40m51s54

 

 

Repeat this for each virtual network, re-defining it as local.

When you’re done it’ll look like this

vlcsnap-2014-06-13-09h41m17s60

 

 

Switch back to your virtual networks in the portal and go into the configure tab. Check the “connect to the local network”-box and select the corresponding “local network” that you planned before. Click save at the bottom. Repeat this process for each virtual network connecting it to the designated “local” network.

vlcsnap-2014-06-13-09h42m01s246

 

 

Next step is to create the dynamic gateway. You get the message “The gateway was not created” in the portal. At the bottom click “Create gateway” and select “Dynamic”. Do this for all your virtual networks. It’ll take 10-25 minutes to finish for each gateway. Coffee time!

vlcsnap-2014-06-13-09h42m39s112

 

 

When they’re all done, note the gateway ip address in your table for all your networks/gateways.

vlcsnap-2014-06-13-09h39m08s45

 

 

Edit your local networks and add the gateway ip address for each network.Click on the network, click Edit and enter your gateway ip.

vlcsnap-2014-06-13-09h44m40s40

 

 

When all virtual networks and their corresponding local networks are created it’s XML-time. Get some more coffee!

Click the Export-button and save the file.

Open it in Notepad / Notepad++ (if you haven’t tried it you must)

In the XML you’ll find the section <LocalNetworkSites> which contains all the networks defined as local.

<LocalNetworkSites>
<LocalNetworkSite name="AzureNet-Local">
<AddressSpace>
<AddressPrefix>10.0.1.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>137.117.227.238</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="HomeNet">
<AddressSpace>
<AddressPrefix>10.0.0.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>178.78.193.167</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="JNNet-Local">
<AddressSpace>
<AddressPrefix>10.0.3.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>23.97.65.15</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="USNet-Local">
<AddressSpace>
<AddressPrefix>10.0.2.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>168.61.160.90</VPNGatewayAddress>
</LocalNetworkSite>
</LocalNetworkSites>

If you look further down in the XML you’ll find the section <VirtualNetworkSites>. This contains subsections for each virtual network site <VirtualNetworkSite>, and in that section in turn you’ll see where to define the connections to each network.

 

<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="HomeNet">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
<LocalNetworkSiteRef name="JNNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
<LocalNetworkSiteRef name="USNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>

So for each virtual network you’ll need to copy and paste each local network as above.

If you look at my complete XML I’ve marked those sections in red.

<NetworkConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
<VirtualNetworkConfiguration>
<Dns>
<DnsServers>
<DnsServer name="cmdc01" IPAddress="192.168.1.4" />
<DnsServer name="cmdemodc01" IPAddress="192.168.1.10" />
<DnsServer name="DC01" IPAddress="10.0.0.10" />
<DnsServer name="DC02" IPAddress="10.0.1.4" />
</DnsServers>
</Dns>
<LocalNetworkSites>
<LocalNetworkSite name="AzureNet-Local">
<AddressSpace>
<AddressPrefix>10.0.1.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>137.117.227.238</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="HomeNet">
<AddressSpace>
<AddressPrefix>10.0.0.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>178.78.193.167</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="JNNet-Local">
<AddressSpace>
<AddressPrefix>10.0.3.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>23.97.65.15</VPNGatewayAddress>
</LocalNetworkSite>
<LocalNetworkSite name="USNet-Local">
<AddressSpace>
<AddressPrefix>10.0.2.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>168.61.160.90</VPNGatewayAddress>
</LocalNetworkSite>
</LocalNetworkSites>
<VirtualNetworkSites>
<VirtualNetworkSite name="AzureNet" AffinityGroup="AzureNet">
<AddressSpace>
<AddressPrefix>10.0.1.0/24</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet-1">
<AddressPrefix>10.0.1.0/27</AddressPrefix>
</Subnet>
<Subnet name="Contoso-Subnet">
<AddressPrefix>10.0.1.200/27</AddressPrefix>
</Subnet>
<Subnet name="GatewaySubnet">
<AddressPrefix>10.0.1.32/29</AddressPrefix>
</Subnet>
</Subnets>
<DnsServersRef>
<DnsServerRef name="DC01" />
<DnsServerRef name="DC02" />
</DnsServersRef>
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="HomeNet">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
<LocalNetworkSiteRef name="JNNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
<LocalNetworkSiteRef name="USNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
</VirtualNetworkSite>
<VirtualNetworkSite name="CMDemo" AffinityGroup="CMDemo-AFG">
<AddressSpace>
<AddressPrefix>192.168.1.0/24</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Infra">
<AddressPrefix>192.168.1.0/26</AddressPrefix>
</Subnet>
<Subnet name="Mgmt">
<AddressPrefix>192.168.1.64/26</AddressPrefix>
</Subnet>
<Subnet name="Clients">
<AddressPrefix>192.168.1.128/27</AddressPrefix>
</Subnet>
</Subnets>
<DnsServersRef>
<DnsServerRef name="cmdc01" />
</DnsServersRef>
</VirtualNetworkSite>
<VirtualNetworkSite name="JnNet" AffinityGroup="JnNet-AFG">
<AddressSpace>
<AddressPrefix>10.0.3.0/24</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet-1">
<AddressPrefix>10.0.3.0/28</AddressPrefix>
</Subnet>
<Subnet name="Subnet-2">
<AddressPrefix>10.0.3.24/29</AddressPrefix>
</Subnet>
<Subnet name="Subnet-3">
<AddressPrefix>10.0.3.32/27</AddressPrefix>
</Subnet>
<Subnet name="GatewaySubnet">
<AddressPrefix>10.0.3.16/29</AddressPrefix>
</Subnet>
</Subnets>
<DnsServersRef>
<DnsServerRef name="DC01" />
</DnsServersRef>
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="USNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
<LocalNetworkSiteRef name="AzureNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
</VirtualNetworkSite>
<VirtualNetworkSite name="UsNet" AffinityGroup="CentralUS-AG">
<AddressSpace>
<AddressPrefix>10.0.2.0/24</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet-1">
<AddressPrefix>10.0.2.0/28</AddressPrefix>
</Subnet>
<Subnet name="Subnet-2">
<AddressPrefix>10.0.2.24/29</AddressPrefix>
</Subnet>
<Subnet name="GatewaySubnet">
<AddressPrefix>10.0.2.16/29</AddressPrefix>
</Subnet>
</Subnets>
<DnsServersRef>
<DnsServerRef name="DC02" />
</DnsServersRef>
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="JNNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
<LocalNetworkSiteRef name="AzureNet-Local">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
</VirtualNetworkSite>
</VirtualNetworkSites>
</VirtualNetworkConfiguration>
</NetworkConfiguration>

Note that for each network there is a corresponding section of <ConnectionsToLocalNetwork>.

When you’re done save the file and then it’s time to import it!

import

 

 

Wait for your networks to configure. Then it’s PowerShell-time!

Fire up PowerShell with the Azure cmdlets.

Run the cmdlet “Set-AzureVNetGatewayKey -VNetName AzureNet -LocalNetworkSiteName JNNet-Local -SharedKey a1b2c3d4″ for each virtual network setting the key for each local network.

So I’d run:

Set-AzureVNetGatewayKey -VNetName AzureNet -LocalNetworkSiteName JNNet-Local -SharedKey a1b2c3d4
Set-AzureVNetGatewayKey -VNetName AzureNet -LocalNetworkSiteName USNet-Local -SharedKey a1b2c3d4
Set-AzureVNetGatewayKey -VNetName AzureNet -LocalNetworkSiteName HomeNet -SharedKey a1b2c3d4
Set-AzureVNetGatewayKey -VNetName JNNet -LocalNetworkSiteName USNet-Local -SharedKey a1b2c3d4
Set-AzureVNetGatewayKey -VNetName JNNet -LocalNetworkSiteName AzureNet-Local -SharedKey a1b2c3d4

And so on, switching the virtual network and the local network according to your topology.

When you’re done with that it’s time to connect your networks:

Set-AzureVNetGateway -VNetName AzureNet -LocalNetworkSiteName JNNet -Connect

And as before, substitute the vnetnames and local network names.

Once done it’ll (hopefully) look like this:

vlcsnap-2014-06-13-09h46m22s38

 

 

How did you do? Let me know in the comments!

Why Microsoft Azure should be on top of your learning list

Today was the opening keynote of TechEd in Houston. Regardless of what’s earlier been said about Houston there wasn’t any problems detected today. Instead Microsoft launched a number of new features in and around Azure.

So what’s been said today? And what does it mean for the IT-pro?

Bigger VM’s

A8 and A9. More CPU, more ram, faster interconnects. This allows those companies running HPC workloads or data mining to finish faster.

Azure Files

Your own SMB share in Azure. Accessible from multiple Virtual Machines simultaneously.

Microsoft SCEP and Symantec/Trend Micro partnership

Protecting your VM’s and cloud services. And not only with our products but with Symantec or Trends products. You can choose.

Network improvements

Internal Load balancing – load balancing with private IP’s

Multiple site-to-site VPN, and VNET-to-VNet connectivity.

Reserved IP’s and public IP’s for VM’s

Azure Site Recovery

Replicate your virtual machines to Azure and failover if you need to. A secondary site for EVERYONE…

Azure RemoteApp

Remote applications from Azure to your devices and computers.

And that’s not even the complete list. You can sign up for the preview features here!

So what does this mean for the IT-pro?

The landscape for the IT-pros is rapidly changing. A few years ago virtualization in-house was the frontline of IT, but those days are quickly vanishing. To stay relevant now, and in the future, a knowledge of hybrid cloud, PowerShell and people centric IT (as it’s called) will be needed. The business side of many companies are buying cloud services today, it might be projektplace or salesforce but the step to getting their own VM isn’t that big. If you can’t deliver services from IT as cheap and rapidly as cloud services can do it it’s time to start thinking about how to solve that problem.

If someone had told me 10 years ago, or 20 years ago when I started in this industry that I’d deploy servers on the internet through a web page I would’ve laughed.

Today I can deploy 50 servers in less than 15 minutes with 5 lines of PowerShell.

How are you going to stay ahead of the game?

Azure Automation – Using the assets

After yesterdays post about getting started I’ve gotten some questions about the assets library. Thought I’d explain how to use some of the assets (or at least how I’ve figured it out I’d say, might be totally off but at least it works)…

Looking at the assets library we have a “Connection”-object containing our subscription ID. This could be an ID to another subscription, might be useful for IT to deploy services to a developers subscription or something like that.

We also have a “Certificate”-object where we also uploaded the corresponding certificate to our collection of management certificates in Azure, this needs to be done on the right subscription then if you’re managing multiple ones, keep that in mind…

Automation assets

 

 

 

 

 


<# .DESCRIPTION .NOTES Author: Joachim Nässlander, TSP Datacenter, Microsoft #>

workflow Start_Azure_Demo_VM
{
param()

$MyConnection = “Internal Subscription Connection” # <— The name of your Connection object in assets
$MyCert = “InternalSubscriptionCertificate” # <— The name of your Certificate object in assets

# Get the Azure Automation Connection
$Con = Get-AutomationConnection -Name $MyConnection # <— Connect to your subscription
$SubscriptionID = $Con.SubscriptionID
$ManagementCertificate = $Con.AutomationCertificateName
$Cert = Get-AutomationCertificate -Name $Con.AutomationCertificateName # <— Get the certificate from assets

write-output “Subscription ID: $SubscriptionID”

write-output “Certificate Name: $Con.AutomationCertificateName”

}

 

And since this is the internet. How are you using Azure Automation and the assets library, feel free to comment!

Have a nice weekend, and don’t miss The Fratellis to keep you company over a beer!