1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Runで手軽に使えるURL(xxx.run.app)を使わずCloud Load Balancingを使う理由を聞かれたのでまとめてみました

Posted at

はじめに

Cloud Runにデプロイすると自動的に付与される xxx.run.app というURLがあります。このURL自体もGoogleの高度なインフラ上で動作し、トラフィックに応じて自動でスケーリングしてくれます。では、なぜわざわざCloud Load Balancingを使う選択肢があるのか、聞かれました。その場ではCloud Armor(WAF)など連携ができ、セキュア面で必要であることを伝えましたが、せっかくなので具体的に回答できるよう、調べてまとめることにしました。

それぞれの特徴と使い分けを分かりやすく記載します。

結論:どちらを選ぶべきか

まずは結論から。ユースケースに合わせて選ぶ必要があります。

  • とりあえず始めるなら、デフォルトURL (xxx.run.app)

    • 開発・テスト環境
    • 社内向けのツール
    • シンプルなAPIやWebサイト

    コストを最小限に抑え、すぐに公開したい場合におすすめです。


  • 本格的な本番環境なら、Cloud Load Balancing

    • 独自のドメイン (www.your-service.com など) を使いたい
    • 複数のサービスやリージョンにリクエストを振り分けたい
    • CDNでコンテンツを高速化したい
    • WAF(Web Application Firewall)でセキュリティを強化したい

    高い信頼性、柔軟なルーティング、高度なセキュリティが求められる場合におすすめです。


それぞれの仕組みと特徴

なぜ上記のような使い分けになるのか、それぞれの仕組みと特徴を整理します。

1. Cloud RunのデフォルトURL (xxx.run.app)

Cloud Runのサービスを作成すると、Googleが管理する run.app ドメインのサブドメインとして、ユニークなURLが自動的に発行されます。

メリット
  • 設定不要ですぐに使える: デプロイするだけで、HTTPS対応のURLが手に入ります。SSL証明書の管理もGoogleが自動で行ってくれます。
  • コストが安い: Cloud Load Balancingの利用料金がかかりません。Cloud Runの利用料金だけで済みます。
  • グローバルに利用可能: Googleのグローバルネットワーク上で動作するため、世界中のどこからアクセスしても最適な経路で接続されます。スケーリングももちろん自動です。
デメリット
  • ドメインが固定: xxx.run.app という形式のURLしか使えず、独自のドメインを直接割り当てることができません。
  • 機能がシンプル: CDN連携やWAF(セキュリティ機能)の追加、パスベースの細かいルーティング設定などはできなさそうです。

2. Cloud Load Balancing

Cloud Load Balancingは、Google Cloudが提供する高性能なロードバランサです。Cloud Runをそのバックエンド(リクエストの転送先)の一つとして設定することができます。

メリット
  • カスタムドメインが使える: www.your-service.com のような独自のドメイン名を設定できます。
  • 高度なルーティング: URLのパス (/api//images/) に応じて、リクエストを別のCloud Runサービスや、全く別のサービス(Cloud Storageなど)に振り分けることができます。
  • 他のGoogle Cloudサービスとの連携:
    • Cloud CDN: 静的コンテンツをキャッシュさせ、Webサイトの表示を高速化できます。
    • Google Cloud Armor: DDoS攻撃からの保護や、IPアドレス・国別のアクセス制限など、高度なセキュリティ(WAF)を実現できます。
  • 複数のバックエンドを統合: 複数のリージョンにあるCloud Runサービスや、仮想マシン(Compute Engine)、Kubernetes(GKE)などを束ねて、単一の窓口として公開できます。
デメリット
  • 設定が必要: ドメインの用意やロードバランサ自体の設定など、デフォルトURLに比べて手間がかかります。
  • 追加コスト: Cloud Load Balancingの利用料金が別途発生します(転送されたデータ量やルール数に応じた課金となるようです)。

機能比較まとめ

機能 Cloud Run デフォルトURL (xxx.run.app) Cloud Load Balancing
スケーリング ◎ 自動 ◎ 自動 (Cloud Run側)
URL xxx.run.app (固定) 独自ドメインが利用可能
SSL/TLS証明書 ○ Googleマネージド証明書 (自動) 独自証明書も利用可能
設定の容易さ 非常に簡単 △ やや複雑
コスト 安い (Cloud Runのみ) △ 高い (LBの料金が追加)
バックエンドの柔軟性 × 単一のCloud Runサービスのみ 複数のサービスやGCE/GKE/Storageも可
高度なルーティング × 不可 パスベース、ホストベースなど柔軟
CDN連携 × 不可 可能 (Cloud CDN)
WAF (セキュリティ) × 不可 可能 (Google Cloud Armor)

まとめ

Cloud RunのデフォルトURLは「手軽で高機能なエントリーモデル」、Cloud Load Balancingは「本格的なWebサービスを構築するためのプロフェッショナルモデル」と考えると分かりやすいかもしれません。

まずはデフォルトURLで迅速に開発を始め、サービスが成長し、独自ドメインやCDN、高度なセキュリティが必要になったタイミングでCloud Load Balancingの導入を検討するのが、効率的で無駄のない進め方となると考えます。

以上です。

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?