23
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Person Link newAdvent Calendar 2020

Day 2

[GCP]Cloud StorageにCloud CDNを設定する

Last updated at Posted at 2020-12-01

Advent calendar2日目です🎉
パーソンリンクではkiberaというツールを使って社内で技術系の知見を共有しています。
そこで投稿したものを外部にも公表します🌞
普段はAWSを主に扱っていますが、業務で取り扱うことがあったので今回はGCPの内容です。

本題

GCPのCloud StorageにCloud CDNを設定する手順を書きます。
CDNとはオリジンサーバーの代わりにコンテンツをキャッシュしてユーザに配布してくれるやつで、高速化やオリジンサーバの負荷削減などの効果があります。

CDN.png

GCPではロードバランサの機能の一部としてCDNを利用することができます。(下の記事曰く「巨大な CDN 機能付きロードバランサー」)

1_jWfxrPkpQbca_oZ7BN6r4A.png
画像引用元:Cloud CDN カスタムオリジン | google-cloud-jp

前提

以下は行っている前提で書きます。

  • GCPアカウント作成
  • GCPプロジェクト作成
  • GCPアカウントの決済情報登録

Cloud Storageの作成

ホーム画面 > メニュー > Storage

  1. 「バケットを作成」をクリック
  2. 名前、リージョン(asia-northeast1(東京))、ストレージクラス(Standerd)、アクセス制御(均一)を設定。
  3. 「作成」をクリック

Cloud Load Balancingの作成 & Cloud CDNの設定

ホーム画面 > メニュー > ネットワーク サービス > 負荷分散

  1. 「ロードバランサを作成」をクリック
  2. HTTP(S)負荷分散の「構成を開始」をクリック
  3. 「インターネットから自分のVMへ」を選択して「続行」をクリック
  4. ロードバランサの名前を記入
  5. バックエンドの構成 > バックエンドサービスとバックエンドバケットの作成または選択 > バックエンドバケット > バックエンドバケットを作成
  6. バックエンドバケットの名前、Cloud Storageバケットの選択、Cloud CDN(Cloud CDNを有効にする)を設定。 ※画像参照
  7. フロントエンドの構成 > 「完了」をクリック
  8. 「作成」をクリック

スクリーンショット 2020-11-25 15.18.00.png

確認

ストレージに適当なindex.htmlをpushして、アクセスしてみます。
https://storage.cloud.google.com/BUCKET_NAME/index.html
※ BUCKET_NAMEは作成したものに置き換えてください
上記のURLにアクセスすると別のURLへ飛ばされ、CDNのキャッシュサーバへアクセスしていることがわかります。

参考

【GCP入門編・第29回】Cloud Load Balancing で Web アプリケーションにロードバランサーを設定する | 株式会社トップゲート
【GCP入門編・第30回】 Cloud CDNで静的ファイルの配布を行う | 株式会社トップゲート

23
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?