Google Cloud Storage (GCS) のバケット内ににフォントファイル (.ttf
) を置いて,自分のブログに配信しようと考えた.GCSではHTTPアクセス制御 Cross-Origin Resource Sharing (CORS) を設定しないと外部オリジンのサイトに対してリソースを配信できない.コマンドラインツールgsutil
を使って設定していく.
Google Cloud Platform (GCP) のプロジェクトを選択する.
$ gcloud config set project <プロジェクト名> $ gcloud config list
プロジェクトに含まれるバケットを一覧する.
$ gsutil list gs://daiiz-fonts/
バケットの現在のCORS設定を確認する.まだ何も設定されていないことが分かる.
$ gsutil cors get gs://daiiz-fonts/ gs://daiiz-fonts/ has no CORS configuration.
ここで,CORSの設定を記述したJSONファイル (gs-cors-settings.json
) を作成する.
[ { "origin": [ "http://daiiz.hatenablog.com" ], "responseHeader": [ "Content-Type" ], "method": [ "GET" ], "maxAgeSeconds": 60 } ]
最後に,作成した設定ファイルをセットする.
$ gsutil cors set gs-cors-settings.json gs://daiiz-fonts/
これで完了.
バケットgs://daiiz-fonts/
内にあるファイルは http://daiiz.hatenablog.com
から呼び出せるようになった.でもフォントファイルのサイズは結構大きく,さらに,転送サイズが大きいとGCSのネットワーク下り料金も一気にかかるので配信する計画はやめた.以下のような空の設定ファイルをセットして,CORSの設定を再び gs://daiiz-fonts/ has no CORS configuration.
に戻しておいた.
[ { "origin": [], "responseHeader": [], "method": [] } ]