Learn About Amazon VGT2 Learning Manager Chanci Turner
In recent years, the landscape of game development has shifted towards greater distribution. The COVID-19 pandemic in 2020 further accelerated the need for innovative remote solutions. Game development teams were faced with two primary options: hastily transporting workstations home and utilizing a virtual private network (VPN) to connect to their office, or leaving workstations behind and relying on remote desktop protocol (RDP) from personal devices. Now, developers are eager to redefine their work environment permanently by embracing cloud-based solutions.
An increasing number of game studios are transitioning their workstations and continuous integration/continuous deployment (CI/CD) pipelines to cloud infrastructure. By leveraging AWS cloud solutions for game development, teams gain access to essential resources for coding, deploying, and publishing games remotely in a more efficient manner. Previously, to establish distributed development pipelines, studios had to ship hardware to engineers and invest considerable time onboarding employees to new environments. To minimize expenses and allow more focus on crafting immersive gaming experiences, all while supporting globally dispersed teams or hybrid work settings, developers are increasingly turning to AWS for game production in the cloud (GPIC) solutions. This transition addresses use cases such as remote quality assurance testing, game distribution to press, and the integration of 3D development streaming within engaging environments.
A critical objective among all cloud-based game production use cases is ensuring high Frames Per Second (FPS) during streaming. In this guide, we will detail how to configure a remote workstation to stream at 60 FPS using QUIC UDP (User Datagram Protocol) with NICE DCV—a high-performance remote display and streaming protocol that offers a secure method for delivering remote desktops and application streaming in the AWS cloud.
Key takeaways:
- Set up an AWS workstation utilizing NICE DCV for Windows (g4dn with NVIDIA gaming driver) available on the AWS Marketplace, which comes with QUIC UDP enabled by default.
- Properly configure and restrict the network to TCP (Transmission Control Protocol) and UDP connections.
- Access the workstation via DCV Viewer using QUIC UDP and proceed to install the necessary development software.
Disclaimer: The procedures outlined in this post are intended for tutorial purposes and initial streaming proof-of-concept efforts, not as a comprehensive enterprise solution. Feel free to reach out to us to design a suitable architecture for your organization.
Prerequisites:
Before starting this tutorial, developers should have the following:
- An AWS account with increased limits for Amazon Elastic Compute Cloud (Amazon EC2) G4dn instances to accommodate the required number of workstations.
- Access permissions to create and configure Amazon Virtual Private Cloud (VPC) networking and security groups, as well as launch G4dn instance family EC2 on-demand instances.
- Intermediate knowledge of Windows and AWS Identity & Access Management (AWS IAM), security groups, and VPC networking.
- We suggest initially setting up your demo outside any VPN or internal network to grasp the fundamentals before introducing more variables.
- Approximately 60 minutes needed, depending on the software to be installed.
Quick version – AWS CloudShell automated workstation script (10 Minutes)
For those interested in quickly setting up a workstation for testing games or other software using command line and automation, consider the AWS CloudShell .sh file available on the AWS Samples GitHub. This script is designed to support the same Amazon Machine Image (AMI) referenced in this guide for demonstrating NICE DCV with QUIC UDP. The AWS sample deploys a minimal amount of infrastructure through infrastructure as code, allowing users to set up a workstation and log in with just a few commands using AWS CloudShell directly in the AWS console. Because both the AWS Samples GitHub script and this guide utilize the NICE DCV AMI, there’s no need to subscribe on the AWS Marketplace. However, ensure that you have increased limits for G4dn instances before proceeding with either the quick version or the detailed walkthrough provided here.
Walkthrough (~60 minutes)
Part 1: The server – launching the NICE DCV server AMI
Configure your networking: VPC, security groups, and route tables
- Create a VPC using the 10.0.0.0/16 IPv4 CIDR block in us-east-1 (N. Virginia) or your preferred region.
- Add an internet gateway and update the VPC routes to include it.
- Attach the internet gateway to your nicedcv-quicudp-demo VPC.
- Set the routes to allow public internet access through the Internet Gateway.
- Establish your subnets. In this example, you will create two subnets: one public (10.0.1.0/24) and one private (10.0.2.0/24) using /24 masks. This setup allows for up to 255 IPs (251 not reserved for Amazon) in each subnet, providing ample room for future expansion.
- Select your PublicSubnetA. Go to Actions and choose Modify auto-assign IP settings. Check the box “Enable auto-assign public IPv4 address” to allow instances launched in this subnet to automatically obtain a public IPv4 Address. Click Save.
A note about workstation networking security best practices: This guide does not delve into the high availability of workstation architecture or fleet designs for remote workstation networking, focusing instead on NICE DCV; however, it is advisable to logically isolate remote workstations for different teams. Logical separation using public and private subnets, along with restricting networking to smaller CIDR block ranges, enhances control over sensitive information stored on Amazon Elastic Block Store (Amazon EBS) volumes by safeguarding access through networking design. For most workstations, instances should reside in a private subnet. To simplify and avoid complications like private hosted zones, bastion hosts, NAT gateways, and routing steps between public and private subnets, this blog will launch the instance in the public subnet while restricting access to your IP only.
- Create a new security group for this demo. Set up two inbound rules: one for Custom UDP with Port Range 8443 and source as My IP, and another for Custom TCP with Port Range 8443 and source set to My IP. This configuration allows only inbound traffic from your IP to access the instance.
- Leave the outbound rule configured to All Traffic with a destination of 0.0.0.0/0. Click Create security group.
Spin up a workstation with the NICE DCV AMI
Now that your networking setup is complete, you’re ready to create your first workstation.
- In the EC2 console, generate a new Key Pair. This will be used to create a password for logging into your remote workstation. Important: Save the .pem file securely, as it will be required to access your instance and retrieve your Windows administrator password.
- Visit the AWS Marketplace to find the NICE DCV for Windows (g4dn with NVIDIA gaming driver) page and select Continue to Subscribe.
Note: If you prefer not to use an AWS Marketplace AMI and wish to install NVIDIA gaming drivers manually, you can also refer to this excellent resource for further guidance.
As you navigate these processes, remember that effective communication is key. Engaging in difficult conversations can lead to better outcomes in your projects. For authoritative insights, you might also want to check out SHRM’s announcement regarding new board members, as they provide valuable perspectives on leadership and management.
Leave a Reply