Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 6.57 KB

File metadata and controls

61 lines (41 loc) · 6.57 KB

Deploying Unreal Engine Pixel Streaming Server on EC2

This sample is for those who use Unreal Engine 4 to build content and wish to deploy this content to an audience via UE4 pixel streams. Content examples include but are not limited to: interactive entertainment, architectural visualization, high fidelity car configurators, or anyone who needs to let users access high quality interactive content via thin clients such as web browsers.

This sample deployment should take about 1 hour to complete, assuming you have an application with Pixel Streaming enabled. The 1-hour deployment includes:

  1. Creating an AWS account with proper permissions
  2. Creating the S3 bucket and uploading required files to S3
  3. Configuring CloudFormation template to be launched

If you do not have an application with Pixel Streaming, please go to the getting started with Pixel Streaming guide.

Working with UE4 Pixel Streaming on AWS

Using AWS and Unreal Engine 4’s Pixel Streaming solution, developers can create content with Unreal Engine and deploy on AWS so users can engage with the content from any modern Web browser. A build of the UE4 content is run on an Amazon Elastic Compute Cloud (Amazon EC2) G4 instance. G4 instances are GPU instances that are designed for graphics-intensive workloads and offer a powerful, low-cost, pay-as-you-go model which is ideal for on-demand interactive content.

This Quick Start deployment sets up an EC2 environment on AWS that includes the following:

  • Unreal Engine 4 Pixel Streaming components from your pixel streaming build are installed and run on startup. Components include UE4 Windows build with pixel streaming plug-in executable, Stun Server, Turn Server, and Signaling Web Server.
  • Nice DCV is installed allowing developers to connect to the G4 instance, for a low latency remote desktop experience that supports resolutions up to 4k. This allows a developer to remote in to test the build and optionally installUnreal Engine 4 directly on the machine.

Deployment Guide

Follow the steps outlined in the Unreal Engine Pixel Streaming Deployment Guide. Once deployed the CloudFormation stack will deploy the below architecture:

Architecture Diagram

CloudFormation Template Parameters

Parameters Details Default Value
InstanceType Amazon EC2 instance type for the pixel streaming server. Size should be smallest instance size that achieves required performance. g4dn.xlarge
OsVersion Specify the version of Windows(Windows Server 2019) OS to use. Valid values are “WindowsServer2019”, “WindowsServer2016”, or “WindowsServer2012R2”. Windows Server 2019
DiskSize Volume size for the host, in GB. 50
KeyPairName Name of AWS EC2 Key Pair. This is not used when logging into machine, but needed to secure instance on VPC. Requires input
UserPasswd Windows Administrator password used for logging into EC2 via NICE DCV or other administration. It is recommended that you change this default password. Ch4ng3M3!
PixelStreamerBootstrapLocation Specify the location of bootstrap file in S3 which is executed upon initial launch of EC2 instance. Requires input
PixelStreamerBuildLocation Specify the location of UE4 Pixel Streamer build zip file in S3. Requires input
PixelStreamingAccessCIDR IP address range, as an access CIDR, of pixel stream viewers. If your viewers are coming from a specific range, limit the access. 0.0.0.0/0
NiceDCVAccessCIDR IP address range, as an access CIDR, of admins and developers to access server via NICE DCV. It is recommended that you limit this to only trusted IPs, such as specifying your own IP. 0.0.0.0/0
Windows AMIs Default values ensure that the latest Windows AMI published by AWS is used. You can also define a different AMI to use with a different path. AWS Defined AMI Paths

Additional Resources

Solution Notes

Security

There are several security-related aspects of the architecture in this sample. The solution is deployed into the default VPC. It creates a security group that allows fine-grained control of traffic in and out of the EC2 hosting the Pixel Streaming server. You can limit access to IP addresses that need to access the host (see the HostAccessCIDR parameter earlier in this guide). This helps keep the host protected from malicious attacks and helps protect the data (UE4 Pixel Streaming build, in this case).

License

This library is licensed under the MIT-0 License. See the LICENSE file.