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

  • 2
    いいね
  • 0
    コメント

ただのメモ書き。

略語 サービス 備考
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に親ドメインを指定するのが良いと思う(GCE内ではバーチャルドメインでサブドメイン増やし放題)。以下、GAEと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な証明書だと思われてしまう事がある※。

./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を選ぶ。

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

Google App Engine

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

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

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

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

この場合はルートのchallenge.txtに認証情報を置く。

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


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