Google Cloud Storage(GCS)はスタティックサイトのホスティングにも利用できます。
基礎的な設定
バケットはサイト専用に用意し、権限はallUsers
に読み取り権限を追加します。
公開するバケットであるため、単一ポリシーとした方がトラブルが少ないでしょう。
ファイルのアップロードはgsutil
コマンドが主であり、ほかにAPI経由のプログラム転送や、クラウドコンソール上の操作があります。
ファイル転送などは「
Google Cloud Storageで静的ファイル配信」で解説しています。
リージョン選定
GCSはバケット作成時に、グローバルネットワーク上のリージョンを選択します。世界各国から選択でき、読者の居住地に近いリージョンを設定します。 また、GCSのリージョンを超える地域への配信を行いたい場合、CloudCDNを併用することになります(追加コストはかかります)。
ディレクトリアクセスの挙動変更
GCSのデフォルト設定では、厳密に要求されたファイルのみを返し、ディレクトリアクセスや404エラーに対応しません。特殊ページを割り当てる設定をすることで、Webサイト向けの挙動になります。
gsutil
コマンドを利用する場合、以下のようなコマンドになります。
$ gsutil web set -m index.html -e 404.html gs://www.example.com
httpsサイトへの変更
GCS上のサイトはHTTPで配信されます。 HTTPSアクセスに対応するためには、外部HTTPSロードバランサを別途セットアップする必要があります。 初期設定はクラウドコンソールから手順に従う方法がもっとも手軽でしょう。
外部HTTPSロードバランサを含む負荷分散機能には月額$18程度のミニマムフィーがかかります。機能面では考えうる限り十分であり、CloudCDNと併用することでグローバルサービスの要件をほぼ満たすでしょう。
なお、外部HTTPSロードバランサを利用する構成では、SSL証明書の定期更新を実装する必要があります。Google Cloudが提供するマネージド証明書のほか、自らLet’s Encryptで取得する証明書を運用する場合、以下のドキュメントのとおりgcloud
コマンドを用いて更新することになります。
Chuma Takahiro