#daiizメモ

Scrapboxに夢中

GCSのBucketのCORSを設定する手順

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": []
  }
]
参考もと