GCLBでは、同一PJの場合は「バックエンドバケット」でGCSをオリジンに設定することが出来ます。
一方で、別のPJのGCSをオリジンにする場合は、インターネットNEGを用いて「バックエンドサービス」として取得する必要があります。
ここではこのような場合のポイントを記載します。
ポイント
-
GCSにカスタムドメインを振っている場合、実際にそのドメインでアクセスできることアクセスできない場合、試した限りではバックエンドサービスとして取得出来ませんでした(やり方わかる方コメントください!)- カスタムドメインの場合でも取得できました。設定後述します。
- GCSは公開に設定していること
- Hostヘッダを指定すること
GCSバケット名に「.」を含まない場合
- インターネットNEG
- FQDNは「**[バケット名].storage.googleapis.com」**とする
- GCSはインターネット公開に設定する
- GCLB
- バックエンドサービスのバックエンドタイプを「インターネット・ネットワークエンドポイントグループ」にし、プロトコルは「HTTP/2」にする
- バックエンドサービスの「高度な設定」にて、カスタムリクエストヘッダーを追加する。
- Host : [バケット名].storage.googleapis.com
- ※これがないと404になります。
このポイントを押さえれば、GCSの公開URLに直接アクセスした際のパスのまま、ドメインをGCLBのものに変更することで、GCLBから外部PJのGCSデータを返すことが出来ます。
例)
- GCS URL
- https://[バケット名].storage.googleapis.com/test.jpg
- LB URL
GCSバケット名に「.」を含む場合(ドメイン名のバケット)
- インターネットNEG
- FQDNは「**storage.googleapis.com」**とする
- GCSはインターネット公開に設定する
- GCLB
- バックエンドサービスのバックエンドタイプを「インターネット・ネットワークエンドポイントグループ」にし、プロトコルは「HTTP/2」にする
- バックエンドサービスの「高度な設定」にて、カスタムリクエストヘッダーを追加する。
- Host : storage.googleapis.com
- ※これがないと404になります。
- ホストとパスのルールで「詳細なホストとパスのルール(URL リダイレクト、URL の書き換え)」に設定
- 「アドオンアクション(URLの書き換え)」の「パス接頭辞の書き換え」で /カスタムドメイン を追記する
- 例)「/custom.example.com」
- 「アドオンアクション(URLの書き換え)」の「パス接頭辞の書き換え」で /カスタムドメイン を追記する
カスタムドメインを利用している場合は、GCSのURLは
- カスタムドメイン、GCS直接(※DNS設定が必要)
- カスタムドメイン、同一PJのGCLB経由(※未確認)
- GCS URL
となります。
上記の設定を利用すると、
として、カスタムドメイン名バケットでも、別PJのGCLB経由のアクセスが可能になります。