カスタムドメイン + httpsでCloud Storageのオブジェクトにアクセスできるようにする
カスタムドメイン形式( assets.example.com
)でCloud Storageのバケットを作成し、DNSに↓のようにCNAMEを登録するとカスタムドメインでCloud Storageのオブジェクトにアクセスできるようになる。
CNAME assets c.storage.googleapis.com
ただし、そのままだとhttpsには対応していないため、GCPで完結させる場合はCloud Load Balancingを前段に配置する必要がある。
今回はコストを抑えるためCloud Load Balancingは使わず、Cloudflareを用いてhttps対応を行った。
前提としてネームサーバーはCloudflareに変更済みとする。
DNS設定
- CNAMEの登録
![cloudflare storage1](http://images.ctfassets.net/83xbj7nb79zu/3sMBd2tsf1ATl2Htp8i2ye/2d509f25fae32c78ce56d0aa795d8ba9/cloudflare_storage1.png)
ページルール設定
- 「SSL/TLS」メニューを表示し、現在の暗号化モードを確認
- デフォルトだと「フル」になっている
![cloudflare storage3](http://images.ctfassets.net/83xbj7nb79zu/1OS9ha37pdxrbZWAEih5iG/cf972e04281a8e6dc6ef9e54a95c3637/cloudflare_storage3.png)
- 「ルール」メニューを表示し、
assets.example.com
へのアクセスのみ「フレキシブル」に変更するルールを追加する- URLには
*assets.example.com/*
を設定 - SSL => フレキシブル に設定
- URLには
![cloudflare storage2](http://images.ctfassets.net/83xbj7nb79zu/29RFW9au3X4ToVF0uB8CAP/735d559f4bf0d71d070fb8d708fdd430/cloudflare_storage2.png)
これでカスタムドメイン + httpsでCloud Storageのオブジェクトにアクセスできるようになった。