Google Cloud Platformでの独自ドメイン関連まとめ

  • 4
    Like
  • 0
    Comment

ただのメモ書き。

略語 サービス 備考
GCP Google Cloud Platform
GAE Google App Engine PaaS
GCE Google Compute Engine IaaS
GCS Google Cloud Storage

独自ドメイン

Google Domainsはまだ日本の住所だと契約できなかったので、適当に他のレジストラで契約する。
DNS設定を触れるようになったら、Search Consoleで所有権の確認をしておくと良い

サブドメインを利用すれば、GCE/GAE/GCSで同じ親ドメインで運用可能。
GCE内ではバーチャルドメインでサブドメイン増やし放題。
GCSはルートドメインでの運用はできない(はず)。というか静的ファイルしか置けないので…。

流石に独自ドメイン設定の詳細は既に情報がたくさんあるのでググろう。

  • GCE:インスタンスを立ち上げる際、静的IPを予約しておく。DNSのAレコードにそのIPを追加。サブドメインはバーチャルホストを使い、CNAMEで親ドメインへ向ける。メールの話はこちら→http://qiita.com/yukari-n/items/45624096582111dd25b9
  • GAE:サブドメインで利用したい場合は、 認証から DNS設定までサブドメインで。AレコードとAAAAレコードを指示通りに追加。
  • GCS:サブドメインのバケットを作成し、DNS設定でc.storage.googleapis.comへ向ける。あとは中身を一般公開するだけ。

Let's Encrypt (SSL)

  • GCS:CNAMEでの転送がHTTPSに対応していないのでまだ無理。

Google Compute Engine

サブドメインのは親ドメインのを発行しておくと楽、というかサブドメインのみ取得だと、親ドメインがブラウザ側にINVALIDな証明書だと思われてしまう事がある1

./certbot-auto certonly -a standalone

の後でドメインを複数入力できるので、親ドメインを含めてまとめて申請する。

You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/example.com.conf)
It contains these names: example.com
You requested these names for the new certificate: example.com,
sub1.example.com, sub2.example.com.
Do you want to expand and replace this existing certificate with the new
certificate?

というメッセージが出るので(E)xpandを選ぶ。

バーチャルホストのポート番号の変更と設定のリロードを忘れない。

更新

cloneしたcertbotフォルダで

sudo ./certbot-auto renew

Apacheやnginxなどサーバーが動いていると更新できないので止めてから実行する。

Google App Engine

以下の記事の方法でできた。

GAEでSSLの設定(Let’s Encrypt の導入備忘録)

但し、cloneするのは新しいcertbotの方が良いと思います。
git clone https://github.com/certbot/certbot

認証ファイルを置く作業が面倒だが、とりあえず認証できればよろしい。(ちなみに、上記ページのハンドラではリダイレクトがうまくいかなかった)

app.yaml
handlers:
- url: /.well-known/acme-challenge/?.*
  script: challenge.txt

この場合はルートのchallenge.txtに認証情報を置く。
このハンドラでもうまく行かない(パイソンでは500エラーが出る)場合は

app.yaml
- url: /.well-known/acme-challenge/?.*
  static_files: challenge.txt
  upload: challenge.txt

「とりあえずGCEで取得する」というやり方も見かけてやってみたが、IPで弾かれてしまうので、ブラウザ上のGAEコンソールでちゃちゃっとやってしまうと良い。
GCEでまとめて取得できたら更新が楽なんだけど、GAEの場合は毎回新規取得する事になるようだ。


  1. 何故か一部のサブドメインを有効化すると、そのドメインの中身が親ドメインのサイトに表示されてしまう謎現象が起こっていた。証明書はその一環で読み込まれたもののキャッシュだけが残っていたらしい。結局、設定ファイルの名前が悪かった。https://utano.jp/entry/2016/10/amazon-linux-apache-24-virtualhost/