🪣

独自ドメインでCloud StorageをHTTPSで配信する方法

2024/04/30に公開

はじめに

先日、独自ドメインでGoogle Cloud StorageをHTTPSで配信する方法を調べたので、その設定手順をまとめてみました。

今回はAWSのRoute53で管理しているドメインを利用しました。

ドメインの所有権の確認

まず始めにGoogle Search Consoleから利用するドメインの所有権の確認をおこないます。

プロパティタイプの選択で、利用するドメイン名を入力し、続行をクリックします。

「DNSレコードでのドメイン所有権の確認」のダイアログが表示されるので、レコードタイプを「TXT」にし、③のTXTレコードの値をコピーします。

AWSのコンソールからRoute53を開き、以下のTXTレコードを登録します。
TXTレコードの値は、先ほどGoogle Search Consoleでコピーした値をセットします。

「DNSレコードでのドメイン所有権の確認」のダイアログに戻り、確認ボタンをクリックします。
成功すると、以下のようなダイアログが表示されます。

Cloud Storageのバケット作成

Cloud Storageのコンソールを開き、以下内容でバケットを作成します。

  • バケット名:{所有権を確認した独自ドメイン名}
  • 公開アクセスの防止:off

作成したバケットの権限設定で「プリンシパルを追加」をクリックし、以下内容で設定します。

  • 新しいプリンシパル:allUsers
  • ロール:Storage オブジェクト閲覧者

作成したバケットの「ウェブサイトの構成を編集」をクリックし、インデックス(メイン)ページサフィックスを入力して保存します。

ロードバランサーの作成

ロードバランシングのコンソールを開きます。

以下内容で設定をおこない、構成ボタンをクリックします。

  • ロードバランサのタイプ:アプリケーション ロードバランサ(HTTP / HTTPS)
  • インターネット接続または内部:インターネット接続(外部)
  • グローバルまたはシングル リージョンのデプロイ:グローバル ワークロードに最適
  • ロードバランサの世代:グローバル外部アプリケーション ロードバランサ

フロントエンドの構成

フロントエンドの構成で、プロトコルを「HTTPS」を選択します。

証明書のプルダウンから「新しい証明書を作成」を選択し、以下内容で証明書を作成します。

  • 作成モード:Google マネージドの証明書を作成する
  • ドメイン1:{利用する独自ドメイン名}

バックエンドの構成

「バックエンドサービスとバックエンドバケット」をクリックし、「バックエンド バケットを作成」をクリックします。

以下内容でバックエンドの作成をおこないます。

  • Cloud Storageバケット:{作成したバケットを選択}
  • Cloud CDNを有効にする:ON

ルーティングルール

以下内容でルーティングルールの設定をおこないます。

  • モード:単純なホストとパスのルール
  • ホストとパスのルール:{作成したバックエンドを選択}

全ての設定が完了したら「作成」をクリックし、ロードバランサーを作成します。

ルーティングの設定

ロードバランシングのコンソールを開き、作成したロードバランサーをクリックして詳細画面を開きます。

フロントエンドに表示されているIPアドレスをコピーしておきます。

AWSのコンソールからRoute53を開き、以下のAレコードを登録します。
Aレコードの値は、先ほどロードバランサーの詳細画面でコピーしたIPアドレスをセットします。

Googleマネージド証明書の確認

GCPの証明書マネージャのコンソールを開き、タブ「従来の証明書」をクリックします。

フロントエンドの構成で作成した証明書をクリックし、詳細画面を開きます。
ステータスが「ACTIVE」になっていればOKです。

おわりに

AWSであれば「Cloud Front + s3 + ACM」の構成で簡単にできますが、GCPだとロードバランサーの作成が必要になるので、少し手間でした💦
ただGCPのロードバランサーは全く触ったことがなかったので、良い機会になりました✨

どなたかのお役に立てば幸いです🙏

コラボスタイル Developers

Discussion