Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

ハイパースケーラー別コスト最適化:Azureの強み

By Luca SerpietriApr 10, 20257 min read

このページはEnglishDeutschEspañolFrançaisItalianoPortuguêsでもご覧いただけます。

Azure、AWS、GCPに共通するコスト最適化のベストプラクティスとは何でしょうか。そしてAzureは、顧客のコスト削減という観点でどのように他社と差別化を図っているのでしょうか。

Photo by Łukasz Łada on Unsplash

そこで考えました。すべてのハイパースケーラーに共通する最低限の戦略をまず共有し、その中の一つを掘り下げてその特徴を浮き彫りにしてみてはどうか、と。

本記事では、Azureのコスト最適化を読み解くにあたり、まずAWS・GCP・Azureの主要3社すべてに当てはまるベストプラクティスから出発します。続いて、Azureだけが提供する3つの独自機能を取り上げます。いずれも導入の手間はわずかながら、大幅なコスト削減につながる可能性のあるものばかりです。

主要3社の共通点:コスト最適化のセオリー

AWS、GCP、Azureの各社は、自社サービスの差別化ポイントを打ち出すために多くの時間と費用を投じていますが、コスト最適化に関してはどのクラウドにも共通して当てはまる原則がいくつか存在します。結局のところ、クラウド導入を後押しするのは機能や性能だけでなく効率性でもあり、ここ数年、顧客はコストの可視化と削減手段の充実を強く求めるようになっています。

たとえばFinOps Foundationは、クラウドコストの分析方法や非効率の発見手法について、ある種の標準化されたアプローチを推進しています。活動内容に関心のある方は、こちらをご覧ください https://www.finops.org/

本題に戻りましょう。クラウドへの初めての移行に取り組んでいる方も、SimpleDB時代から運用を続けている方も、AWS・GCP・Azureに共通する3つの主要なコスト最適化原則を見ていきましょう。

1\. インスタンスのライトサイジング

ライトサイジングはクラウドにおける王道のテーマです。要は、ニーズに見合ったリソースを使うこと——多すぎず、少なすぎず、です。クラウド(そして人生)における大半の選択と同じく、リソース(マネージドDBインスタンス、コンテナ、Pod、VM、ファイルシステムなど)のサイズは、いま必要なもの、将来必要になり得るもの、そしてそれをどれだけ早く必要とするか、というトレードオフで決まります。

どのハイパースケーラーも、課金データと運用メトリクス(インスタンスのネットワーク・メモリ・CPU使用率など)を組み合わせ、リソースの縮小や完全な削除を提案するとともに、その削減見込み額を提示してくれます。

AzureもAzure Advisorを通じて推奨事項をしっかり提供しています。これはAWSのCompute OptimizerやGCPのRecommenderと同様に、リソースのライトサイジングや遊休リソースの削除に関する提案を行うものです。

これらの推奨事項は必ず確認しましょう。削除可能なリソースの多さに驚かれるはずです。本記事の後半ではAzure固有の追加機能をさらに掘り下げますので、ぜひ読み進めてください。

2\. リザベーション(予約購入)

一定期間のコンピューティングリソースを前払いでコミットすると、どのクラウドでもコストを大幅に削減できます。各ハイパースケーラーともに、この購入方式はコンピュート、ストレージ、データベースなど幅広いサービスで利用可能です。一見ハードルが高そうに見えますが、クラウドで最も手早く節約できる方法でもあります。設定変更も再アーキテクチャも不要、わずか数クリックでリソースの単価が劇的に下がります。

AzureはReservation Recommendation APIを提供しているほか、サブスクリプションレベルの推奨事項をAzure Advisorから確認できます。ただし、課金スコープ全体を対象にした推奨事項を見たい場合(リザベーションの利用率を最大化するなら、本来こうあるべきです)、その提供方法はやや使い勝手に難があります。Azureポータルで Reservations > Add に進むと、リザベーションが適用されるすべてのサービスとその推奨事項を確認できます。

個人的には、AWSとGCPのポータルの方が使いやすいと感じます。いずれも対象サービスのリザベーション推奨事項を一画面でまとめて確認でき、あちこちクリックする必要がありません。とはいえ、見た目の話に終始してはいけません。重要なのは、これらの推奨事項を分析し、自社のユースケースに合うものをできるだけ早く適用することです。https://azure.microsoft.com/en-us/pricing/offers/savings-plan-compute

3\. Spotインスタンス

中断を許容できるworkloads(テスト・サンドボックス環境、バッチジョブ、非同期処理など)を運用しているなら、3社すべてのプラットフォームでSpotインスタンスが利用できます。Spotインスタンスの基本的な発想は、ハイパースケーラーがデータセンターに抱える余剰キャパシティを遊ばせておくのではなく、大幅な割引価格で顧客に開放するというものです。AWSとAzureでは、こうしたVMに支払ってもよい上限価格を顧客側で設定でき、コストをよりきめ細かくコントロールできます。

仮にアベイラビリティゾーン内のキャパシティ需要が高まると、Spot価格が上昇し、顧客の設定した閾値を超えることがあります。その場合、クラウドプロバイダーは退避(eviction)プロセスを開始し、VMをシャットダウンします。顧客はVMとそのディスクを保持して(その分の料金は発生します)価格が下がるのを待つか、削除してすべての課金を止めるかを選択できます。

Azureは上限価格設定と退避動作に対応したSpot Virtual Machinesを提供しています。ただし注意点として、Bシリーズマシンとプロモサイズは対象外です。さらに、Virtual Machine Scale Sets for Spot VMsをデプロイすれば、Spot VMと自動スケーリングを組み合わせて、過剰なスケーリングによる請求額急増のリスクをさらに低減できます。

Azureならではのポイント

ここまではハイパースケーラー横断で有効なクラウド最適化の共通アプローチを見てきましたが、Azure固有の特徴はどうでしょうか。コストをさらに圧縮するうえで活用できる、Azureならではのメリットはあるのでしょうか。

1\. Azure Hybrid Benefit:BYOLという切り札

DoiTのお客様の中には、AWSやGCPでWindows workloadsを稼働させるために、Windowsライセンス料として毎月数百万ドルを支払っている企業もあります。しかし、Software Assurance付きのWindowsライセンス契約を既にお持ちであれば、Azure Hybrid Benefitを活用できます。これは、既存のオンプレミス向けWindows Server、Microsoft SQL Server、Linux製品のライセンスをクラウド環境に持ち込めるプログラムです。

世界で最もエキサイティングなトピックではないかもしれませんが、このプログラムによってオンプレミスのライセンスをAzure上のリソースに事実上そのまま再利用でき、その過程で大幅な割引が受けられるという点は見逃せません。AWSとGCPもMicrosoftとの契約により、各社クラウドでMicrosoft製品を使う際のライセンス持ち込みを認めていますが、Azure Hybrid Benefitはトータルコストを大きく(場合によっては85%も)引き下げます。詳細はこちらのリンクをご覧ください。

2\. Dev/Test価格

Azureはユニークな取り組みとして、Enterprise Agreementプログラムを通じて非本番環境向けの特別価格(Dev/Test価格)を提供しています。先にSpot VMをテスト環境のコスト削減に活用できると述べましたが、その戦略は実質的にAzure VMに限られます。一方、Dev/Test価格はSQL DatabaseやApp Serviceなど幅広いサービスが対象となり、テスト環境のTCOを大きく圧縮できます。Azure DevOpsやMSDNサブスクリプションを利用しているチームは、該当するVMやサービスを起動する際には必ずDev/Test価格枠を選びましょう。

3\. Azure Cosmos DBで動的スケーリングを有効化する

これは見落とされがちなポイントかもしれません。特にAzure Cosmos DBを長年利用してきた方は要注目です。2024年9月、MicrosoftはCosmos DBのデータベーススケーリング方式を変更し、動的スケーリングを利用できるようにしました。

従来は、最もアクティブなリージョンまたはパーティションを基準にスケーリングがトリガーされていました。一見すると望ましい挙動に思えますが、workloadsが偏り、あるリージョンやパーティションだけ著しく負荷が高いような場合、この方式は不必要かつ高額なスケールアップを招いていました。

現在、Microsoftはマルチリージョンデータベースをこれまでのように最もアクティブなリージョン基準ではなく、リージョン単位で課金するようになりました。さらにスケーリングもパーティション単位で行われるようになり、実際の利用パターンにより即した精緻な課金が可能になっています。

実践的なヒント:2024年9月25日以降に作成されたAzure Cosmos DBアカウントでは、デフォルトで有効になっているため特に作業は不要です。それ以前に作成されたアカウントについては、こちらのリンクの手順に従って有効化してください。

さて、AWS・GCP・Azureに共通するベストプラクティスと、クラウド投資をさらに効率化するためにAzureが持つ切り札を見てきました。次の一手はどうしましょうか。もちろん、DoiTまでお気軽にご相談ください。doit.com/services 😊