Run SharePoint on AWS to rapidly deploy and scale your collaboration platform. Take advantage of the benefits that the AWS cloud offers such as pay-as-you-go pricing, scalability, and data integrity to run your SharePoint workloads today. In this workshop we will cover the best practices for creating your SharePoint infrastructure and show you options for migrating your data and applications.
AWS Workshop Series: Microsoft SQL server and SharePoint on AWS
1.
2. Microsoft SQL Server and
Microsoft SharePoint on AWS
Steve Shirkey
Solutions Architect ASEAN
Amazon Web Services (Singapore)
3. What to Expect from the Session
• AWS Fundamentals
• Microsoft SQL Server Options on AWS
• SQL Server on Amazon EC2
• Amazon RDS for SQL Server
• Microsoft SharePoint Options
• Marketplace Offerings
• QuickStart
11. Architecture: AWS As a DR Site
Higher
RTO
Lower
RTO
Backup &
Restore
Pilot Light
Spectrum of Disaster Recovery
Options
Back up to S3 with AWS
Storage Gateway
a
Replace On-Premises Tape
System
a
Leverage Amazon Glacier for
Data Archiving
SQL Server Log Shipping over
VPN or Direct Connect
a
EC2 Instances in Stopped
State
a
Cool DR Site with Lower Costs
Warm Site
SQL Server Asynchronous
Always-On Availability Group
over Direct Connect
a
EC2 Instances in Running
State
a
12. Architecture: AWS As a DR Site
Minimal Amount of
Running Infrastructure on
AWS Keeps Costs Low
Backup & Restore
Typically Longer RTO
For more info on configuring
backup and recovery, see
Enterprise Backup and
Recovery On-Premises to AWS.
For more info on configuring
AWS Storage Gateway, see
AWS Storage Gateway
Documentation.
Availability Zone
Direct Connect,
VPN or HTTPS
On-Premises Data Center
HTTPS
AWS Storage
Gateway VM
Storage: Direct
Attached or SAN
APP Server
WFE Server SharePoint EC2
Instances in
Stopped State
SQL Server EC2
Instance in
Stopped State
AWS DR
SharePoint Farm
APP Server
WFE Server
On-Premises
SharePoint Farm
App
Server
Backup Server
Supporting
iSCSI, CIFS,
SMB
SQL
Server
SQL Server
EBS
Volume
Storage
Gateway
Service
S3 Bucket
WFE
Server
WFE
Server
13. Architecture: AWS As a DR Site
Small Amount of Running
EC2 Infrastructure on AWS
Pilot Light
SQL Log Shipping Increases
Automation of Database Layer
Backup and Restore Operations
For more info on configuring log
shipping between on premises
and AWS, see Deploying
Microsoft SQL Server on
Amazon Web Services.
For more info on configuring a
pilot light DR environment on
AWS, see Using Amazon Web
Services for Disaster Recovery.
Availability Zone
Transaction
Log Shipping
Direct Connect
or
VPN
Transaction
Log Replay
APP ServerAPP Server
WFE ServerWFE Server SharePoint EC2
Instances in a
stopped state
AWS DR
SharePoint Farm
SQL Server
On-Premises Data Center
On-Premises
SharePoint Farm
WFE
Server
WFE
Server
App
Server
App
Server
SQL
Server
14. Architecture: AWS As a DR Site
Lower RTOs Require More
Running EC2 Infrastructure
on AWS
AlwaysOn Availability
Group(s) Further Increase
Automation of Database
Synchronization/Restore
Warm Site
For more info on configuring
always-on availability groups
between on premises and AWS,
see Deploying Microsoft SQL
Server on Amazon Web Services.
Availability Zone
APP ServerAPP Server
WFE ServerWFE Server SharePoint EC2
Instances in a
running state
AWS DR
SharePoint Farm
SQL
Server
On-Premises Data Center
On-Premises
SharePoint Farm
WFE
Server
WFE
Server
App
Server
App
Server
SQL
Server
SQL
Server
Asynchronous Commit
SQL Server Always On
Availability Group
Sync
Direct Connect
or
VPN
18. Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
Query Construction
Query Optimisation
Schema Design
Traditional
DC
Why Managed Databases?
19. Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
Query Construction
Query Optimisation
Schema Design
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
Query Construction
Query Optimisation
Schema Design
SQL Server
on EC2
Why Managed Databases?
Traditional
DC
20. Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
Query Construction
Query Optimisation
Schema Design
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
Query Construction
Query Optimisation
Schema Design
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
Query Construction
Query Optimisation
Schema Design
Amazon
RDS
SQL Server
on EC2
Traditional
DC
Why Managed Databases?
21. Amazon RDS for SQL Server
Consider RDS first
Focus on:
• Business value tasks
• High-level tuning tasks
• Schema optimization
No in-house database expertise
Which Option Is Right for You?
SQL Server on Amazon EC2
Need control over:
• DB instance & OS
• Backups, Replication
• Clustering
• sysadmin role
Use options not in Amazon RDS
22. SQL Server Features at a Glance
* Self-installed
Amazon RDS for SQL Server SQL Server on Amazon EC2
Versions Supported: 2008 R2, 2012, 2014, 2016 2005*, 2008*, 2008 R2, 2012, 2014, 2016
Editions Supported: Express, Web, Standard, Enterprise
High Availability: Self-managed; AlwaysOn, Mirror, Log ShipAWS-managed
Encrypted storage using AWS KMS (all editions); TDE supportEncryption:
Authentication: Windows & SQL authentication
Maintenance plans & third-party toolsManaged automated backupsBackups:
Self-managedAutomatic software patchingMaintenance:
23. License Included
• Available for Amazon RDS
• Use an Amazon Machine Image
(AMI) that includes SQL Server for
use on Amazon EC2
• Licensing cost included in the
hourly cost of the EC2 instance or
RDS DB instance
• Available for Web, Standard, and
Enterprise editions
Licensing Options for SQL Server on AWS
Bring Your Own License
• Amazon RDS and Amazon EC2 in
default tenancy require License
Mobility through Software
Assurance
• Can use per-core or per-socket
licenses with Amazon EC2
Dedicated Hosts without License
Mobility benefit
• License Mobility requires benefit
verification with Microsoft
25. SQL Server Best Practices on Amazon EC2
• AWS storage options
• Configure tempdb
• AlwaysOn AvailabilityGroups
• Failover cluster instances
26. Amazon Elastic Block Storage
What is Amazon Elastic Block Storage (EBS)?
• Network-attached block storage
• Available for all instance types
• Many instance types support EBS optimization
– dedicated channel for network storage I/O,
eliminating contention with regular I/O
• Some instance types are EBS optimized,
others offer it as an option
27. Amazon EBS Volume Types
Volume
Type
General
Purpose: GP2
Provisioned
IOPS: PIOPS/IO1
Throughput
Optimized: ST1
Cold HDD: SC1
Technology: SSD SSD Magnetic Magnetic
Sizes: 1 GiB – 16 TiB 4 GiB – 16 TiB 500 GiB – 16TiB 500 GiB – 16
TiB
Max. IOPS: 10,000 20,000 500 250
Max.
Throughput:
160 MiB/sec 320 MiB/sec 500 MiB/sec 250 MiB/sec
Properties: 3 IOPS/1 GB,
burstable up to
3000 IOPS for
max 1 TiB
volumes
Consistent
provisioned
performance, up to
50 IOPS/GB
Optimized for throughput, and
sequential read/write workloads,
baseline per TiB throughput, with
burst capability
28. Amazon EC2 Instance Storage
What is instance storage?
• Some instance types come with direct attached
disk-based storage
• Included in the hourly cost
• Data on instance storage does not persist a user-
initiated instance stop/start or hardware failure
• Must be allocated at launch
• Fast disk I/O without going over the network
29. Storage Performance for EC2 SQL Server
Consider IOPS and throughput
needed by your workload
• Enable EBS optimization on instance
• Create a single volume for data and
logs
• Format with 64K allocation unit size
• Match total EBS IOPS and throughput
to instance type
• Stripe EBS PIOPS volumes for more
than 20,000 IOPS
Example volume layout:
C: Boot on General Purpose SSD
D: Data and log files on PIOPS
single or striped set
E: Backups on ST1 or SC1
Z: Tempdb on instance storage (if
available)
30. Configuring tempdb on Instance Storage
Move tempdb files to instance-storage-backed drives:1
2
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'Z:tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'Z:templog.mdf');
GO
Modify startup to grant service account access:
icacls Z: /grant "NT SERVICEMSSQLSERVER”:(OI)(CI)(F)
31. SQL Server HA & DR on Amazon EC2
Use multiple Availability Zones
• Instance-level and AZ-level failure tolerance
• Synchronous replication
Options
• Enterprise Edition: AlwaysOn Availability Groups
• Standard Edition: Failover cluster instances using
partner block-level replication solution
32. Multi-AZ AlwaysOn Availability Group
Availability Zone 1
Private Subnet
EC2
Primary
Replica
Availability Zone 2
Private Subnet
EC2
Secondary
Replica
AWS Region
Synchronous Commit
Automatic Failover
33. Multi-region AlwaysOn Availability Group
Availability Zone 1
Private Subnet
EC2
Primary
Replica
Primary: 10.0.2.100
WSFC: 10.0.2.101
AG Listener: 10.0.2.102
AWS Region A
Availability Zone 2
Private Subnet
EC2
Secondary
Replica
Primary: 10.0.3.100
WSFC: 10.0.3.101
AG Listener: 10.0.3.102
Availability Zone 1
Private Subnet
EC2
Secondary
Replica
Primary: 10.1.2.100
WSFC: 10.1.2.101
AG Listener: 10.1.2.102
AWS Region B
Elastic IP Elastic IP
VPN
Synchronous Commit
Automatic Failover
Asynchronous Commit
Manual Failover
34. Failover Cluster Instance on Amazon EC2
Amazon EBS Amazon EBS
Availability Zone 1
Private Subnet
EC2
Primary
Replica
Availability Zone 2
Private Subnet
EC2
Secondary
Replica
AWS Region
Data Replication
SIOS DataKeeper Cluster Edition
36. Amazon RDS for SQL Server Best Practices
• Moving data to/from Amazon RDS
• SQL Server’s native backup and restore
• HA SQL Server deployments
• Storage and I/O performance
• Active Directory with Amazon RDS
37. Moving Data In and Out of RDS for SQL Server
.BAK File Import and Export
Leverages SQL Server’s native backup functionality
AWS Database Migration Service
Minimize downtime during migrations, migrate between
different DB platforms, Schema Conversion Tool
AWS Marketplace
Third-party data import and export tools and
solutions
1
3
4
Microsoft SQL Server Database Publishing
Wizard, Import/Export
Export to T-SQL files, load using sqlcmd
2
38. .bak File Import and Export Prerequisites
RDS for SQL Server DB Instance✓
S3 Bucket (to store .bak files)✓
DB Option Group enabling SQLSERVER_BACKUP_RESTORE✓
SSMS or other client to connect to DB instance and execute
the stored procedures
✓
39. Using .bak File Import and Export
/* Restoring from backup file */
exec msdb.dbo.rds_restore_database
@restore_db_name='your database name'
@s3_arn_to_restore_from='arn:aws:s3:::<bucket>/<file path>';
/* Exporting to backup file */
exec msdb.dbo.rds_backup_database
@source_db_name='your database name',
@s3_arn_to_backup_to='arn:aws:s3:::<bucket>/<file path>',
@overwrite_S3_backup_file=1;
/* Check job status */
exec msdb.dbo.rds_task_status;
40. High Availability in RDS for SQL Server
Amazon RDS for SQL Server Multi-AZ
• Principal and secondary DB nodes in
different Availability Zones
• Leverages SQL Server DB mirroring
• Automatic failover (typically, 1–2 minutes)
• Always run production workloads in
Multi-AZ mode
41. High Availability in RDS for SQL Server
Amazon RDS for SQL Server Multi-AZ
• Principal and secondary DB nodes in
different Availability Zones
• Leverages SQL Server DB mirroring
• Automatic failover (typically, 1–2 minutes)
• Always run production workloads in
Multi-AZ mode
52. Storage I/O Performance Planning
Amazon RDS storage throughput
depends on DB instance class
50%/50% balanced workload saturating both channels
I/O requests sizes: Provisioned IOPS
can handle I/O up to 256 KB in size
I/Os larger than 32 KB consume multiple IOPS
Maximum storage IOPS: 20,000
Capacity for concurrent I/O–optimize latency
1
3
2
Average queue depth: I/O requests
waiting to be serviced
~5 outstanding I/O op/1000 IOPS provisioned
4
53. Storage I/O Performance
Amazon RDS Amazon EC2
Type Size Performance Size Performance Burst Capacity Pricing Model
Magnetic
Storage
20 GiB–1 TiB ~100 IOPS 1 GiB–1 TiB ~ 100 IOPS Yes, several
hundred IOPS
Allocated
storage; I/O
operations
General
Purpose
(SSD)
20 GiB–4 TiB
(min. 100 GiB
recommended)
3 IOPS/GiB 1 GiB–16 TiB 3 IOPS/GiB
for volumes 1
TiB or less, up
to 10,000
IOPS for
larger volumes
Yes, up to
3000 IOPS
per volume,
subject to
credits (< 1
TiB in size)
Allocated
storage
Provisioned
IOPS
(SSD)
100 GiB–4 TiB
(min. 200 GiB
for Standard
edition and up)
Up to max.
20,000 IOPS
4 GiB–16 TiB Up to 20,000
IOPS
No, fixed
allocation
Allocated
storage;
provisioned
IOPS
54. Existing Active Directory Integration
• Windows Authentication support
provided by AWS Directory Service
Microsoft AD directory
• RDS DB instance joined to the
directory operated domain
• Integrate with existing AD
deployment using a forest trust
• Configure inbound trust on the
external forest + outbound trust in
the directory
• Configure conditional forwarders
for the two domains
56. Browse, Test, and Buy Enterprise
Software
a
Simplified Procurement Process
a
Consume as Needed Without
Overprovisioning
Architecture: Marketplace
One AWS Bill
a
Consume Hourly, Monthly,
Annually
a
Customers run over 143M hours
of software per month
57. Architecture: Marketplace
SharePoint Enterprise 2016
for AWS "All In One" for SME
or Line of Business
implementation. Best for Test
or Development teams
working on short-term
development projects, to
share and collaborate on new
ideas and engage in social
conversations.
SharePoint Enterprise 2016 All In
One
Availability Zone
Subnet
Windows Server
2012R2
Active Directory Domain Services
SQL Server 2014 Enterprise
SharePoint Server 2016
Internet Gateway
61. Architecture: SharePoint Quick Start
1. Prepare an AWS Account.
2. Configure and Launch the Stack.
3. Configure Availability Group(s).
4. Done!
Deployment Steps
Template takes about 3
hours to complete
Default template will cost
about $12 per hour
62. Architecture: Multi-AZ SharePoint
Single Production Farm
Database Backups Shipped Offsite
and/or Replicated to Alternate Data
Center
Typical SharePoint DR Plan Involves
a Full Farm Rebuild Followed by a
Restore of Content Database
Backups
Typical On-Premises SharePoint Setup
Data Center #1
Storage Volumes or
Database Backups
Synchronized/
Replicated to
Alternate Datacenter
Production SharePoint Farm
Data Center #2
Database Backups
Located on Tape
Media Transported
to Offsite Facility
63. Architecture: Multi-AZ SharePoint
AWS Multi-AZ Design Pattern
AWS is built around Regions and
Availability Zones (AZs)
Region is a physical location in the world
where we have multiple Availability
Zones
Availability Zones consist of one or more
discrete fault tolerant data centers, each
with redundant power, networking and
connectivity
Availability Zones are connected to each
other with private fiber-optic low-latency
links
You can achieve High Availability by
deploying your application that spans
across multiple Availability Zones
Data Center Redundancy Achieved with
Little or No Effort!
Availability
Zone #1
Web Server
DB Server
Web Server
DB Server
Single Application Boundary Spanning Multiple AZs
Synchronous Replication / Automatic Failover
Availability
Zone #2Low Latency
64. Architecture: Multi-AZ SharePoint
VPC, Two AZs, Single Public
and Multiple Private Subnets
a
Include Remote Access, NAT
Gateways and Active Directory
a
Stretched SharePoint Farm
Spanning Multiple AZs
Providing Data Center
Redundancy
a
Multi-AZ Reduces Risk Profile
and Simplifies DR Planning
AWS Multi-AZ
SharePoint 2013
Availability Zone #1
Web Tier (Subnet) App Tier (Subnet) Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
VPC NAT
Gateway
Public Tier (Subnet) Data Tier (Subnet)
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
Domain
Controller
Domain
Controller
Availability Zone #1
Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
AWS
ELB
VPC NAT
Gateway
Public Tier (Subnet) Data Tier (Subnet)
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
SQL Server
SQL Server
S SharePoint
WFE S SharePoint
APP
Web Tier (Subnet) App Tier (Subnet)
Domain
Controller
Domain
ControllerS SharePoint
APPS SharePoint
WFE
Always On
Availability Group
(Synchronous)
65. Fully Supported to Run a SharePoint
DR Farm/Two-Region DR Pattern on
AWS for SharePoint
AWS Supports Traditional
Two-Data Center Patterns
Architecture:
Multi-AZ SharePoint
Availability Zone #1
Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
AWS
ELB
VPC NAT
Gateway
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
SQL Server Domain
Controller
Domain
Controller
Region US East
Region US West
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #1
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
Domain
Controller
Always On
Availability Group
(Asynchronous)
SQL Server
Data Tier (Subnet)
VPN
DR Farm
S SharePoint
APPS SharePoint
WFE
Public Tier (Subnet) Web Tier (Subnet) App Tier (Subnet)
S SharePoint
APPS SharePoint
WFE
S SharePoint
APPS SharePoint
WFE
Data Tier (Subnet)
SQL Server
Always On
Availability Group
(Synchronous)
Production Farm
Availability Zone #1
66. Architecture: SharePoint 2016
Minimum Size SharePoint
2016 MinRole Farm
a
Does Not Provide HA
MinRole
SharePoint
Availability Zone #1
Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
AWS
ELB
VPC NAT
Gateway
Public Tier (Subnet) Data Tier (Subnet)
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
SQL Server
S SharePoint
Front-end S SharePoint
Search
Web Tier (Subnet) App Tier (Subnet)
Domain
ControllerS SharePoint
Application
S
SharePoint
Distributed
Cache
67. Architecture: SharePoint 2016
HA SharePoint 2016
MinRole Farm
a
Supports No Downtime
Patching
MinRole
SharePoint
Availability Zone #1
Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
AWS
ELB
VPC NAT
Gateway
Public Tier (Subnet) Data Tier (Subnet)
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
SQL Server
SQL Server
Web Tier (Subnet) App Tier (Subnet)
Domain
Controller
Domain
Controller
S SharePoint
Application
Always On
Availability Group
(Synchronous)
S SharePoint
Front-end
S
SharePoint
Distributed
Cache
S SharePoint
Search
S
SharePoint
Distributed
Cache
S
SharePoint
Distributed
Cache
S SharePoint
Application
S SharePoint
Search
S SharePoint
Front-end
68. Architecture: SharePoint 2016
HA SharePoint 2016
MinRole Farm
a
Supports No Downtime
Patching
Add Office Online Server
and Workflow Manager
MinRole
SharePoint
Availability Zone #1
Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
AWS
ELB
VPC NAT
Gateway
Public Tier (Subnet) Data Tier (Subnet)
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
SQL Server
SQL Server
Web Tier (Subnet) App Tier (Subnet)
Domain
Controller
Domain
Controller
S SharePoint
Application
Always On
Availability Group
(Synchronous)
S SharePoint
Front-end
S
SharePoint
Distributed
Cache
S SharePoint
Search
S
SharePoint
Distributed
Cache
S
SharePoint
Distributed
Cache
S SharePoint
Application
S SharePoint
Search
S SharePoint
Front-end
Office
Online Server
Office
Online Server
Workflow
Manager
Workflow
Manager
Workflow
Manager
69. Architecture: SharePoint 2016
MinRole Enhancements
a
Supports Shared Roles
a
Minimum Number of
Farm Servers for HA = 4
SharePoint 2016
Feature Pack1
Availability Zone #1
Directory Tier (Subnet)
Web Tier (Subnet) App Tier (Subnet) Data Tier (Subnet) Directory Tier (Subnet)
Availability Zone #2
AWS
ELB
VPC NAT
Gateway
Public Tier (Subnet) Data Tier (Subnet)
Windows Server
RD Gateway
VPC NAT
Gateway
Public Tier (Subnet)
Windows Server
RD Gateway
SQL Server
SQL Server
Web Tier (Subnet) App Tier (Subnet)
Domain
Controller
Domain
Controller
Always On
Availability Group
(Synchronous)
S
SharePoint
Front-end
with
Distributed
Cache
S
SharePoint
Application
with Search
S
SharePoint
Front-end
with
Distributed
Cache
S
SharePoint
Application
with Search
70. Useful Resources
Microsoft SQL Server on AWS
https://aws.amazon.com/windows/products/sql/
Deploying SQL Server on AWS (whitepaper)
https://d0.awsstatic.com/whitepapers/RDS/Deploying_SQLServer_on_AWS.pdf
Amazon RDS for SQL Server Supported Features
http://amzn.to/2dHsNEU
Implementing Microsoft Windows Server Failover Clustering and SQL Server
AlwaysOn Availability Groups in the AWS Cloud
http://amzn.to/2cQTD1h