続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

最新版 Google Cloud Storage + L7LB で独自ドメインで静的サイトホスティング SSLもイケます

GCPGoogle Cloud Storage (GCS) & 独自ドメインで httpサーバを立てるというのを以前やりました。もはや2015年の古いエントリですが今も結構な閲覧数があるので、2019年版のリファインとして、もっといいやり方を紹介します。

iga-ninja.hatenablog.com

なお、この上記の方法は未だに通用はします。httpだけでOK, httpsは不要であれば上記の方法を今でもおすすめします。
また、本エントリーは深い解説はせず、手順だけをサラッと書きます

今回作るもの

の静的Webホスティングです。

AWSでいう CloudFront + S3 + ACM の組み合わせです。

手順

例によってフル GCP

材料

前回のエントリはGCSとCloudDNSのみでしたが、今回はL7LB + External IPアドレスが追加です。

ドメインの取得 + CloudDNSまで連携

これは以前の記事と同じです。割愛します。

Webマスターツールでドメイン所有権の証明は不要

朗報です。かなり楽になります。
正確には FQDNと同じ名前でバケットを作らないのならば 不要です。今回はGCS単体ではなくL7LB経由でアクセスさせるので、バケット名は不問になりました!

GCSでバケット作成

以前はgs と書いていましたがGCSのほうが主流のようなので、改めます。上記の通り FQDNと同じ名前のバケット名である必要はありません
好きな名前で作れればOKです

GCSへコンテンツアップロードと、ACLの調整

index.htmlをアップロードしますが、そのままでは閲覧できません。パブリック公開状態にする必要があります。以前はポチッと押すボタンがあったのですが、変わっています。

2019の手法としては、Bucket Policy で allUsers に対して Legacy Object Reader をつける方法が最善手です。本ブログでも触れています。

静的IPアドレスの取得

f:id:iga-ninja:20190216102416p:plain

f:id:iga-ninja:20190216113610p:plain

CloudDNSレコード登録

上記で取得したIPアドレスをAレコードに登録します。 f:id:iga-ninja:20190216120409p:plain

L7LBの作成

f:id:iga-ninja:20190216113615p:plain

f:id:iga-ninja:20190216113633p:plain

LBの設定はかなり複雑ですので、3パートに分かれています。各パートごとにクリックして設定していきます。 f:id:iga-ninja:20190216113641p:plain

まずはバックエンドの設定です。Backend bucketsをもちろん指定します。 f:id:iga-ninja:20190216113645p:plain

ホスト・パス ルーティングをする場合に指定しますが、今回は特に変更しません。今回はシンプルにバケットの構造をそのまま使います。 f:id:iga-ninja:20190216113648p:plain

フロントエンドとはListenerのことです。この例ではhttp 80も通します f:id:iga-ninja:20190216113651p:plain

次に本命のhttps側の設定です。証明書の設定が必要です f:id:iga-ninja:20190216115226p:plain

証明書は即時発行ではありません。しばらく時間がかかります(Let's Encryptなんで) f:id:iga-ninja:20190216113705p:plain

見直してCreateしましょう f:id:iga-ninja:20190216113707p:plain

注意点

GCSに置くファイルは 公開アクセス とする必要あり

これは必須です、S3のような Origin Access Identity は存在しないからです。結構深い話なので、続きは別エントリで

証明書の問題

すぐには使えません。Let's Encryptを代行してくれるだけなので、そのつもりで。