Google Compute Engine Revisited

It has been awhile since I have written anything about Google Cloud Computing. I started to take a look at Google Compute Engine over a year ago but I was stopped because it was in limited preview and I could not access it. It looks like GCE has been made generally available since May so I thought I’d check back to see what has happened.

To use GCE you sign into Google’s Cloud Console using your Google account. From the Cloud Console you can also access the other Google cloud services: App Engine, Cloud Storage, Cloud SQL and BigQuery. From the Cloud Console you can create a Cloud Project which utilizes the various services.

Figure 1. Google Cloud Console

Unlike App Engine, which lets you create projects for free, GCE requires billing to be enabled up front. This, of course, will require you to create a billing profile and provide a credit card number. After that is done you can walk through a series of steps to launch a virtual machine instance. This is pretty standard stuff for anyone who has used other IaaS offerings.

Figure 2. Creating a new GCE instance

The choice of machine images is certainly much more limited than other IaaS vendors I’ve used. At this time there seems to be only four available and they are all Linux based. Probably Google and/or the user community will add more as time passes. It is nice to see the per-minute charge granularity which, in actual fact, is based on a minimum charge of 10 minutes and then 1 minute increments beyond that. The smallest instance type I saw, though, was priced at $0.115 per hour which makes GCE considerably more expensive than EC2, Azure and Rackspace. When you click the Create button it only takes a couple of minutes for your instance to become available.

Connecting to the instance seemed to me to be a little more complicated than other providers. I am used to using PuTTY as my ssh client since I work primarily on a Windows machine. I had expected to be able to create a key pair when I launched the instance but I was not given that option. To access the newly created instance with PuTTY you have to create a key pair using a third party tool (such as PuTTYgen) and then upload the public key to GCE. You can do this through the Cloud Console by creating an entry in the instance Metadata with a key of sshKeys and a value in the format <username>:<public_key> where <username> is the username you want to create and <public_key> is the actual value of the public key (not the filename) you create. This can be copied from the PuTTYgen dialog. A bit of extra work but arguably a better practice anyway from a security perspective.

Figure 3. Creating Metadata for the public key

After that is done it is straightforward to connect to the instance using PuTTY.

Figure 4. Connected to GCE instance via PuTTY

At this point I do not believe that Google Compute Engine is a competitive threat to established IaaS providers such as Amazon EC2, Microsoft Azure or Rackspace. To me the most compelling reason to prefer GCE over other options would be the easy integration with other Google cloud services. No doubt GCE will continue to evolve. I will check back on it again soon.

Kevin Kell

3 Responses to “Google Compute Engine Revisited”


  1. 1 Suresh Bazaj October 21, 2013 at 6:16 pm

    Hello Kevin,

    This article does is the best tutorial I have seen that describes how to generate SSH Key pair using PuttyGen and then install the public key on the VM in the metadata file. I am also a Windows user trying to connect to my newly created Google Compute Engine VM using Putty. It seems that I am not using the correct options to connect from the Putty client.

    After I type in my user name (suresh) in response to the “login as;” prompt, I get the error “Server refused our Key” and the Pop Up dialog box says “Disconnected: No supported authentication methods available (server sent: publickey)”.

    I suspect I am not using the correct Putty options to initiate the SSH connection. Will it be possible for you to document the options?

    Thanks,

    Suresh

    • 2 Suresh Bazaj October 21, 2013 at 6:31 pm

      Hello Kevin – You can either ignore my e-mail. Looks like when I copied the public key, somehow I dropped the leading ssh-rsa part of the string, hence all the problems.

      Thanks for posting the metadata screen with a real example. It helped solve my problem.

      Thanks,

      Suresh

    • 3 Kevin October 21, 2013 at 6:46 pm

      Excellent Suresh!


Comments are currently closed.



Learning Tree Logo

Cloud Computing Training

Learning Tree offers over 210 IT training and Management courses, including Cloud Computing training.

Enter your e-mail address to follow this blog and receive notifications of new posts by e-mail.

Join 53 other followers

Follow Learning Tree on Twitter

Archives

Do you need a customized Cloud training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Live, online training
.NET Blog

%d bloggers like this: