The Elastic Renderfarm - an inexpensive rendering solution
Amazon offers a great service through Amazon Web Services called “Elastic Computing.” Through EC2, you can build your own renderfarm with render core costs as low as $0.06 per core hour.
Through these tutorials, I demonstrate how to set up your own Backburner renderfarm for Autodesk’s 3DS Max and Maya software.
*note* the section on how to kick off a 3DS Max Backburner render starts at about 8 minutes in to section 4.2. I will split that off into it’s own separate section soon.
do you know how to solve plugin license hooks?
Is that done over VPN?
Unfortunately I only have the resources to check the vanilla Backburner set up at the moment… no plugins or anything like that.
If you have a license server for your plugins, you should be able to set up a VPN connection so your plug-in licenses can be checked. It’s also possible that the plug-ins don’t need to do the license check if they’re on a render-only node… depends on the license particulars.
Hi
thank you for your great tutorial.
there is something i really dont understand with the amazon service.
did it cost something to keep the machine where you installed 3dsmax ?
as you can see, my english is very limited.
what i understand is :
i install 3dsmax on a server with 60gigas of hard drive.
i install the manager on another server
i choose x node with render slave
i render my images from the manager.
i send my image to my ftp/dropbox etc…
but, what did it cost to keep my configuration with 3dsmax on the amazon server ?
i hope you will understand me
again, thank you !
M.°
The AMI itself doesn’t appear to cost anything to keep. It’s the active instances and volumes that you’ll have to pay for your time on.
The volumes themselves are very cheap to run. The instances are what will start to add up.
When you have completed working with your instances, be sure to Terminate them in the EC2 console by right clicking on them and selecting ‘terminate.’ If you have a bunch, you can shift-click, select them all, and then terminate them all at once.
After the termination is complete, you’ll want to go to the volumes tab and delete any remaining volumes.
The saved 60 gig AMI doesn’t seem to cost anything to store when you’re not running any instances.
Just for reference, here’s a sample of my bill for so far in September. All prices are in US dollars. This was for 20 instances rendering a 3DS Max project. Each instance had the 60 gig volume attached that’s associated with the AMI and there was also one single 40 gig volume attached to the render manager to be used as a network drive.
The total render time was 45 hours of machine time spread over 20 machines which basically means I was able to do 45 hours of rendering in a little over 2 hours of actual time.
Link to the September bill thus far: http://www.judpratt.com/wp-content/uploads/2011/09/SeptAWSBill.jpg
Hope this helps!
–Jud
May I ask how many frames, resolution, and settings for render quality this project was for the project above?
Thank you Jud,
it is very kind of you to take the time to answer.
really clear and precise.
ill test it tonight/week !
thank you !!!!!!
M.°
Would this solution work for other 3D platforms such as Cinema 4D?
Yep… should work on Cinema 4D as long as they have a way of setting up networked render nodes. (It’s been a long time since I played with C4D)
We just published an article on how to get it working with C4D. There are slightly different considerations, such as network settings and ip addresses– it’s not as easy as backburner but it works like a charm once you’ve got it going. http://cosmocyte.com/animation-techniques/
Hi, You make a great tutorial. This tutorial make everything easier. Thanks you!
I got a problem when I follow the video part 4.2.
I spot instance 10 machine and try to use network drive to connect with my render manager machine. But windows said “network path was not found” . I checked my security groups setting again, make sure all setting are same as your video (part1) and tried turn off all firewall in instance machine already.
Please help.
Thanks a lot,
Riuku
Off the top of my head… it could be the machines are not all in the same region.
For example, in my case I have the options of us-east-1a, us-east-1b, and us-east-1c. You need to make sure that all of the machines are in the same region. So… I would assign all my instances to be, say, in us-east-1b. It could be any one of those, just make sure all of them are assigned to the same one.
Hope this helps!
I make sure all of my machines are in same region already. Still got same problem. Maybe I retry from the first video one more time.
Thanks!
same issue here! same location but no network path
ps thanks for this great tutorial!!!
Very informative, thanks! Is there a way to store your runtime configuration so you don’t have to manually spawn all your networked instances each time you have a render job?
I haven’t delved into it yet but…
Amazon has a set of command line/API commands that could be used in a python script that could probably be used to automate the process. I’m just starting to learn Python so I don’t really have the technical skills to figure that out just yet. This might be a good starting point for you though:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?SettingUp_CommandLine.html
Hope that helps!
–Jud
Great Tutorial thanks a ton!
It looks like you manually mapped the Z:\ drive on the Render Servers after you spawned the 10 instances which would seem to mean that you would have to go through the whole process on each server each time you launched the instances for each new job.
Is there a way to map the Z drive and change the Max settings once and then save it into the Render Server AMI so you would be able to skip those time very consuming steps? This way it’s a fast process to launch as many Render Servers as needed, transfer the work files to the 60GB volume and you’re going.
That’s something I’m wondering too. It seems to me that if we setup a render machine with the mapped network drive and the server in autostartup mode and then create an ami of it, you should then be able to start 10 instance of it without setting up everything manually?
Hey,
You have blown my mind. I do have one question, though: Cinema 4D uses a browser-based interface for its net render that you can access from any computer on the network. Do you know how to make the render manager machine’s ip address publicly available, so that animators can access from any computer just as though it were a webpage? Or is that complex enough that I’d need to hire an IT guy?
Thanks again for the awesome tutorial.
Cameron
Hi Jud
Amazing post, great idea.
I’ll going to do some tests next week, but I’m curious if you made some benchmark to evaluate the performance of your instances.
Also in your bill you show that you used c1.xlarge instances.
Amazon says the price is 1.16 per hour, and probably my math is wrong here, but I did the following math:
20 instances X 45 hours =
1.16 x 20 x 45 = 1044$
What am I doing wrong?
Thanks for your time!
Well, I would say, that the math is right, but the numbers are wrong
using spot price from the videos:
0.5$ * 20 instances * 2 hours real time = 20$ which is about the bill
Thanks for the tutorial.
Very informative.
Hi! thanks for sharing! Cloud are starting to look very interesting as a render farm. I would like to know how to install vray and get access to my USB dongle on my workstation to be able to render with vray on the cloud.
Thanks for this great tutorial…. I couldn’t get the other node to see the shared folder, or to have the client (C4D) connect to the server
[ And yeah, they are both in the same region ]
Same problem here…
Pingback: Очень подробная видеоинструкция как запускать рендер на Амазоне (на английском) « Рендер ферма 24 часа
Thanks for the tutorial! And please keep us updated if you update your process to include more automation.
Hi,
I can’t reproduce one of your steps.
When I try to share a network drive across many instances. When I open 2 instances, they don’t see each other even if they are in the same zone… How to we allow them to see each other on the network?
Hi,
Nice tutorial!
I have a question?
You terminate the instance in you’re tut.
If you stop you’re instances do you have to pay for them?
if you terimate them you have to set them the next time again from zero, not?
Regards,
Gio
Yes, you have to pay for the instances that is not terminated.
Also you can create the image (AMI) . And on the next time create the instances from this one.
Hi,
Another question, my backburner server don’t connect with my manager?
What am I doing wrong?
regards gio
Can somewone help me please?
Difficult to answer.
Maybe Firewall blocks the connection.
- Allow all TCP, UDP, ICMP
Maybe IP address of the server or manager is wrong.
- Try to use this command to show the IP address and name of the computer: ipconfig /all).
Maybe Backburner Manager/Server has wrong configuration.
- Try to remove XML files from the directory “C:\Program Files (x86)\Autodesk\Backburner\Network”.
Also remove all files from sub-directories “Jobs” “ServerJob” “Servers”
Then start Manager/Server and configure them again.
And today I discovered that you need to turn off the Windows Firewall on Amazon instances.
Hey Jud. Great tutorials. However, I have a question in regards to licensing. Do you need to have an extra license or licenses of Autodesk Maya or 3ds Max for if not all the instances, the manager instance?
no extra licenses required
Yep… Dave is right. I posted the following on another forum about this:
On the machines you are going to use as render servers, you need to install 3DS Max or Maya but you do not need to activate those installs with a license number. Render-only nodes do not need a license (or should I say, their license is covered by the license you already own for your primary machine.)
Backburner will fire up the render engines of those respective applications to complete the render, but they are not considered “full installs.”
Here’s a bit from the 3DS Max (same is true for Maya) documentation where it specifically says:
This topic contains basic procedures to follow when network rendering with 3ds Max.
The following conditions are assumed:
3ds Max has been installed on all machines to use as rendering servers. Note: You needn’t license 3ds Max on machines to be used only as rendering servers.
…and here’s the link to the page in the 3DS Max 2012 documentation where it says this:
http://download.auto…7FD2F-2315.htm
Would this solution to redeploy 10 instances work ?
Now amazon gives 750h free micro instances.
So what I do I set up micro isntance to:
35gb
upgrade to 60 gb – do I pay for upgrade?
Add extra 40 gb for share drive (I gotta rewatch the movies I got confused wrrr)
Set up a master instance for manager – save image.
Set up a slave image1 – save image.
Set up a slave image2 – save image.
Set up a slave image3 – save image.
Set up a slave image4 – save image.
Set up a slave image5 – save image.
Set up a slave image6 – save image.
Set up a slave image7 – save image.
Images are free right?
Then when I terminate- and re create Images I can just load image for each slave with all settings on n running?
Will IP/machine names change etc etc? – what do u guys think?
> upgrade to 60 gb – do I pay for upgrade?
Yes.
> Images are free right?
No. You have to pay for the storage of each AMI.
(Free for 30 GB/month of Amazon Elastic Block Storage (EBS))
> Will IP/machine names change etc etc?
That’s right. Also will be changed after stop/start instance.
Thanks for info!
I’ve been rendering on amazons for few days now. Quite wicked stuff and cheap to curtain point.
In any case I tweaked slightly ur workflow. Instead of starting max, creating texture directories etc etc. All I do is to copy my ZIP BB job from my local machine to amazon machine and restart manager – job gets automatically updated and all start to render on its own – since I include textures with my BB file all goes sweet !
Also I use distributed tile rendering. So I suspend second job and do it locally to save time and money !
All I have to find out now is how to update BB manager without the need to restart it arr !
Interesting case.
So you are adding textures and max file into the zip file. And copy one into the Backburner folder. Is this right ?
I done some automatization. And published tutorial is how to use pre-prepared Amazon image to run the Render Farm. But tested for 3ds Max 2009 only.
http://nosotros.org.ru/farm/diy/slides/usage-en.html
Eeee no I dont.
When I save JOB to Backburner (press render other words) I click to Save maps with file. Then Max save ZIP with textures and MAX to JOBS inside BB>Network folder (I’m using 2008 newer BB sux…)
Then all I do is to copy 2 folders (1 stripes + 1 stitching job) to render manager and restart manager. Then it pick up 2x jobs from which I suspend stitching since I can do it locally to save ££//$$
All I’m trying to find out now is how to update Manager without the need of restarting it as well as how to set up my vray license server from home =D
I wish there was a way to save Image + AMI to my own HDD so I dont have to pay for it while I dont use farm
Thanks, bye.
What an extremely annoying presenter. løkjpadwskøjladskjlasdflfads<jhasØKFGSA'GSGSÅGRSDAØLKJGRSDALØJGS
Useless…
Dariusz, I understand what you are doing. Very foxy.
>All I’m trying to find out now is how to update Manager without the need of restarting it…
Will have to restart the manager that it saw a new jobs. I see no possibility to update list of jobs.
>how to set up my vray license server from home =D
Share your home computer for incoming connections.
>I wish there was a way to save Image + AMI to my own HDD so I dont have to pay for it while I dont use farm
Why do you need this? Amazon give you 30G per month for free. So you can create one image and pay nothing.
I’m having a problem with the Servers trying to find the mapped D drive in the RenderManger instance. I did exactly what you did in the tutorial word by word but it still wont find the folder. It detects the network instance but not the volume.
This is what I did.
1) Created RenderManager Instance based on Previous AMI “RenderFarm”
- attached Volume 30GiB to Instance RenderManager
- Enabled Sharing on D Drive and Mapped to Network Z:
2) Created 5 Instances based on Previous AMI “RenderFarm”
- Attempting to access networked Z: drive : Resulting in failure.
The New instances are not able to see the Shared D Drive. It keeps giving me an error. Please help!
>. It detects the network instance but not the volume.
On one of the server instance:
If you are open this path “\\you-manager-instance-name-or-IP-address” what you are seeing?
On the manager instance:
Do the same. What you are seeing?
Maybe you can send the screenshot.
Or maybe you can send the letter to me 900mhz(at)newmail.ru
Amazon may change their AMI configuration.
So tutorial may not be applicable to your situation.
Hi Jud !!
followed your videos to setup an instance ..got it up and running the issue i’m having is ,its taking way long time to transfer my setup ISO file from my pc to the instance i had just created .. aprrox 158hrs using teamviewer as iam unsuccessful in liking my pc to the amazon instance using Filezilla…some ip / port problem. I need to ask “how much time did it take you to copy your stuff to instance.” ? & is there a way i can do it better !!
If you can, just download your software from the net. I set up an instance and did a speedtest and it got 180Mb/s up and down!! Super fast! So I logged into my 3dsmax subscription and downloaded the whole package in less than 10 minutes.
Checking the Amazon calculator, I have noticed that ‘Average IOPS in volume’ can drastically increase the price. Would anyone know how to roughly estimate this, during normal usage?
Thanks for your tutorial, nice work! But I have a question.
I have to use \\\ instead of \\\ to get the network drive worked. The problem is, every time I restart my EC2 instance, the IP address changes, so I have to re-map the network drive for all of the render servers. Is there any way to work around this?
Sorry, angle brackets are filtered by the comment system. The third sentence should be corrected as:
* I have to use \\(ip-address)\(drive-name) instead of \\(computer-name)\(drive-name) to get the network drive worked.
Thank you for the tutorials! Most welcome and most useful. I’m about to setup a bit complicated environment, but these tuts gave me a great starting point. Again, thank you and keep the great work up!
Great intro to EC2 rendering Judd, it got me off to a good start thanks!
For some of the questions on here:
\\server\\shareddrive only works if the drive with the shared folder/driver is using it’s ip address as it’s name (Amazon AMIs now default to use a static name). You can tell the AMI to launch instances with unique names based on ip address [i.e. ip-########] by running the EC2 config utility in Program Files/Amazon/… tick the top-most checkbox (I don’t have it open atm so can’t give explicit instructions).
Unfortunately this means you have to configure the scratch drives on slaves every time.
The alternative is the use an Elastic IP. This will also make setting your Backburner Manager IP address simpler, but be aware that data transferred over Elastic IP is routed outside the private network, so you’re charged data transfer rates (something like $0.01/GB), and the data rates are much slower because it’s not on the gigabit interface. That said, most jobs won’t need the speed or cost enough to be noticeable, so you could always have two sets of AMI for the cause. Note that you’re charged for an Elastic IP address when it’s not attached to a running server, but it works out at something like $7/month if it’s just sat there.
Personally I like the convenience, it far outweighs the hassle, though I’m looking forward to finding the time to rig up a seperate IP server and some setup scripts to minimise the cost + hassle even more.
EC2 is awesome. The only part I find troublesome is having to work with Windows environments for Backburner & 3DSMax…sometimes Servers won’t all connect (launching one replaces the other) even though they have unique names… happens just occasionally and with no explanation, but it’s very irritating.
Oh and one other thing…rather than FTPing into your Master server, I just map it’s project drive to my desktop and run a Collect All script from my local Max (soul script’s collectbitmaps script does a good job), and write it to the EBS Z:/ volume… the files are rendered to the same place, so everything is as it should be. You could probably use a file syncing app to get dropbox functionality too (so files are mirrored locally as they appear, saving you having to manually copy (and wait for) them later on).
Thanks for the tip about setting a dynamic computer name, awesome!
I went a few steps further than the guide (these are just basic steps as I did them a few days back, Google if you’re not sure).
0. Install Backburner and run it as a normal user and get it connected to your manager, then shut it down.
1. Follow Adams instructions to give your instances dynamic names. This will help with creating your network drive also. I didn’t worry about the IP stuff though, not sure why that was required.
2. Set up Z: before creating the AMI, why do this ten times manually?
3. Set up Backburner as a service (serversvc.exe -i) so it will start as soon as the Instance is booted.
3a. Make the service start as the administrator user.
3b. Change the service from Automatic, to Automatic (Delay start)
3c. Create a firewall rule that allows serversvc.exe to communicate across the network.
4. You need to clear Backburners saved settings of a hostname and mac address, so the next time the service is started (ie. when you create the instance) it will set up Backburner with these new settings. This can be done in the C:\Users\Administrator\AppData\Local\backburner\backburner.xml file.
4b. Delete and lines.
5. Shut down your instance by clicking Start -> Shutdown. This will ensure that when you deploy your new instance, it will be a fresh boot, the service will start and step 3b will come into affect with the new instance’s details.
6. Create your AMI. And deploy!
That’s it, I think. It’ll at least give you an idea of what I did.
You can now deploy as many instances you want and they’ll be automatically added to the manager.
Correction.
4b. Delete and lines.
Should have been:
4b. Delete “ServerName” and “ServerMAC” lines.
Pingback: Amazon EC2 Renderfarm | Jud Pratt | timcoleman3d
Hello there, I watched this tutorial few times and thank you very much for such a great stuff.
I have a problem connecting computers to each other via server/manager. They belong to the same group and have same security group but they cant see each other (different IP addresses) and because that I cant make them work.
I’m not sure how did you managed to made them see each other in the backburner?
Thanks
I just made a post basically saying the same thing. I am having that same problem. Perhaps there is something we need to do with the IP addresses.
hi!,I really like your writing so a lot! percentage we communicate extra approximately your article on AOL? I need an expert in this house to unravel my problem. May be that’s you! Having a look ahead to peer you.
Hi. Thank you for this extremely helpful and useful tutorial Jud!
One question though (can’t find it in the Amazon FAQ) : Do you get a bill with your total use at the end of each month?
Pingback: Cinema 4D & Amazon EC2 Servers | 77POST BLOG
In the last tutorial, when you are setting up the farm, one of the steps that works in the tutorial, no longer seems to work for me. Its the step where you copy and paste the mapped network drive address from your first open instance onto one of the ten computers you have set aside for your ‘farm.’
The error says it cannot find the path.
Has anyone else had this problem?
Pingback: Elastic Computing Renderfarms
Thank you so much for your videos,
I am bit of a noob and would just like to know if this setup would work for blender?
Vince
Thanks Jud for a nice tutorial. My company is building an end-to-end solution to prvoide a seamless experience in getting your render cloud up and running in matter of minutes. If you are interested in an early access, feel free to reach out to us [email protected].
Pingback: Bomkamp™ | Renderfarm on a budget, with Amazon’s EC2
hi Jud
Really awesome videos very well done. I followed it through but I cannot access the shared folder through my other instances. I do understand these videos u posted are a couple of years old, but is there any suggestions u can provide me with regarding this issue. Thank u.
Pingback: Cloud Rendering Service
Thanks for such a great tutorial!
I am using this for after effects. I have one question though:
You have mentioned that AMIs are not charged but when googled got this discussion – https://forums.aws.amazon.com/message.jspa?messageID=334096
Its mentioned that it will be charged. Please correct me if I am wrong here.
It’s been quite some time since I originally did this tutorial. I think Amazon may have changed some of their policies and fees since then.
Please be sure to read up on Amazon’s latest pricing structures and all that to be sure.
If you are having problems with servers seeing the manager. I noticed is that I needed to ad “all ICMP” to the inbound rules (4:14 of the first tutorial movie).
Traditional animation (also called cel animation or hand-drawn animation) was the process used for most animated films of the 20th century. The individual frames of a traditionally animated film are photographs of drawings that are first drawn on paper. To create the illusion of movement, each drawing differs slightly from the one before it. The animators’ drawings are traced or photocopied onto transparent acetate sheets called cels, which are filled in with paints in assigned colors or tones on the side opposite the line drawings. The completed character cels are photographed one-by-one against a painted background by a rostrum camera onto motion picture film .:
Most up-to-date posting from our personal web blog
http://caramoantourpackage.com
Hi there, yup this piece of writing is genuinely nice and I have learned lot of
things from it regarding blogging. thanks.
I will be genuinely motivated together with your crafting abilities since snugly much like customized for specific cultures for a site. Is this fact some sort of paid out theme or maybe does one change the item oneself? Either way keep up to date great top quality producing, it is unusual to peer a great blog like this one nowadays.
I do not even know the way I finished up right here, but I believed this post was once great.
I don’t recognise who you’re but definitely you’re going to a famous blogger when you aren’t already.
Cheers!