Amazon Nimble Studio : How to Create an AMI with Cinema4D

Prerequisites

Before starting with the AMI creation we need to download and install the NICE DCV client. The NICE DCV client can be downloaded from the official NICE DCV website.

Next we will need to create an IAM policy and a role to allow our workstations to work properly with NICE DCV and AWS Session Manager.

Let’s start with the policy. In the AWS console, go to IAM > Policies > Create policy. Go to the JSON tab and paste the following policy:

{
"Version": "2012–10–17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::dcv-license.<REGION>/*"
}
]
}

Replace “<REGION>” with the region you are using for your Nimble Studio deployment. For example in this case I have deployed my Nimble Studio in North Virginia, so my resource line would be: “arn:aws:s3:::dcv-license.us-east-1/*”. Click the “Next” button, add any tags you might want and re-click the “Next” button. In the final step you must give a name to the policy. I used “NimbleStudioDCVLicenseS3Access-us-east-1”; don’t forget to adapt the region in the name if you are using a different region.

Now let’s create the IAM role we will later give to an EC2 instance. In the AWS Console, go to IAM > Roles > Create role.

Ensure “AWS service” is selected under “Select type of trusted identity”, and in “Common use cases” choose “EC2”. Click the “Next” button at the bottom of the page. For this role we will add two policies:

  • The one we created previously, in my case “NimbleStudioDCVLicenseS3Access-us-east-1”
  • “AmazonSSMManagedInstanceCore” — this will allow us to use AWS Session Manager.

Click the “Next” button, add any tags you’d like and re-click the “Next” button. We now have to give a name to our role, for this article I will use “Nimble_Studio_Build_AMI”.

Base AMI

As we start, we will need to select an AMI on which we will base our own. Fortunately the AWS team already provides a very complete AMI with everything required to make it work with Nimble Studio. We will need to subscribe to this AMI on the AWS Marketplace here: https://aws.amazon.com/marketplace/pp/prodview-zu35u2mvu6deg.

Once you are subscribed, in the AWS console go to “AWS Marketplace Subscriptions” and launch a new instance of “Nimble Studio Windows Workstation AMI”.

Leave the options as they are, except for the region, where you will have to select the region of your Nimble Studio deployment.

Configure the instance for software installation

First select the instance type you will want to use during the setup. The AMI provided by the AWS team only allows for g4dn instances. That makes sense as this is currently the only instance type you can use with Nimble Studio. For the size of the instance, choose whatever suits you; in this article I will use a g4dn.xlarge. Click the “Next: Configure Instance Details” button.

In this step we will configure the instance detail. In “Network” choose your default VPC or a publicly accessible one. Ensure that you are not using the VPC created by the Nimble Studio Builder. For “Auto-assign Public IP” choose “Enable”. And finally for “IAM role” choose the one we have created in the prerequisites section — in my case “Nimble_Studio_Build_AMI”. And finally, click the “Next: Add Storage” button.

The third step consists of selecting the storage we want. Choose the capacity you will need for your use with your Nimble Studio workstations. For this tutorial we will go with a disk space of 400GB which should be enough in this deployment for our needs. Keep in mind that the larger the storage you configure, the longer the time it will take to finalize the AMI creation. When you are done, click “Next: Add Tags”

In this step we can optionally add some tags to our instance. I recommend adding at least a “Name” tag so that later we won’t confuse this instance with another one. In this tutorial I will use “WinWorkstationAMIBuilder”. Once again, when you are done, click “Next: Configure Security Group”

For the sixth step we will need to configure the security group. You can either reuse the security group you created or select the “Create a new security group” radio button. For the name I have used “Nimble_Studio_Build_AMI”, and “Security group for building Nimble Studio AMIs” for the description. Change the default added rule with “Custom TCP Rule” for the type, “8443” for the port range, and “0.0.0.0/0” for the Source. You can optionally add a description for your rule, and finally click the “Review and Launch” button.

In the final screen, review your settings and finalize the instance creation by clicking the bottom right button “Launch”. As a final step, you will have to select an RSA key for retrieving the password of your instance. Create a new key or use an old one if you already have one.

Restart the NICE DCV session as Administrator

Wait for the instance to come alive, this could take up to 15 minutes.

When the instance has successfully started, select it and click the “Connect” button in the top bar.

If you see an error message indicating that the session manager is not available, you will have to wait as your instance has not completed its boot sequence.

In the “Session Manager” tab, click “Connect” in the bottom right corner. You should now be connected to an online powershell terminal.

When your instance starts, it also starts a NICE DCV session, however, for safety reasons the session starts as a standard user. Since we need to install software on the instance, we will need to use an administrator session. Use the following command line to restart NICE DCV as administrator.

cd "C:\Program Files\NICE\DCV\Server\bin\"
./dcv close-session console
./dcv create-session --owner Administrator console

When you have entered those command lines, and received no error, you can close your session manager terminal.

Connect with NICE DCV

Now that everything is configured we are able to connect to the instance to install Cinema4D. For that go to the AWS Console, go to the EC2 product page, list all your instances, and select the instance you have created. It should be named “WinWorkstationAMIBuilder” if you used the same name as mine. In the details tab, copy the “Public IPv4 address”, start the NICE DCV client and paste the IP address. If you are asked about a certificate, trust it and continue.

Once this is done NICE DCV will ask for a username and a password. The username is “Administrator”, however the password is randomly generated. To retrieve it, go back to the AWS Console, select the instance in the EC2 instance list and in the top bar go to Actions > Security > Get Windows password. Use the key you have specified when you deployed the instance and click “Decrypt Password”.

Download and run the installers

Inside your new virtual workstation, copy/paste one of the links on the browser to download the different installers so you can start working. By default, Blender is already set up so you don’t need to find an installer for it.

List of recommended software:

Cinema 4D (Windows | Mac): Cinema 4D is a professional 3D modeling, animation, simulation and rendering software solution. Its fast, powerful, flexible and stable toolset make 3D workflows more accessible and efficient for design, motion graphics, VFX, AR/MR/VR, game development and all types of visualization professionals. Cinema 4D produces stunning results, whether working on your own or in a team.

(Price Monthly: $94 or Annually: $719 -> $59,91 monthly)

Useful Plugins:

  • X-Particle (fully-featured advanced particle and VFX system)
  • Forester (provides tools for the creation of natural elements such as treesplantsrocks)
  • Turbulence FD (uses a voxel grid to describe the volumetric clouds of smoke and fire)
  • Realflow (fluid simulation)
  • Thrausi (simulate a building demolition)
  • Hot4D (create ocean)
  • ReeperX (create ropes and similar structures)
  • Topowire (creates wires from spheres and other structures)
  • GSG Plugins (list of another useful plugins)

Redshift: (Windows | Linux Mac): Redshift is a powerful GPU-accelerated renderer, built to meet the specific demands of contemporary high-end production rendering. Tailored to support creative individuals and studios of every size, Redshift offers a suite of powerful features and integrates with industry standard CG applications.

(Price Monthly: $45 or Annually: $264 -> 22$ monthly)

CineBench (Windows | Mac): Cinebench is a real-world cross-platform test suite that evaluates your computer’s hardware capabilities. Improvements to Cinebench Release 23 reflect the overall advancements to CPU and rendering technology in recent years, providing a more accurate measurement of Cinema 4D’s ability to take advantage of multiple CPU cores and modern processor features available to the average user. Best of all: It’s free.

Prepare your instance for AMI creation

Before creating the AMI we will have to prepare the instance for the creation process. First ensure that your instance is “clean”; that there are no extraneous files in the download folder, on the desktop, etc. Be sure that you have cleaned any browser you may have used, deleted the navigation and download history and logged out from all your sessions. Also check that you are disconnected from all software like Cinema 4D.

Once you are sure that your instance is ready for AMI creation, launch “EC2LaunchSettings” from the Windows start menu. Ensure that “Administrator Password” is set to “Random (Retrieve from console)”. In the “sysprep” section, check “Run EC2Launch on every boot”, and finally, click the “Shutdown with Sysprep” button. Confirm the modal with the “Yes” button. After a few minutes the instance will shut down and you will be disconnected from NICE DCV. Wait in the AWS console for the instance to be in the “Stopped” state.

We can now start the AMI creation process. Go to your instance in the AWS console. In the “Actions” drop down in the top right, “Image and templates”, click “Create image”. Enter a name for your AMI. It is common practice to add a version number and/or a date in the AMI name. I will use “win-workstation-11–16–2021” for this tutorial. Add a description; the description is a great field to indicate what changes you’ve made in this AMI. Leave the other options as they are and click the “Create image” button in the bottom right corner.

The AMI creation can take up to 30 minutes to complete depending on the disk size you’ve used when creating your instance. You can monitor the creation process by going inside your AWS console in EC2 > AMIs. During that creation process, you can add a friendly name to your AMI by clicking on the pen in the “Name” column. Once again, it is a good practice to use a version number.

The final step for the creation of your AMI is to encrypt it. For that, go to the AWS console > EC2 > AMIs, search and select the AMI you created earlier. Now click the “Actions” button in the top bar, and click “Copy AMI”. A new window will open; in “Destination region”, select the region in which you have deployed your Nimble Studio. For the name, choose whatever makes sense for you; in this tutorial I will just append “cenc-” to the current name, so “cenc-win-workstation-11–16–2021”. Then in “Encryption”, check the box and in “Master Key” select any KMS key you would like to use. You may need to create a new key if you have not updated the AMI before, for that go to the KMS console and create a new symmetric key. When you are all set, click the “Copy AMI” button. You will then have to wait for the image creation process to complete. Like your first image, you can also rename it in the console in the AMI list view by clicking on the pen in the “Name” column.

Wait for the AMI status to change to “available”.

Update launch profiles

Now that we have created the new AMI and encrypted it, we will have to associate it to a new launch profile for use inside Nimble Studio. For that, we will need the AMI ID. Go into the console, EC2 > AMIs, search for your new AMI and select it. Make sure to select the encrypted version and not the initial one. In the bottom panel, in “Details”, you should get the ID of the AMI. It should look something like this: “ami-<randomID>”.

Then go into the Nimble Studio console > “Studio resources”. In the “Amazon Machine Image” section, click the “Add” button. In “AMI name” type whatever makes sense for you. In this tutorial we will go with “Workstation V1”. Paste the ID of the AMI in the second field, and optionally add a description and tags. Click the “Next” button when you are done.

The next step will check if your AMI is correctly encrypted, if you have used the correct encryption key you should be able to click the “Add AMI” button.

Your AMI should now be linked to your Nimble Studio, and the final step is to create a launch profile that will use it. In the left column, click “Launch profiles”, then “Create launch profile”. Note you can also edit your default launch profile if you prefer. Give a name to your launch profile. In this tutorial we will use “Windows Workstation V1”, and add an optional description. In the next block, select the AMI we have added previously.

In the third block, select all the launch profile components you want to use. Those are components that you can add in the “Studio resources” page.

In the network section, select the one named “Workstations”.

And finally in the “Streaming preferences” section, choose whatever makes sense for you. Note that the maximum amount of time an instance can be placed in a stopped state is limited to 4 days. Then once everything is good for you, click the “Create launch profile” button.

That’s all for the AWS console! Now we will have to login to the Nimble Studio panel as admin. Once you are logged in click “Admin” in the top right corner and go to settings.

Go into “Launch profiles” and search for the launch profile you have created (or updated). Click the membership button in the right column. Select all the users you want to attribute to the launch profile, then click the “Share” button in the top bar. Save your modifications and you are done!

About TrackIt

TrackIt is an Amazon Web Services Advanced Consulting Partner specializing in cloud management, consulting, and software development solutions based in Venice, CA.

TrackIt specializes in Modern Software Development, DevOps, Infrastructure-As-Code, Serverless, CI/CD, and Containerization with specialized expertise in Media & Entertainment workflows, High-Performance Computing environments, and data storage.

TrackIt’s forté is cutting-edge software design with deep expertise in containerization, serverless architectures, and innovative pipeline development. The TrackIt team can help you architect, design, build and deploy a customized solution tailored to your exact requirements.

In addition to providing cloud management, consulting, and modern software development services, TrackIt also provides an open-source AWS cost management tool that allows users to optimize their costs and resources on AWS.