Your Personal Adobe Premiere and Media Encoder Studio in AWS
Easily create your own high-performance Adobe Premiere edit workstation and dedicated Adobe Media Encoder machine in the cloud (poor-man's version).
In this walkthrough we're going to bring up 2 AWS GPU instances. One will be used for your edit work and the other for rending your Premiere project on-demand.
The two instances will have a shared network drive using Amazon FSx, a fully managed native Microsoft Windows file system. This will allow you to work in Adobe Premiere and effortlessly make your assets and project available to AME.
Studio in the Cloud at re:Invent 2019
The inspiration for this comes from a reference architecture and guide that was developed by Teradici and AWS: https://aws.amazon.com/quickstart/architecture/cloud-video-editing/.
It's part of the larger idea of Studio in the Cloud and there is a great talk from re:Invent 2019 which covers all of the key concepts and services.
Below is a screenshot of the sample architecture shown at the re:Invent session linked above. It's a turn-key solution including many AWS services to enable your on-prem workforce to edit and render entirely in the cloud.
Poor-Man's Version
I've pulled apart their sample architecture to experiment with just the bare minimum required to have a dedicated workstation and render node linked with shared-storage using FSx.
Warning
Note that it is for prototyping, and for simplicity uses publicly available instances. You should consider all of AWS well-architected guidelines, for example, put the workstations in a private subnet with NAT gateway, RD gateways and lock-down security groups.
Demo Architecture
- The template above will create a VPC with 2 public subnets, 1 public route table and internet gateway.
- The 2 subnets are required by AWS Managed Microsoft Active Directory Service.
- The directory service is required by FSx to enable your workstations to access shared storage.
- FSx has its own security group to allow all traffic from your VPC and reject all other.
- The VFXHost security group, role and instance profile are used by your workstations.
- As noted in the warning above, 2 public IP addresses are assigned to your workstations.
The workstations are automatically configured to join the Microsoft Active Directory Domain and map the shared network drive provided by FSx.
Creating the Stack
Click the deep-link below go to CloudFormation with the template pre-loaded.
You must enter the following stack parameters on the next screen:
AdminPassword
: Edit and Render workstation Administrator account password as well as the Active Directory domain password. DO NOT USE your personal password, generate a random string, this will appear in config files.EBSVolumeSize
: Workstation C drive size in gigabytes.InstanceType
: Workstation GPU instance type, currently limited to G3 class instances.KeyPairName
: Select the key pair from the dropdown.
When this stack is complete, you will have 2 running EC2 instance, go to the Outputs tab and you will see the public IP of the Edit and Render instance.
Now you can open the Teradici PCoIP Client, connect and install Adobe Premiere and AME on the respective instances. Unfortunately this can't be done before-hand because the installer requires sign-in.
Then start editing just like you would on your local PC, except you'll store everything in the shared folder. When you're ready, switch over to the render instance and render your project in AME just like you would locally.
The AME instance has the same shared folder mapped and it can render without taking up resources while you continue editing.
The EC2 instance comes pre-installed with GPU drivers and the Teradici Cloud Access software, refer to this https://aws.amazon.com/marketplace/pp/B07CSG43VK?ref=cns_1clkPro for more information on requirements and pricing.
Wrapping Up
Be sure to stop your running instances when you are done. These GPU instances are not cheap and you will quickly erode any savings by forgetting it for a few hours.
When you're ready to terminate the instance, just delete the stack, it will cleanup all of the resources associated with it.
If you stored any files on the FSx shared file system, be sure to create a backup and store it on S3 or your files will be lost when the stack is deleted.
About Me
I'm a software engineer and hold a Masters degree in Mechanical and Aerospace Engineering from the University of California, Irvine. My broad background helps me adapt and stay passionate about finding pragmatic solutions to complicated problems. Let's chat ackhatib@gmail.com.