SharePoint 2013 on IaaS - Step by Step Walkthrough
Updated: September 17, 2013 – I’ve reworked the introduction, updated some things that have changed, and cleaned up the page formatting.
The general availability (GA) release of Windows Azure Infrastructure as a Service (IaaS) happened on April 16, 2013. (See Scott Guthrie’s blog post.) As a SharePoint devotee, this release was interesting to me because it marked the introduction of virtual machines that met (and exceeded) the hardware recommendations for SharePoint 2013. Given the improvements in VM memory and cores, I set out to spin up a SharePoint 2013 farm and document the process.
This post is focused on the creation of the infrastructure (network, storage, virtual machines, etc.) required to support a SharePoint 2013 farm. I’ve assumed the reader has knowledge of the SharePoint 2013 installation process. I’ve abbreviated the steps associated with that process. There are excellent links available on TechNet (and other places) regarding the installation of SharePoint.
REFERENCE: The TechNet documentation is at Install and Configure SharePoint 2013.
We’ll provision the following servers:
- Windows Server 2012 Datacenter (Domain Controller / DNS)
- Windows Server 2012 Datacenter (SQL Server 2012)
- Windows Server 2012 Datacenter (SharePoint 2013)
REFERENCE: A deeper discussion around cloud services, including Infrastructure as a Service, is available at What is Infrastructure as a Service?
Here are the steps we’ll need to stand up a SharePoint farm in IaaS:
- Create the network
- Provision a server and create an Active Directory domain
- Provision a server running SQL Server and add it to the domain
- Provision a server to run SharePoint 2013 and add it to the domain
- Configure SharePoint 2013
- Add an endpoint to allow users to get to SharePoint
:
Step 1 Create the network
Step 1.1 Virtual Network Details
The initial screen enables you to name the network. You’ll also see an option to create an affinity group or to use an existing group. Virtual networks require an affinity group.
Create a new affinity group. Name it “CONTOSOAFFIN”.
REFERENCE: A complete description of this wizard is available at About Configuring a Virtual Network in the Management Portal.
REFERENCE: Information about virtual networks is available at Windows Azure Virtual Network Overview.
Step 1.2 DNS Servers and VPN Connectivity
This screen enables you to set up a DNS server and VPN connectivity. You don’t need either of these (for this exercise) so skip this step by clicking the “next” arrow in the lower right-hand corner.
HINT: You’ll need to join your SQL and SharePoint servers to the CONTOSO domain. The DNS services provided by Windows Azure do not enable these two servers to see the domain controller. In order to enable this, you’ll have to add CONTOSODC’s IP address as the DNS server on the IPv4 protocol for these two servers.
REFERENCE: Azure Virtual Networks offer several different ways to
Step 1.3 Virtual Network Address Spaces
This screen enables you to accept the default subnet configuration or to add additional subnets. You don’t need to change the default configuration so click the checkmark in the lower right-hand corner to complete the wizard.
Step 2 Create the Domain Controller
You’ll need an Active Directory domain for your SharePoint farm. You can pick from an extensive list of pre-made “platform images”. This includes many server operating systems, application servers for SharePoint and SQL, and non-Microsoft operating systems. This list is updated as new products are introduced. For example, there is currently an image for “Visual Studio Ultimate 2013 RC”.
Click on “New” Virtual Machine and choose “From Gallery”. This will start the “Create A Virtual Machine” wizard.
REFERENCE: A complete description of this wizard is available at How to Create a Custom Virtual Machine.
REFERENCE: Information about virtual machines in Windows Azure is available at Virtual Machines.
Step 2.1 Virtual machine image selection
For the domain controller, choose Windows Server 2012 Datacenter.
Step 2.2 Virtual machine configuration
This screen enables you to choose which release version of Windows Server 2012 Datacenter to use as well as the name, size, and initial admin user account and password.
Provide the following values:
VERSION RELEASE DATE | 9/3/2013 |
VIRTUAL MACHINE NAME | CONTOSODC |
SIZE | Medium (2 cores, 3.5 GB memory) |
NEW USER NAME | demoadmin |
PASSWORD | ********* |
The screen should look like this:
Step 2.3 Virtual machine configuration
The next screen enables you to associate the VM with the other components of the cloud infrastructure. Each of these choices affects load balancing, where the VMs are located, which storage account is used, and whether you want your VMs to be highly availability. Read the aforementioned “Virtual Machines” documentation to get more details around these options.
Choose the following values:
CLOUD SERVICE | Create a new cloud service |
CLOUD SERVICE DNS NAME | CONTOSODC3.cloudapp.net |
REGION/AFFINITY GROUP/VIRTUAL NETWORK | CONTOSONET |
VIRTUAL NETWORK SUBNETS | Subnet-1(10.0.0.0/11) |
STORAGE ACCOUNT | Use an automatically generated storage account |
AVAILABILITY SET | (None) |
The screen should look like this:
Step 2.4. Virtual machine configuration
The next screen enables you to accept the default port mappings (Remote Desktop and PowerShell), delete them if you don’t need them, or add your own port mappings if necessary.
Choose to accept the default mappings. As before, click the checkmark in the lower right-hand corner to complete the wizard.
IaaS will take a few minutes to provision the virtual machine.
AZURE FOOTPRINT (AT THIS POINT)
Based on your settings, IaaS should have created the following:
- A virtual machine with a server name of CONTOSODC.
- A cloud service named CONTOSODC3.
- A storage account with a mostly meaningless yet unique name.
- A container (similar in capability to a folder on a file system) named “vhds”.
- A vhd within the container. The default size for this VHD is 127 GB.
- A resource entry in the virtual network dashboard which indicates that the VM is using an IP address from that network.
You should see CONTOSODC in the list of VMs. Click on the line displaying the VM’s information to select it.
HINT: Don’t click on the name of the VM itself. This opens a quick start screen. If you do click on the name, click on the “Back” arrow in the upper left-hand corner of the screen to get back to the list of virtual machines.
Now that the VM is selected, the black bar at the bottom of the screen will display the following:
Click on “Connect” to have IaaS retrieve and download a RDP file that enables you to RDP to CONTOSODC. Use the ID and password that you defined in Step 2.2.
Once you’ve remoted into the server, create a domain named CONTOSO and promote the server to be a domain controller.
Step 3 Create the SQL Server
The process for creating the SQL Server 2012 VM is essentially the same as for the domain controller except for the image that you will choose.
Step 3.1 Choose a SQL image
IaaS presents a veritable smorgasbord of SQL and Windows Server versions:
Choose “SQL Server 2012 SP1 Enterprise on WS 2012.”
Subsequent steps in the wizard look the same as steps 2.2, 2.3, and 2.4 except for the information entered. The following tables show the information for the SQL VM:
Step 3.2 Virtual machine configuration
VERSION RELEASE DATE refers to the image as before. In this case, the image contains SQL Server 2012 and Windows Server 2012. Use the following values:
VERSION RELEASE DATE | 8/6/2013 |
VIRTUAL MACHINE NAME | CONTOSOSQL |
SIZE | Extra Large (8 cores, 14 GB memory) |
NEW USER NAME | demoadmin |
PASSWORD | ********* |
Step 3.3 Virtual machine configuration
CLOUD SERVICE | Create a new cloud service |
CLOUD SERVICE DNS NAME | CONTOSOSQL3.cloudapp.net |
REGION/AFFINITY GROUP/VIRTUAL NETWORK | CONTOSONET |
VIRTUAL NETWORK SUBNETS | Subnet-1(10.0.0.0/11) |
STORAGE ACCOUNT | storage-account-name-from-step-2 |
AVAILABILITY SET | (None) |
Step 3.4 Virtual machine configuration
Accept the default port mappings and complete the wizard.
Step 3.5 Add SQL Server to the CONTOSO Domain
Remote into the SQL server and make the following changes:
- Add the IP address of the domain controller (CONTOSODC) as a DNS server for IP v4. Without this change, the server can’t find the domain controller.
- Join the SQL server to the CONTOSO domain. Use the ID (demoadmin) and password when you’re prompted to authenticate.
Step 4 Create the SharePoint Server
The process for creating the SharePoint 2103 Server VM is essentially the same as for the other two VMs except for the image that you will choose.
Step 4.1 Virtual machine image selection
Select the image called “SharePoint Server 2013 Trial”:
Subsequent steps in the wizard look the same as steps 3.2, 3.3, 3.4, and 3.5 except for the information entered. The following tables show the information for the SharePoint VM:
Step 4.2 Virtual machine configuration
There is (currently) no VERSION RELEASE DATE input for the SharePoint 2013 image.
Provide the following values:
VIRTUAL MACHINE NAME | CONTOSOSP |
SIZE | Extra Large (8 cores, 14 GB memory) |
NEW USER NAME | demoadmin |
PASSWORD | ********* |
Step 4.3 Virtual machine configuration
CLOUD SERVICE | Create a new cloud service |
CLOUD SERVICE DNS NAME | CONTOSOSP3.cloudapp.net |
REGION/AFFINITY GROUP/VIRTUAL NETWORK | CONTOSONET |
VIRTUAL NETWORK SUBNETS | Subnet-1(10.0.0.0/11) |
STORAGE ACCOUNT | storage-account-name-from-step-2 |
AVAILABILITY SET | (None) |
Step 4.4 Virtual machine configuration
Accept the default mapping and click the checkmark complete the wizard.
Step 4.5 Add SharePoint Server to the CONTOSO Domain
Remote into the SQL server and make the following changes:
- Add the IP address of the domain controller (CONTOSODC) as a DNS server for IP v4. Without this change, the server can’t find the domain controller.
- Join the SharePoint server to the CONTOSO domain. Use the ID (demoadmin) and password when you are prompted to authenticate.
AZURE FOOTPRINT (AT THIS POINT)
Here’s what you should have in IaaS:
NETWORKS
- CONTOSONET
- 1 IP address is assigned to each VM for a total of 3 IP addresses.
VIRTUAL MACHINES
- CONTOSODC – Domain controller / DNS Server
- CONTOSOSQL – SQL Server
- CONTOSOSP – SharePoint 2013
STORAGE
- A storage account (provisioned in Step 2 when CONTOSODC was provisioned).
- A container named “vhds” (also provisioned in Step 2).
- VHDs for each VM (Located in the “vhds�� container.)
CLOUD SERVICES
- CONTOSODC3 – Domain controller
- CONTOSOSQL3 – SQL Server
- CONTOSOSP3 – SharePoint 2013
Step 5 Configure SharePoint
The SharePoint image is a server that has completed the first two parts of a normal SharePoint installation:
- Installation of SharePoint prerequisites
- Installation of SharePoint files
We’re taking a minimalist approach to your SharePoint farm. The following steps reflect this:
On CONTOSODC:
- Create 2 domain accounts:
- SPSETUP – Setup account for SharePoint
- SPFARM – Account required during the Configuration Wizard (PSCONFIG)
On CONTOSOSQL:
- Set “Max Degree of Parallelism” to 1 in SQL Management Studio.
- Add CONTOSOSPSetup as a SQL login with “SecurityAdmin” and “DBCreator” server roles.
- Open a firewall hole for inbound traffic on TCP port 1433.
On CONTOSOSP:
- Add SPSetup to the “Local Administrators” group.
- Log off of your remote desktop session
- Log on to a new remote desktop session as CONTOSOSPSetup
- Run the “SharePoint 2013 Products Configuration Wizard” by clicking on its desktop icon
- SharePoint Products Configuration Wizard (bullet points are for each screen)
- Welcome to SharePoint Products
- Connect to a server farm
- Choose “Create a new server farm”
- Specify Configuration Database Settings
- Database server: CONTOSOSQL
- Username: CONTOSOspfarm
- Password: *******
- Specify Farm Security Settings
- Passphrase: ******
- Configure SharePoint Central Administration Web Application
- Accept default values
- Completing the SharePoint Products Configuration Wizard
- Accept the default values and click “Next >”
- Configuration Successful!
- SharePoint will open up the Central Admin site.
- Let the wizard create all of the services using “CONTOSOspfarm”. (Remember, this is just to show the process not follow best practices.)
- Created a top-level team site called “IaaS Demo” and use the root path. Use the “Team Site” template.
Step 6 Expose SharePoint to the Internet
The SharePoint farm is now fully configured with a team site just waiting to be used. There’s only one ID (CONTOSO/spsetup) with permissions to the site but that would be easy to fix (add users to Active Directory and give those users permissions to the site). Let’s expose the site to the internet.