Azure 最適化エンジンの概要
Azure 最適化エンジン (AOE) は、Azure 環境の最適化に関する推奨事項を生成するように設計された拡張可能なソリューションです。 完全にカスタマイズ可能な Azure Advisor のように表示します。
前提条件
AOE をデプロイするための要件を次に示します。
- サポートされている Azure サブスクリプション ( FAQ を参照)
- 選択したサブスクリプションに対する所有者アクセス許可を持つユーザー アカウント。Automation マネージド ID に、サブスクリプション (閲覧者) とデプロイ リソース グループ (ストレージ BLOB データ共同作成者) に対する必要な特権が付与されます。
- Azure PowerShell 9.0.0 以降
- オプション。ID と Azure ロールベースのアクセス制御 (RBAC) (RBAC_ ガバナンス) Microsoft.Graph.Authentication および Microsoft.Graph.Identity.DirectoryManagement PowerShell モジュール (バージョン 2.4.0 以降)。
- ID と Azure RBAC ガバナンスの場合は省略可能です。 マネージド ID に Microsoft Entra ID (グローバル閲覧者) に対する必要な特権が付与されるように、Microsoft Entra テナントに対する特権ロール管理者のアクセス許可を持つユーザー アカウントが必要です。
- Azure コミットメントの分析情報の場合は省略可能です。 マイクロソフトエンタープライズ契約 (エンタープライズ登録管理者) またはMicrosoft 顧客契約 (課金プロファイル所有者) に対する管理特権を持つユーザー アカウントが必要です。 従量課金契約に対して必要な特権がマネージド ID に付与されるように、アカウントが必要です。
デプロイ中に、いくつかの質問が表示されます。 次の項目を計画する必要があります。
- 既存の Log Analytics ワークスペースを再利用するか、新しく作成するかを決定します。
重要
VM が既にパフォーマンス メトリック (
Perf
テーブル) を送信しているワークスペースを再利用することをお勧めします。そうしないと、拡張された適切なサイズの推奨事項機能を完全に活用することはできません。 何らかの理由でこれが不可能または必要な場合は、引き続き複数のワークスペースを使用できます ( ワークスペースの構成を参照してください)。 - ソリューションをデプロイするための Azure サブスクリプションが必要です。 Log Analytics ワークスペースを再利用する場合は、ワークスペースが存在するのと同じサブスクリプションにデプロイする必要があります。
- 作成される Azure リソースには、一意の名前プレフィックスが必要です。 特定の名前付け要件がある場合は、デプロイ時にリソース名を選択することもできます。
- Azure リージョン
- Azure コミットメントの分析情報の場合は省略可能です。 マイクロソフトエンタープライズ契約課金アカウント ID (EA/Microsoft 顧客契約 (MCA) のお客様) と課金プロファイル ID (MCA のお客様) が必要です。
最適化エンジンの理由
Azure 最適化エンジン (AOE) は、最初に、より多くのメトリックとプロパティを使用して、Azure Advisor からの仮想マシンの適切なサイズの推奨事項を強化するために開発されました。 このアイデアに特化したブログ シリーズについては、「 自動継続的最適化のための Azure Advisor のコストに関する推奨事項の概要 - パート 1 を参照してください。 これは、コミュニティによって開発されたすべての種類の ウェルアーキテクトフレームワーク着想を得た最適化のための一般的なフレームワークに進化しました。 Azure Advisor によって生成される推奨事項に加えて、AOE には、主にコストの柱からのいくつかのカスタム推奨事項が含まれており、新しい推奨事項を迅速に開発できます。 AOE は、より多くの最適化の分析情報を使用して Azure Advisor やその他のファースト パーティの Azure サービスを補完し、完全なカスタマイズを可能にします。
メリット
AOE には すべての Azure Advisor の推奨事項収集するだけでなく、次のようなニーズに合わせて調整できるその他のカスタム推奨事項も含まれています。
- 費用
- 仮想マシンのゲスト OS メトリック (Azure Monitor エージェントによって収集) と Azure のプロパティに基づく適合スコアを使用した、拡張 Advisor 仮想マシン (VM) の適切なサイズ設定のコストに関する推奨事項
- 使用率が低い Azure Virtual Machine Scale Sets、Premium SSD ディスク、App Service プラン、Azure SQL データベース (DTU ベースの SKU のみ)
- 孤立したディスクとパブリック IP
- バックエンド プールのない Standard ロード バランサーまたはアプリケーション ゲートウェイ
- ずっと前から割り当てが解除された VM (忘れた VM)
- 保持ポリシーが適用されていないストレージ アカウント
- アプリケーションのない App Service プラン
- 停止 (割り当て解除されていない) 仮想マシン
- 高可用性
- 仮想マシンの高可用性 (非管理対象ディスクを使用する場合の可用性ゾーン数、可用性セット、マネージド ディスク、ストレージ アカウントの分散)
- 仮想マシン スケール セットの高可用性 (可用性ゾーン数、マネージド ディスク)
- 可用性セットの構造 (障害/更新ドメイン数)
- パフォーマンス
- コンピューティング リソースの不足によって制約される仮想マシン スケール セット
- リソースの不足によって制約される SQL データベース (DTU ベースの SKU のみ)
- コンピューティング リソースの不足によって制約される App Service プラン
- セキュリティ
- 有効期限のないサービス プリンシパルの資格情報/証明書
- 空または存在しないサブネット、孤立/削除された NIC、孤立/削除されたパブリック IP を参照する NSG ルール
- オペレーショナル エクセレンス
- バックエンド プールのない Basic ロード バランサー
- サービス プリンシパルの資格情報/証明書の有効期限が切れているか、有効期限が切れようとしています
- Azure RBAC 割り当ての上限に近いサブスクリプションと管理グループ
- リソース グループの上限に近いサブスクリプション
- 空き IP 領域が少ない、または IP 領域が無駄になる空のサブネットとサブネット
- 孤立した NIC
AOE には、毎週生成されるカスタム推奨事項に加えて、以下に関する詳細な分析情報を提供する次の Azure ブックが含まれています。
- Azure コミットメント割引 (予約と節約プラン - Azure 最適化エンジンを使用して Azure の予約と節約計画の分析情報を取得します)
- Azure Storage の使用状況
- コストの異常
- ID と Azure RBAC ガバナンス (Azure ID とロールのガバナンス ダッシュボード)
- Azure Policy のコンプライアンス
含まれるもの
AOE には、次のリソースが含まれています。
- すべての生データエクスポートを保持するストレージ アカウント
- 推奨事項と分析情報を生成するためにデータが取り込んで処理される Log Analytics ワークスペース
- データ インジェストとレコメンデーション生成ロジックを管理する Azure Automation インスタンス
- 最大 1 年間の推奨事項履歴、インジェスト制御データ、および推奨事項抑制レコードを保持する Azure SQL データベース
- Log Analytics データの上に置かれた次の Azure ブック:
- 利点のシミュレーション
- 特典の使用方法
- BLOB ストレージの使用をブロックする
- コストの増加
- ID とロール
- ポリシーへの準拠
- 推奨事項
- 予約の可能性
- 予約の使用法
- リソース インベントリ
- 節約プランの使用状況
- 最新の推奨事項を含む Power BI レポート
デプロイと初期インジェストとレコメンデーション生成の自動化が完了した後 (通常は 3 時間後)、Azure ブックまたは Power BI を使用してデータをレポートできます。
AOE をデプロイする
AOE をインストールするための最も簡単で迅速かつ推奨される方法は、 Azure Cloud Shell (PowerShell) を使用することです。 次の手順に従う必要があります。
- Azure Cloud Shell を開く (PowerShell)
git clone https://github.com/microsoft/finops-toolkit.git
を実行します。cd finops-toolkit/src/optimization-engine
を実行します。git checkout main
を実行します。- (省略可能)
Install-Module Microsoft.Graph.Authentication,Microsoft.Graph.Identity.DirectoryManagement
実行 - この手順は、ID と RBAC ガバナンス機能で使用される Microsoft Entra ID の Automation マネージド ID にグローバル閲覧者ロールを付与するために必要です。 ./Deploy-AzureOptimizationEngine.ps1
を実行します。- デプロイ オプションを入力し、デプロイを完了させます (所要時間は 5 分未満)
何らかの理由でデプロイが失敗した場合は、べき等であるため、繰り返すことができます。 以前のデプロイを最新バージョンのリポジトリでアップグレードする場合も同じです。 同じデプロイ オプションを保持するだけで済みます。 デプロイ スクリプトでは、以前のデプロイ オプションが保持され、再利用できます。
Azure Cloud Shell を使用せず、代わりにワークステーションのファイル システムからデプロイを実行する場合は、最初に Azure PowerShell および Microsoft.Graph モジュールをインストールする必要があります。
必要に応じて、 ResourceTags
入力パラメーターを使用して、AOE リソースに割り当てるタグのセットを指定できます。 次に例を示します。
$tags = @{"Service"="aoe";"Environment"="Demo"}
.\Deploy-AzureOptimizationEngine.ps1 -ResourceTags $tags
AOE の使用を開始する
AOE をデプロイした後、いくつかの方法で作業を開始できます (データが表示されるまで少なくとも 3 時間待つ必要があります)。
Recommendations
から始めて、使用可能な複数の Azure ブックについて説明します。 AOE ブックは、インストール時に選択した Log Analytics ワークスペース内から使用できます (ワークスペース内の [Workbooks
] ウィンドウを確認します)。 詳細については、「 Reports」を参照してください。- 組み込みの Power BI レポートを開いて、推奨事項に関する詳細な分析情報を取得し、ニーズに合わせてカスタマイズします。 詳細については、「 Reports」を参照してください。
- エンジンの範囲を広げたり、ニーズに合わせてしきい値を調整したりして、AOE をカスタマイズします。 デプロイの直後に行うことができます。 使用可能なすべてのカスタマイズの詳細については、 カスタマイズを確認してください。
- より豊富な仮想マシンの適切なサイズの推奨事項については、AOE のスコープにマシンのパフォーマンス ログを追加できます。 ワークスペースの構成を確認します。
AOE の推奨事項は、お使いの環境の現在の状態に応じて毎週更新されます。
関連するコンテンツ
関連する FinOps 機能:
関連製品:
関連するソリューション: