クラウド バースト機能は、クラウド コンピューティングにおける構成の一つです。アプリケーションはプライベート クラウドやオンプレミスのデータセンターで実行され、コンピューティング容量の需要が急増した際にはパブリック クラウドに「バースト」される仕組みです。これは基本的にオーバーフロー バルブとして機能します。プライベート インフラストラクチャが限界に達すると、トラフィックは自動的にパブリック クラウド サービスに転送されるため、サービスが中断されることはありません。これは、レジの待ち行列が長くなったときにだけレジを追加する小売店のようなものです。クラウド バースト機能のセットアップは、ハイブリッド クラウドのデプロイの一形態です。
標準的なクラウド スケーリング モデルでは、すべての処理を単一の環境で処理しようとする組織もあります。しかし、1 年で最も忙しい日に対応できるだけの物理サーバーを所有するということは、残りの 364 日間はサーバーが空いたまま使用されないことを意味します。クラウド バースト機能はこの課題を解決する一助となります。組織は自社データセンターの基本容量に対してのみ料金を支払い、実際に必要となった場合にのみ追加のパブリック クラウド リソースに対する費用を支払うことが可能となるためです。このアプローチにより、一時しのぎに必要な高価なハードウェアを購入することなく、トラフィックの急増に迅速に対処できます。
クラウド バースト機能の仕組みを理解するために、プライベート クラウドを貯水タンクに例えてみましょう。通常の状態では、水(データ トラフィック)はタンクの容量内に収まります。しかし、突然の嵐(トラフィックの急増)に見舞われると、タンクが溢れる危険にさらされます。
クラウド バースト機能のセットアップでは、IT チームが「トリガー」やしきい値を設定します。これは、通常、リソース使用率が 70~80% に達した時点です。このしきい値を超えると、システムは自動的に 2 つ目のタンク(パブリック クラウド)のバルブを開きます。アプリケーションはシームレスに実行され続け、溢れたトラフィックはパブリック クラウド リソースにルーティングされます。嵐が過ぎ去り、トラフィック レベルが低下すると、システムはバルブを閉じてパブリック クラウド リソースを廃止し、プライベート クラウドのみのオペレーションに戻します。
バースト機能には、チームが必要とする制御レベルや自動化のレベルに応じて、さまざまな設定方法があります。
クラウド バースト機能は、すべてのアプリケーションに適しているわけではありません。特に、複雑で機密性の高いデータに依存しており、プライベート ネットワークの外に持ち出せないようなアプリケーションには向いていない場合があります。一般的に適したワークロードとしては、需要パターンが変動する、季節的である、予測不可能であるものです。このようなワークロードは速度と稼働時間が重要になります。たとえば、以下のようなケースが該当します。
小売業者は、ブラック フライデーやサイバー マンデーといった人気のショッピング イベント期間中に、大規模なトラフィックの急増に直面することがよくあります。クラウド バースト機能を使用すると、パブリック クラウドを使用して数百万人の買い物客に対応できる一方、繁忙期の終了後にはプライベート インフラストラクチャにスケールダウンできます。
データ サイエンティストやエンジニアは、複雑なシミュレーション、AI モデルのトレーニング、3D レンダリングなどの高負荷な計算を伴うハイ パフォーマンス コンピューティング(HPC)タスクを実行することがよくあります。こうした作業には、わずか数時間のために数千台のサーバーが必要となる場合があります。バースト機能を使用すると、スーパーコンピュータの長いキューで待たされたり、稼働率が低いスーパーコンピュータを構築したりすることなく、膨大な処理能力を一時的にレンタルできます。
ソフトウェア デベロッパーは、新しいコードやアップデートをテストするために、一時的な環境を頻繁にスピンアップする必要があります。メインのプライベート サーバーのスペースを占有するのではなく、これらのテスト環境をパブリック クラウドにバーストできます。これにより、本番環境の安全性と安定性が維持されます。
ローカルのデータセンターが停電や自然災害でオフラインになった場合、クラウド バースト機能は障害復旧をサポートするフェイルオーバー メカニズムとして機能します。トラフィックはプライマリ サイトが復旧されるまでパブリック クラウドにリダイレクトされるため、アプリケーションの実行を維持できます。
クラウド バースト機能を実装するには、単に 2 つのコンピューティング環境を用意するだけでは不十分であり、データやアプリケーションを両環境間で移動させる複雑さを処理するための戦略が求められます。これを効果的に行うには、シームレスな接続と一貫した管理を確保する機能が必要です。
クラウド バースト機能のトリガーを実装する効果的な方法の一つは、Google Kubernetes Engine(GKE)と外部指標を使用した HorizontalPodAutoscaler(HPA)を使用することです。このシナリオでは、オンプレミス アプリケーションが Google Cloud Monitoring にシグナル(指標)を送信します。そのシグナルがしきい値を超えると、GKE はクラウドで新しい Pod を自動的にスピンアップして負荷を処理します。
以下に、Pub/Sub キューの深さ(オンプレミスのワーカーが過負荷状態にあることを示す一般的な指標)に基づいてトリガーを設定する方法を示します。
1. カスタム指標 API を有効にする: まず、GKE クラスタが Cloud Monitoring から指標を読み取れるようにする必要があります。これを行うには、カスタム指標 Stackdriver アダプタをクラスタにデプロイします。このアダプタはブリッジとして機能し、Google Cloud の指標を Kubernetes が理解できるものに変換します。
2. HPA 構成を定義する: HorizontalPodAutoscaler YAML ファイルを作成します。CPU 使用率を調べる標準のオートスケーラーとは異なり、これは外部指標、具体的には Pub/Sub サブスクリプションの未配信メッセージ数(num_undelivered_messages)を調べます。
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 には、ハイブリッド バースト機能の効率と信頼性を高めるさまざまなメリットがあるほか管理も容易です。