Rock Solid Azure Hosting

How to Rock stewardship by hosting with Azure.

Download PDF
Current Version: McKinley 6.0
Note: A newer version of this book is available. Use the version dropdown to switch to the newest version.

Updates for McKinley 6.0

No updates made.

Updates for McKinley 8.0

No updates made.

Updates for McKinley 9.0

No updates made.

Updates for McKinley 10.0

No updates made.

Introduction

So you've heard about Microsoft Azure's $3,500 annual hosting credit for non-profits and you'd like to give it a try? Good news; those who have gone before you have clearly marked the path to success. This guide will walk you through the steps to get Rock up and running with Azure. First, though, let's go over a few things we need to know up front.

How Do I Receive My Credit?

The $3,500 credit allows you to "spend" up to $291 per month with approved Azure products, and you'll be able to track your usage and remaining balance in regular statements. Although the program expires one year after you set it up, Azure for Nonprofits has stated that they plan to do an "annualized refresh," turning this into a perpetual donation. Thanks, Microsoft!

Prerequisites

Yes, prerequisites. While Azure's hosting credit is an exciting prospect and a good fit for many organizations, it may not work for all. Take a look at this short list to see if it will work for you.

  • Organizations must be nonprofit or non-governmental organizations with 501(c)(3) status under the United States Internal Revenue Code.
  • Religious organizations are allowed.

What does that mean? It essentially means that you must be licensed as a 501(c)(3) or NGO and you must be a US-based organization.

Set Up Steps

A. Register for TechSoup

  1. Register for a Microsoft TechSoup account on their website.
  2. Follow the directions to get set up.
  3. To complete your registration, request your Validation Token from on this page by selecting New To TechSoup.org.

B. Register with Microsoft Philanthropies for the Azure credit

  1. Register on the Get Started page.
  2. Sign in using your TechSoup Validation Token.
  3. Register for the Azure Non-Profit Sponsorship.
  4. (Optional) For a little extra help, set up a free online meeting with Microsoft Support to get your Azure account set up.
  5. (Optional) If you already have an Azure account, it is important that you submit a support request to have them merge your Azure accounts (so you can use the credit with your current setup).

C. (Optional) Purchase Windows Server 2016 and SQL Server 2016 Licenses from TechSoup

  1. Find these products on the TechSoup site.
  2. Browse products in the Microsoft Server Software and Licenses category. Find Windows Server and SQL Server, and add them to your cart.
  3. Check out with required information.
  4. Downloads and product keys will appear in Volume Licensing Service Center, or VLSC, after the donation is processed.

D. (Optional) Create A Server Image Using Hyper-V

  1. Create a new VM, or virtual machine, in Hyper-V using Windows Server 2012 R2 or Server 2016.
  2. Sign in and prep the image as needed.
  3. Open a command prompt window as an administrator. Change the directory to %windir%\system32\sysprep, and then run sysprep.exe.
  4. In the System Preparation Tool, select Enter System Out of Box Experience (OOBE) and make sure that Generalize is checked. In Shutdown Options, select Shutdown. Click OK.
  5. The VM will shut down.
  6. The .vdkx disk from Hyper-V needs to be converted to a .vdk. Open PowerShell (PS) and type:
    Convert-VHD –Path c:\rockdiskexample.vhdx –DestinationPath c:\rockdiskexample.vhd
  7. Start PS and log into Azure:
    Add-AzureAccount
  8. Set the location (For region names, see the Azure Regions page.) For example, in the Eastern United States, you would use this:
    $location = "East US"
  9. Create your storage account (Note that the name must be all lower case.)
    New-AzureStorageAccount –StorageAccountName "rockstorageaccount" -Location $location -Type "Standard_LRS"
  10. Create a new container like this:
    New-AzureStorageContainer -Name "RockDisks" -Permission Off
  11. Upload the .vdk file you created. (Note that this may take a long time!)
    Add-AzureVhd -Destination "https://rockstorageaccount.blob. core.windows.net/RockDisks>/rockdiskexample.vhd" -LocalFilePath
  12. Add the VM Image to Custom Image:
    Add-AzureVMImage -ImageName "RockVMImage" -MediaLocation "https://rockstorageaccount.blob.core.windows.net/RockDisks/rockdiskexample.vhd" -OS "Windows"

E. Create a VM in Microsoft Azure with the Web Portal

  1. Create a VM in the web portal. Microsoft's documentation of this process is excellent.

F. Create a VM in Microsoft Azure with PowerShell

This is required if you're using Hybrid Use Benefit.

  1. Download and install Azure PowerShell.
  2. Start PS and log into Azure:
    Add-AzureAccount
  3. Create a credential object. You'll be prompted for a username and password (this is what you'll use to log into the VM). Please note that your username cannot be your administrator.
    $cred = Get-Credential
  4. Set the location (For region names, see the Azure Regions page.) For example, in the Eastern United States, you would use this:
    $location = "East US"
  5. Set a resource group name and create the group.
    $resourceGroupName = "RockResourceGroup"
    New-AzureRmResourceGroup -Name $resourceGroupName -$location
  6. Create a public static IP address.
    $publicIPName = "RockPublicIp"
    $publicIP = New-AzureRmPublicIpAddress -Name $publicIPName -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Static
  7. Create and define the networking components.
    $subnetName = "RockSubnet"
    $nicName = "RockNic"
    $vnetName = "RockVnet"
    $subnetconfig = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/8
    $vnet = New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroupName -Location $location -AddressPrefix 10.0.0.0/8 -Subnet $subnetconfig
    $nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIP.Id
  8. Define the virtual machine name
    $vmName = "Rock01"
  9. Define the VM config. There are several sizes and options to consider. You can read Microsoft's easy-to-follow guidelines if you are unsure which option is best for you.
    $vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize "Standard_D2_v2"
  10. Add the NIC (network interface controller) to the VM.
    $vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
  11. Define the storage account to use for the virtual hard disk, or VHD. (Please note that this must already exist! If if it doesn't, see step D.9 above to create one.)
    $storageAcc = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -AccountName rockstorageaccount
  12. Upload the VHD and attach it to the VM.
    $osDiskName = "licensing.vhd"
    $osDiskUri = '{0}vhds/{1}{2}.vhd' -f $storageAcc.PrimaryEndpoints.Blob.ToString(), $vmName.ToLower(), $osDiskName
    $urlOfUploadedImageVhd = https://newpointeutil.blob.core.windows.net/newpointe-images/rock.vhd
    $vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption FromImage -SourceImageUri $urlOfUploadedImageVhd –Windows
  13. Finally, create your VM and define the licensing type to utilize Azure Hybrid Use Benefit:
    New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $location -VM $vm -LicenseType Windows_Server

G. (Optional) Set up Azure SQL

    If you decide to set up SQL, you can get started here. Microsoft has excellent documentation on this process.

H. Remote Into the VM and Set up Services

    1. Follow the Rock Solid Internal Hosting Guide to get everything set up.

Be sure to check out the rest of the Rock guides and manuals to help you get the most out of your Rock experience.

Improve