The Ins and Outs of Amazon EC2: New Premium Series
Tutorial Details
- Topic: Amazon EC2
- Difficulty: Moderate
- Availability: Premium and Tuts+ Marketplace
Download Source Files
In this epic 6-part screencast series, we’ll explore Amazon’s Elastic Compute Cloud (EC2) — a highly scalable, reliable, and cost effective means of cloud computing. Whether you’re an absolute beginner or have some experience with AWS, you’ll appreciate these succinct and methodical video tutorials. We’ll create and connect to an instance, configure it, install a LAMP webserver w/ phpMyAdmin, and explore security/backup methodologies.

Sign up for Tuts+ Premium to view this tutorial, as well as hundreds of other advanced tutorials and screencasts.
Join Net Premium
For those unfamiliar, the family of Tuts+ sites runs a premium membership service. For $19 per month, you gain access to exclusive premium tutorials, screencasts, and freebies from Nettuts+, Psdtuts+, Aetuts+, Audiotuts+, Vectortuts+, and CgTuts+. For the price of a pizza, you’ll learn from some of the best minds in the business. Become a Premium member to read this tutorial, as well as hundreds of other advanced tutorials and screencasts.


Wow this is great. Thanks a lot for the set. :)
Just remember that even if you shut down you instance you still get charged for your EBS block storage.
This is a great series but be aware that it is Mac-centric with a lot of focus on using the Mac Terminal. I’d love to see a Windows/Putty version. Still, I learned a great deal and just in time too, seeing as we just moved to EC2 hosting and it has been intimidating to say the least. These videos cut through the overwhelming barrage of information on Amazon’s AWS site to give you the basics and essentials in a very clear, easy to understand way. Highly recommended.
Just bought it, looks nice to me!
If you’re timing out, it’s probably because the default security doesn’t allow for SSH. Go in and open up port 22 (change the default security group). That took an hour to figure out. I wish it was covered in the tutorial – or at least mentioned!
Ditto. Using putty for windows. Its a right ballache to get it connected :-)
AWS may have changed their default security groups slightly since Trenton made these recordings. I found that I had to manually edit the default security group and add ports 80 and 22. This is a very simple task with instructions available here:
http://docs.amazonwebservices.com/AWSEC2/2011-02-28/UserGuide/index.html?adding-security-group-rules.html
These new security group instructions were posted after he made his recordings.
I added port 80 with Source = 0.0.0.0/0.
For port 22, I found many threads on opening a dedicated port on my router and setting my machine with a static IP address. This may be true for some, although I simply added my external IP address as seen by AWS. I found my external IP address here:
http://www.whatismyip.com/
I found that my external IP address was something like 73.34.188.29 so in my case:
I added port 22 with Source = 73.34.188.29/32
yup, i am having the a very hard time connecting. i’ve tried everything within this thread but keep getting “Connection refused”
please disregard. it was an issue related to my proxy. thx!
One of the most professional tutorials i have seen so far. Thanks you very much for this.
Awesome video series. Im hooked :-) AWS FTW
Enjoying the videos, but I am worried about the security of the login method given in the tutorial. Trenton says for a development environment the login vis ssh on terminal is acceptable, but in a production setting he doesn’t recommend this way. Mainly because your private key is available on your computer. Am I missing something or is there a more secure way to login to your instance.
Great tutorials.
As Trenton said in the tutorial for a production env. he stores the key on his thumbdrive where you could encrypt it further :)
Thanks for this really high quality tutorial – maybe we could have more server specific tutorials comming from this guy – he freakin rocks! :D
Im currently hosted with mediatemple and those guys have been great but now that i know just how easy it is to spin up a server in ireland which is far closer, without compromising the quality im excited to try this out! :)
I’ve also purchased one of those amz key generation devices for the control panel as I’m already using cloudfront.
It would be great to see more about using this to serv regular clients websites, maybe see how to setup a high performance environment for magento on EC2 and maybe how to install monitoring tools like monit (the only one I know) which sends you an mail if your server is going crazy :)
I think it makes sense having Jeffrey learning us all that great frontend stuff now I’m whishing that we could have Trenton for all the great backend stuff! – those were my Christmas wishes haha :D
Anyway thanks for this!
Great tutorial. One question. When you logged into your instance using ssh you used the ubuntu@XYX…
I didn’t use the ubuntu ami.
I used:
Basic 32-bit Amazon Linux AMI 2011.02.1 Beta (AMI Id: ami-8c1fece5)
What would be my login account?
Thanks,
Andrew
I started watching the next video and was told to try root. I did that but was not having any luck. I then followed Gunnar’s (thanks) link and got things set up and I was able to log in using root.
My instance then told be to login using: ec2-user which I did.
This video really helps.
Thanks
Andrew
Hey Trenton – your videos are simply great! and easy to understand! Hope you make more of them!
Brilliant – been playing around with EC2 for a while but now it makes a great deal more sense. Good work fella!
Are all 6 parts available now, or is it just the first, and the remaining 5 will follow?
All are available.
Can you please share the links? I am unable to find the rest
Awesome video series! I’m having an issue where when I use ssh -i ~/.ssh/TS.pem ubuntu@myec2server it keeps asking for ubuntu@myec2server’s password which I never set and can’t for the life of me figure out… any ideas?
Scratch that, have no idea how I got in but something from this thread did it! I think security groups posted above!
Love the videos but probably someone can help, I follow all the steps with great success even though I never use the command line SSH thing but I was able to get the server running. Now I’m usually able to resolve many problems on my own but I can’t figure this one out.
So like I said I was able to put everything together I even uploaded a few files html and php to test out and everything work great. Now I work with CodeIgniter and I am use to deploying my apps on share hosting like godaddy and others with out any problems and I do all my testing on my local machine using wamp simple setup without any configuration and like I said I have been able to deploy my apps successfully.
Now I try to upload one of my apps to the server I created on amazon by following all the steps in the videos, I am able to get to my index page no problem but I get one error every time I try to navigate from the main page I get a 404 error page not found, Now i though it was my app so decided to just upload the main CodeIdniter installation and 1 controller to simulate navigating to another page and I still got the same error. I have try to look everywhere for answers but so far no luck.
Now static pages work fine I can navigate through them no problem but with a framework like CodeIgniter or CakePHP I haven’t been able to. I’m pretty sure is a configuration issue I just don’t know what could it be.
Hope anyone can help.
Thanks in advance.
Thanks
Really enjoyed this series and found it very informative. But would it be possible to do another episode focusing on creating a scalable environment? E.G incorporating the use of RDS for a database,, and S3 for storage ( possibly for uploaded files) and how you can scale up the application by having replicated DBs etc. I know you can take a snapshot of the website files to create new instances, but ideally in this situation you would have a load balancer with the DBs held separately. As such whenever you write data to one it would need to be pushed out to other instances to keep them all in sync
Cheers
Yes, I would like to see a scalable version too. Maybe one on using Rightscale too.
AWESOME. WE’LL WORTH THE SUBSCRIPTION!!!!
Man you rock!! what a great tutorial thank you so much! I was wondering if you can make a video tutorial about installing and configuring cpanel + whm in EC2 as well. I can’t wait to hear form you!
cheers!
That was an awesome tutorial! I was rock’n until I had to setup FTP accounts for client websites… Any chance you could cover that in the next tutorial?
Whoever created these videos is doing everyone a disservice. There are many points in the first video that are simply not true. The sad part is that in this video he’s basically just rattling off info that’s already on http://aws.amazon.com/ec2/ and reading it off mostly verbatim and then making stuff up or failing at reading comprehension.
1) EBS volumes cannot be created in one place and then “attached to a new instance in Europe”
2) He completely misunderstands the point or benefits of elastic IPs. Amazon gives you a CNAME for every instance you have. Anytime you start a new instance you’ll get a new CNAME.
3) He oversimplifies autoscaling. Amazon doesn’t do “everything behind the scenes for you”
4) elastic load balancing does not load balance across regions as the creator says “if you have an instance in europe and an instance in US, all the european traffic will goto the european instance and all the US traffic will goto the US instance” to do this you need DNS geolocation. Dynect or UltraDNS offers these services. Route53 does not currently offer anything like this.
Don’t bother with this garbage, there is *free* and *accurate* information on the web already.
I got everything working following the video, Yay!!!
But 1 question, how do you route your domain over to the EC2 server? I have a static IP, what would be the hostname? I’ve seen people saying to use CNAME and stuff, but its so confusing. I am with crazydomain.com.au and had to purchase their extra DNS management package.
Any idea anyone?
cheers,