はじめに
ドメインを取得しようとしていたところ、beta版ながらGoogle Domainsが日本で利用可能になっていたので使ってみました。
今回はhello worldアプリをGAE上にデプロイし、ドメインを取得してマッピングするところまで行います。
基本的には公式ドキュメントを参考にしているため、しっかりと理解したい方はそちらをみたほうが良いでしょう。
最近仕事で使っていることもあり、言語はGoを選択しました。
デプロイする前にプロジェクトの作成とCloud SDKをインストール必要があるので、以下を参考にしてください。
SDKをインストール
https://cloud.google.com/appengine/docs/standard/go/download?hl=ja
GAEにデプロイ
helloworldディレクトリをクローンする
$ git clone -b part1-helloworld https://github.com/GoogleCloudPlatform/appengine-guestbook-go.git helloworld
$ cd helloworld
ローカルで動かしてみる
app.yaml ファイルが置かれている場所で以下のコマンドを実行します。
$ dev_appserver.py app.yaml
以下にアクセスし確認しましょう。
http://localhost:8080
デプロイ
app.yamlが置かれている場所で以下のデプロイコマンドを実行します。
$ gcloud app deploy
$ gcloud app browse
以上でデプロイは完了です。
他のプロジェクトが設定されている際は以下のコマンドで変更することができます。
$ gcloud projects list // プロジェクト一覧
$ gcloud config list // 設定されているプロジェクト
$ gcloud config set project <project name> // プロジェクトの設定
gcloudコマンドの詳細は以下を確認してください。
https://cloud.google.com/sdk/gcloud/reference/
ドメイン取得
Google Domainsでドメインを取得します。
価格は年間1400円と決して安いとは言えず、jpもありません。(2017年11月現在)
お名前.comで調べたところ同じドメインが910円だったので500円近く価格差があります。
お好きなドメインを検索し、カートアイコンを選択してください。
whoisに情報を公開したくない際はMake my info privateを選択しましょう。
カード情報の登録やメールアドレスの認証を済ませれば取得完了です。
ドメインをアプリにマッピングする
$ gcloud domains verify xxx.com // webmaster centralを通して、ドメインの所有者であることを認証します。
$ gcloud domains list-user-verified // 認証済みのドメインを確認
$ gcloud beta app domain-mappings create xxx.com // 先ほど作成したアプリにドメインをマッピング
以下からDNS設定ページを開き、DNSをクリックしてください。
https://domains.google.com/registrar?hl=ja#chp=d
アクセスして表示されれば完了です。(反映されるのに少し時間がかかります。)
参考
https://cloud.google.com/appengine/docs/standard/go/quickstart?hl=ja
https://cloud.google.com/appengine/docs/standard/go/mapping-custom-domains?hl=ja
https://cloudplatform-jp.googleblog.com/2017/07/App-Engine-users-now-you-can-configure-custom-domains-from-the-API-or-CLI.html