Azureの基礎　その１２

#Azureのコストを予測して支出を最適化する

出展：https://docs.microsoft.com/ja-jp/learn/modules/predict-costs-and-optimize-spending/index

##Azure製品およびサービスの購入

###使用状況の測定
・リソースが常に「使用状況に基づいて」課金される

##コストに影響する要因

###リソースの種類
・サービス
　・Azureの使用率と課金期間は、Enterprise、Web Direct、およびクラウド ソリューション プロバイダー（CSP）のユーザによって異なる

・場所
　・使用コストは、人気度、需要、およびローカルインフラストラクチャコストに基づき、特定の Azure製品、サービス、およびリソースを提供する場所によって異なる

・Azureの課金ゾーン
　・着信データ転送（Azureデータセンター「内に」入ってくるデータ）は無料
　　送信データ転送（Azureデータセンター「から」出ていくデータ）の場合、データ転送料金は課金ゾーンに基づく
　・ゾーンは、課金の目的でAzureリージョンを地理的にグループ化したもの
　・課金ゾーンと可用性ゾーンとは異なる
　・Azureでは、ゾーンという用語は課金目的でのみ用いられ、可用性ゾーンという用語は、Azure がデータセンターに提供する障害保護を指す
　・ほとんどのゾーンでは1か月あたりの最初の送信5GBは無料。その後、GBあたりの固定料金が課金される
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545315/612a1fe5-c9b7-49ea-55ba-ad34e86c6330.png)

##Azure料金計算ツールでコストを見積もる

###Azure料金計算ツールの概要
・ユーザが見積もりを作成しやすいように、Azure料金計算ツールが用意されている
・Webベースの無料ツールであり、Azureサービスを入力し、サービスのプロパティとオプションを変更できるようになっている
・ サービスあたりのコストと、完全な見積もりの総コストが出力される
・料金計算ツールで構成できる基本的なオプション
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545315/cbfef71b-4895-fdf2-5c43-e0866874bca8.png)

##Cost ManagementとAzure Advisorで予測と最適化を行う

###Azure Advisorとは
・Azureに組み込まれている無料のサービスであり、高可用性、セキュリティ、パフォーマンス、およびコストについての推奨事項が示される
・デプロイされたサービスを分析し、4つの領域全体の環境を改善する方法を見つける
・コストに関する推奨事項
　・プロビジョニングが解除されたAzure ExpressRoute回線を排除してコストを削減する
　・従量課金制よりコストを節約するために予約インスタンスを購入する
　・使用率が低い仮想マシンのサイズを適切に設定するか、シャットダウンする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545315/ea3952dd-ee03-00a0-ba8e-202510dda538.png)

###Azure Cost Management
・クラウドのコストが発生する場所についてより詳しい分析情報を得ることができる
・コストがかかるサービスや設定した予算の追跡方法などの履歴を詳しく確認することができる
・予算を設定し、レポートをスケジュールし、コスト領域を分析できる
・これまでに支払われた料金の明細を分析し、設定されている予算との差異を追跡する

##Azure TCO計算ツールで総保有コストを見積もる
・クラウドへの移行を開始する場合にコスト削減を予測するのに便利なツール

###手順
手順 1:TCO 計算ツールを開く
手順 2:ワークロードを定義する
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545315/e58d873c-609e-cf91-da97-99669f1352b6.png)
手順 3:前提条件を調整する
　・TCO計算ツールによって行われる前提条件の値を調整する
　・現在のオンプレミス インフラストラクチャのコストと一致するように値を調整する
　・カスタマイズできる条件
　　・ストレージ コスト
　　・IT の人件費
　　・ハードウェア コスト
　　・ソフトウェア コスト
　　・電気代
　　・仮想化コスト
　　・データセンター コスト
　　・ネットワーク コスト
　　・データベース コスト
手順 4:レポートを表示する
　・入力した詳細および行った調整に基づいて詳細レポートが生成される
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545315/928a5c75-88d3-e7e6-be96-70519406dc21.png)

##インフラストラクチャ コストを節約する

###Azureクレジットを使用する
・Visual Studioサブスクライバーは、月々のクレジット特典をアクティブ化して、Azure で新しいソリューションを実験、開発、およびテストすることができる
・Azureクレジットを使用して、金銭的コストなしに、App Service、Windows 10 VM、Azure SQL Server データベース、コンテナー、Cognitive Services、Functions、Data Lake などの新しいサービスを試すことができる

###使用制限を使用する
・既定で、月々のクレジット（試用版アカウントを含む）に関連付けられたAzureサブスクリプションには「使用制限」があり、クレジットを使い切った後に確実に課金されないようにすることができる
・Azureの使用量が、月々のクレジットを使い果たす額に達すると、デプロイしたサービスは、残りの課金期間、無効になる
・新しい課金期間が開始されると、使用できるクレジットがあることを想定して、リソースが再アクティブ化され、デプロイされる
・サブスクリプションの使用制限に達した場合は、電子メール通知が送信される
・Azure portalには、クレジット使用に関する通知も表示される
・必要に応じて使用制限を調整することも、オフにすることもできる
・使用制限機能は、月々のAzureクレジット割り当てを含むサブスクリプションに固有のもの
・従量課金のみのサブスクリプションでは利用できない

###予約インスタンスを使用する
・静的で予測可能なVMワークロード、特にそれが年中無休で実行されている場合、予約インスタンスを使用することで、VMのサイズによっては最大70%から80%の節約が見込める
・予約インスタンスは1年または3年単位で購入でき、全額前払いとなる
・購入後、Microsoftではその予約と実行中のインスタンスを突き合わせ、予約の時間を減らしていく
・Azure portalから予約を購入することができる

###低コストの場所およびリージョンを選択する
・Azure製品、サービス、およびリソースのコストは、場所およびリージョンによって異なる場合があり、可能であれば、低コストの場所およびリージョンで使用すべき

###使用率が低い仮想マシンのサイズを適切に設定する
・Azure Cost ManagementとAzure AdvisorによってVMの適切なサイズ設定またはシャットダウンが推奨される

###業務時間外に仮想マシンの割り当てを解除する
・開発環境用の戦略
・業務時間外にシステムの割り当てを解除し、コンピューティングコストが発生しないようにして、業務時間にのみ開発を行う

###使用されていない仮想マシンを削除する
・定期的にご利用の環境を確認し、サービスを使用しない場合は、シャットダウンする

###PaaSまたはSaaSサービスに移行する
・ワークロードをクラウドに移行する
・IaaSから開始し、必要に応じて、反復的なプロセスでPaaSに移行する

##ライセンスコストを節約する

###LinuxとWindows
・選択が可能で、基になるOSにアプリケーションが依存しない場合は、料金を比較してお金を節約できるかどうかを判断する

###Windows Server向けのAzureハイブリッド特典
・Azureハイブリッド特典では、Azureで仮想マシン用にWindows Serverライセンスを使用する権利がユーザに与えられる
・Windowsライセンスがソフトウェア アシュアランスの対象である必要がある

###SQL Server向けAzureハイブリッド特典
・Azureベースの特典であり、アクティブなソフトウェアアシュアランス付きのSQL Serverライセンスを使用して、割引料金を適用できる
・Azure SQL Databaseの仮想コアベースのオプション
　・アクティブなソフトウェアアシュアランス付きのコアライセンスごとにStandard Editionがある場合は、オンプレミスで所有しているライセンスコアごとにGeneral Purposeサービスレベルで仮想コアを1つ取得できる
　・アクティブなソフトウェアアシュアランス付きのコアライセンスごとにEnterprise Editionがある場合は、オンプレミスで所有しているライセンスコアごとにBusiness Criticalサービスレベルで仮想コアを1つ取得できる
　・アクティブなソフトウェアアシュアランス付きのコアライセンスごとに高度に仮想化されたEnterprise Editionがある場合は、オンプレミスで所有しているライセンスコアごとにGeneral Purposeサービスレベルで仮想コアを4つ取得できる。仮想コアのベネフィッは、Azure SQL Databaseでのみ利用可能な独自の仮想化ベネフィット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545315/78472b9e-6880-a68e-105f-c274ae8958d4.png)

・Azure Virtual MachinesのSQL Serverでは、Azureハイブリッド特典は以下のとおり
　・アクティブなソフトウェアアシュアランス付きのコアライセンスごとにEnterprise Editionがある場合は、オンプレミスで所有しているライセンスコアごとにAzure Virtual MachinesのSQL Server Enterprise Editionのコアを1つ取得できる
　・アクティブなソフトウェア アシュアランス付きのコアライセンスごとにStandard Editionがある場合は、オンプレミスで所有しているライセンスコアごとにAzure Virtual MachinesのSQL Server Standard Editionのコアを1つ取得できる

###Dev/Testサブスクリプションオファーを使用する
・Enterprise Dev/Testおよび開発テスト用の従量課金制プランオファーは、非運用環境でコストを節約するために利用できる特典
・Windowsワークロードの場合、ライセンス料金が不要となり、仮想マシン用のLinux料金でのみ課金される（SQL Serverや、Visual Studioサブスクリプション（旧MSDN）の対象となるその他の Microsoftソフトウェアも含まれる）
・非運用ワークロード専用であること、これらの環境のすべてのユーザー（テスト担当者を除く）が Visual Studioサブスクリプションの対象であることが要件

###SQL Serverライセンスを持ち込む
・Enterprise Agreementのユーザーで、既にSQL Serverライセンスに投資しており、Azureへのリソースの移動時にライセンスが解放された場合、ライセンス持ち込み（BYOL）イメージをAzure Marketplaceからプロビジョニングでき、未使用のライセンスを利用してAzure VMのコストを削減することができる

###SQL Server Developer Editionを使用する
・SQL Server Developer Editionは非運用環境用の無料の製品
・Azure MarketplaceでDeveloper Edition用のSQL Serverイメージを見つけて、開発やテスト目的に使用することで、SQL Serverにかかる追加コストを削減できる