クラウド バースト機能とは

クラウド バースト機能は、クラウド コンピューティングにおける構成の一つです。アプリケーションはプライベート クラウドやオンプレミスのデータセンターで実行され、コンピューティング容量の需要が急増した際にはパブリック クラウドに「バースト」される仕組みです。これは基本的にオーバーフロー バルブとして機能します。プライベート インフラストラクチャが限界に達すると、トラフィックは自動的にパブリック クラウド サービスに転送されるため、サービスが中断されることはありません。これは、レジの待ち行列が長くなったときにだけレジを追加する小売店のようなものです。クラウド バースト機能のセットアップは、ハイブリッド クラウドのデプロイの一形態です。

標準的なクラウド スケーリング モデルでは、すべての処理を単一の環境で処理しようとする組織もあります。しかし、1 年で最も忙しい日に対応できるだけの物理サーバーを所有するということは、残りの 364 日間はサーバーが空いたまま使用されないことを意味します。クラウド バースト機能はこの課題を解決する一助となります。組織は自社データセンターの基本容量に対してのみ料金を支払い、実際に必要となった場合にのみ追加のパブリック クラウド リソースに対する費用を支払うことが可能となるためです。このアプローチにより、一時しのぎに必要な高価なハードウェアを購入することなく、トラフィックの急増に迅速に対処できます。

クラウド バースト機能の仕組み

クラウド バースト機能の仕組みを理解するために、プライベート クラウドを貯水タンクに例えてみましょう。通常の状態では、水(データ トラフィック)はタンクの容量内に収まります。しかし、突然の嵐(トラフィックの急増)に見舞われると、タンクが溢れる危険にさらされます。

クラウド バースト機能のセットアップでは、IT チームが「トリガー」やしきい値を設定します。これは、通常、リソース使用率が 70~80% に達した時点です。このしきい値を超えると、システムは自動的に 2 つ目のタンク(パブリック クラウド)のバルブを開きます。アプリケーションはシームレスに実行され続け、溢れたトラフィックはパブリック クラウド リソースにルーティングされます。嵐が過ぎ去り、トラフィック レベルが低下すると、システムはバルブを閉じてパブリック クラウド リソースを廃止し、プライベート クラウドのみのオペレーションに戻します。

クラウド バースト機能の種類

バースト機能には、チームが必要とする制御レベルや自動化のレベルに応じて、さまざまな設定方法があります。

  • 手動バースト: 管理者が手動でパブリック クラウド リソースを追加する場合に行います。計画されたソフトウェア リリースなど、予測可能なイベントにおいて有用であり、追加容量の開始と停止のタイミングを人間が正確に決定できます。
  • 自動バースト: ソフトウェア ポリシーを使用してバースト機能をトリガーします。リソースの使用量が指定した上限に達したことをシステムが検出すると、人手を介さずにパブリック クラウドに追加のリソースを自動的にスピンアップできます。
  • 分散ロード バランシング: プライベート クラウドとパブリック クラウドの両方に同時にトラフィックを分散します。ユーザーのリクエストは、ユーザーに最も近い場所、またはその時点で最も利用可能な容量がある場所にルーティングされます。

クラウド バースト機能を使用するタイミング

クラウド バースト機能は、すべてのアプリケーションに適しているわけではありません。特に、複雑で機密性の高いデータに依存しており、プライベート ネットワークの外に持ち出せないようなアプリケーションには向いていない場合があります。一般的に適したワークロードとしては、需要パターンが変動する、季節的である、予測不可能であるものです。このようなワークロードは速度と稼働時間が重要になります。たとえば、以下のようなケースが該当します。

小売業者は、ブラック フライデーやサイバー マンデーといった人気のショッピング イベント期間中に、大規模なトラフィックの急増に直面することがよくあります。クラウド バースト機能を使用すると、パブリック クラウドを使用して数百万人の買い物客に対応できる一方、繁忙期の終了後にはプライベート インフラストラクチャにスケールダウンできます。

データ サイエンティストやエンジニアは、複雑なシミュレーション、AI モデルのトレーニング、3D レンダリングなどの高負荷な計算を伴うハイ パフォーマンス コンピューティング(HPC)タスクを実行することがよくあります。こうした作業には、わずか数時間のために数千台のサーバーが必要となる場合があります。バースト機能を使用すると、スーパーコンピュータの長いキューで待たされたり、稼働率が低いスーパーコンピュータを構築したりすることなく、膨大な処理能力を一時的にレンタルできます。

ソフトウェア デベロッパーは、新しいコードやアップデートをテストするために、一時的な環境を頻繁にスピンアップする必要があります。メインのプライベート サーバーのスペースを占有するのではなく、これらのテスト環境をパブリック クラウドにバーストできます。これにより、本番環境の安全性と安定性が維持されます。

ローカルのデータセンターが停電や自然災害でオフラインになった場合、クラウド バースト機能は障害復旧をサポートするフェイルオーバー メカニズムとして機能します。トラフィックはプライマリ サイトが復旧されるまでパブリック クラウドにリダイレクトされるため、アプリケーションの実行を維持できます。

クラウド バースト機能を実装するには

クラウド バースト機能を実装するには、単に 2 つのコンピューティング環境を用意するだけでは不十分であり、データやアプリケーションを両環境間で移動させる複雑さを処理するための戦略が求められます。これを効果的に行うには、シームレスな接続と一貫した管理を確保する機能が必要です。

GKE でバースト トリガーを構成する

クラウド バースト機能のトリガーを実装する効果的な方法の一つは、Google Kubernetes Engine(GKE)と外部指標を使用した HorizontalPodAutoscaler(HPA)を使用することです。このシナリオでは、オンプレミス アプリケーションが Google Cloud Monitoring にシグナル(指標)を送信します。そのシグナルがしきい値を超えると、GKE はクラウドで新しい Pod を自動的にスピンアップして負荷を処理します。

以下に、Pub/Sub キューの深さ(オンプレミスのワーカーが過負荷状態にあることを示す一般的な指標)に基づいてトリガーを設定する方法を示します。

1. カスタム指標 API を有効にする: まず、GKE クラスタが Cloud Monitoring から指標を読み取れるようにする必要があります。これを行うには、カスタム指標 Stackdriver アダプタをクラスタにデプロイします。このアダプタはブリッジとして機能し、Google Cloud の指標を Kubernetes が理解できるものに変換します。

  • Bash
読み込んでいます...

2. HPA 構成を定義する: HorizontalPodAutoscaler YAML ファイルを作成します。CPU 使用率を調べる標準のオートスケーラーとは異なり、これは外部指標、具体的には Pub/Sub サブスクリプションの未配信メッセージ数(num_undelivered_messages)を調べます。

  • YAML
読み込んでいます...

3. 適用とモニタリング: kubectl apply -f hpa.yaml を使用してこの構成を適用します。これで、GKE がキューを「監視」するようになります。オンプレミス システムが遅くなり、キューが目標値(50 メッセージ)を超えていっぱいになると、HPA がクラウドで新しい Pod の作成を自動的にトリガーし、バックログを処理します。キューが空になると、GKE は Pod をゼロにスケールダウンします。

モニタリングによるファインチューニング

見えないものは管理できません。クラウド バースト機能を効果的に運用するには、IT チームが自社のプライベート データセンターとパブリック クラウドの両方のリソースを明確に把握しておく必要があります。Google Cloud には、アプリケーションが CPU やメモリをどのように使用しているかを詳細に可視化できるツールが用意されています。

アプリケーションが消費する「燃料」の量を正確に把握することで、バーストのタイミングを正確に設定できます。しきい値が低すぎると、必要のないパブリック クラウドへの支出が発生する可能性があり、逆に高すぎると、新しいリソースが到着する前にアプリケーションがクラッシュする可能性があります。モニタリングを統合することで、これらの設定をファインチューニングし、パフォーマンスと費用のバランスを最適化できます。

自動化の役割

手動によるバランシングは、小規模で頻度の低いプロジェクトには有効ですが、エンタープライズ アプリケーションでは効果的にスケーリングできない場合があります。効率性を高めるには、クラウド コンピューティング リソースを自動的にオーケストレートするソフトウェアやツールを実装することが推奨されます。Terraform や Google Cloud の Deployment Manager などの自動化ツールは、Infrastructure as Code(IaC)の定義に役立ちます。

これにより、システムはリアルタイムの需要に基づいてサーバーを自動的にプロビジョニング、構成、管理することが可能となります。トラフィックの急増が収まった際には、自動化ツールがこれらのリソースの「デプロビジョニング」、すなわちシャットダウンも処理します。これにより、パブリック クラウドが不要になった時点で、利用料金の支払いも停止されます。

コントロール(モニタリングとレポート)

バースト中の制御を維持することは、セキュリティと予算の管理において極めて重要です。リソースを追跡し、サービスの中断なしにリソースが適切にプロビジョニングされるようにするための堅牢なモニタリング機能が必要です。

レポートツールは、バースト機能の費用が時間とともにどのように変化するかを追跡するのに役立ちます。このデータは、将来の予算を予測するために不可欠です。さらに、バースト機能のリソースには一貫したセキュリティ ポリシーを適用する必要があります。モニタリング機能やレポート機能を実装するツールは、使用状況の傾向や異常を特定でき、長期的な費用削減や効率向上に役立ちます。

クラウド バースト機能のメリット

クラウド バースト機能を組織の戦略に取り込むことは、パフォーマンスと予算のバランスを図るうえで以下のようなメリットをもたらします。

コストの節約

企業は、追加のパブリック クラウド リソースを使用するときにのみ料金を支払うため、閑散期にアイドル状態になってしまうハードウェアを購入する資本支出を回避できます。

柔軟性とスケーラビリティ

自社のデータセンターの物理的なスペースや電力の制約を受けることなく、新しいプロジェクトを試したり、トラフィックの急増に対処したりできます。

ビジネスの継続性とレジリエンス

プライベート データセンターに問題が発生したり、負荷が過剰になったりした場合でも、パブリック クラウドに負荷を移すことでアプリケーションのオンライン状態を維持し、クラッシュやダウンタイムを防止できます。

リソースの最適化

IT チームは、重要なタスクのためにプライベート クラウドを安定かつ効率的な状態で稼働させつつ、変動的で予測困難なトラフィックを柔軟なパブリック クラウドにオフロードできます。

Google Cloud でビジネスの課題を解決する

新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。

Google Cloud でのバースト機能とスケーラビリティのメリット

クラウド バースト機能のコンセプトは普遍的ですが、それを支えるインフラストラクチャはプロバイダによって大きく異なります。Google Cloud には、ハイブリッド バースト機能の効率と信頼性を高めるさまざまなメリットがあるほか管理も容易です。

  • GKE Enterprise による一貫したプラットフォーム: 多くのハイブリッド ソリューションでは、2 つの異なる環境(オンプレミス用とクラウド用)を管理する必要があるため、バースト時に互換性の問題が発生する可能性があります。Google Cloud の GKE Enterprise は、両方の環境で一貫した Kubernetes ランタイムを提供します。これにより、プライベート データセンター向けに構築されたアプリケーションを、コードの変更や複雑なプラットフォームの再構築なしに、Google Cloud に瞬時にバーストできます。
  • ネットワーク パフォーマンスの向上: アプリケーションがバーストする際、データはプライベート データセンターとパブリック クラウドの間を移動する必要があります。Google は世界最大級のプライベート光ファイバー ネットワークを運用しています。Google Cloud は、公共のインターネットではなくこのプライベート バックボーン上にトラフィックを維持することで、レイテンシを低減し、トラフィックが急増する重要なイベント時でもセキュリティを向上させることができます。
  • 高度なグローバル ロード バランシング: Google Cloud Load Balancing は、単にトラフィックをルーティングするだけでなく、トラフィックの急増に数秒(数分ではなく)で対応し、負荷をグローバルにリージョン間で分散させることができます。ローカルでのバーストでは不十分な場合、ネットワークは、利用可能な容量を持つ次に近いリージョンに自動的にユーザーをルーティングできます。これにより、標準的なネットワーキング ツールでは実現が難しいレベルのレジリエンスを提供します。
  • オープンソースの柔軟性: Google Cloud は Kubernetes や TensorFlow などのオープン標準に基づいて構築されているため、組織はベンダー ロックインを回避できます。現在有効なバースト戦略を構築しつつ、将来のインフラストラクチャへの適応を見据えた柔軟性を維持できます。

参考情報

次のステップ

$300 分の無料クレジットと 20 以上の Always Free プロダクトを活用して、Google Cloud で構築を開始しましょう。

  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud