When you deploy your GAE app, it will automatically get DNS mapped as yourappid.appspot.com. So in my case the app resides as http://popularsciencemedia.appspot.com in the Google cloud. From the Swedish DNS supplier Loopia I had bought the domain popularsciencemedia.com and now simply wanted to DNS remap popularsciencemedia.appspot.com to my own http://www.popularsciencemedia.com.
This is not as easy as you might think! The obvious solution would be to create a DNS CNAME entry with an alias to reroute traffic to www.popularsciencemedia.com to http://popularsciencemedia.appspot.com but but Google won't allow that. So I thought I'd write a few lines on how you do it to avoid you from the same misery. The purpose here is to map www.popularsciencemedia.com since Google App Engine only can be mapped to sub domains. www is good enough for me.
- You need to sign up for Google Apps for you application. Go to https://www.google.com/a/cpanel/domain/new and enter your registrered domain name and fill in the forms. You will in this process create a system user for this Google App. In my case I created the user email@example.com. Google Apps let's you create emails, calenders and much more for your app.
- This process will need you to verify that you own the domain. There are several ways to do this, I thought the easiest way was to add a Google verification code in the DNS registry as a TXT entry. The DNS record now looks like this. If you can't create TXT records with your DNS provider Google has other mechanisms for verifying that you own the domain.
$ORIGIN popularsciencemedia.com. $TTL 300 @ SOA ns1.loopia.se. registry.loopia.se. ( 1312117911 3H ; Refresh after three hours 1H ; Retry after one hour 1W ; Expire after one week 1D ) ; Minimum one day TTL @ IN 3600 NS ns1.loopia.se. @ IN 3600 NS ns2.loopia.se. @ IN 3600 A 22.214.171.124 @ IN 3600 A 126.96.36.199 @ IN 3600 TXT google-site-verification=Uy4magKHIasdeEOasdgs6b7qYt8tR8 * IN 3600 CNAME ghs.google.com. www IN 3600 CNAME ghs.google.com.
- Notice the additions. The TXT entry maps against the value you get from the Google App sign up. This makes it possible for Google Apps to verify that you own the domain you claim to own. Then, add also a CNAME mapping to ghs.google.com for the subdomain www since this is the sub domain we want to use.
- Now to to your Google App account, go to something like https://www.google.com/a/cpanel/popularsciencemedia.com. Under Sites-> Services -> YourAppId (App Engine) there should be a possibility to add a new address under the domain you have registrered.
- I add www so my app is mapped as www.popularsciencemedia.com.
- After a waiting a very short while all DNS changes seems to be working and I can surf to http://www.popularsciencemedia.com/