Share via


Virtual Machinesとスケール セットに関する Azure Well-Architected Framework の観点

Azure Virtual Machines は、Azure プラットフォーム上で仮想マシン (VM) を作成して実行するために使用できるコンピューティング サービスの一種です。 さまざまな課金モデルを使用して、さまざまな SKU、オペレーティング システム、および構成に柔軟性を提供します。

この記事では、アーキテクトとしてコンピューティング デシジョン ツリーを確認し、ワークロードのコンピューティング サービスとしてVirtual Machinesを選択したことを前提としています。 この記事のガイダンスでは、 Azure Well-Architected Framework の柱の原則にマップされるアーキテクチャに関する推奨事項について説明します。

重要

このガイドを使用する方法

各セクションには、 アーキテクチャ の関心領域と、テクノロジスコープにローカライズされた設計戦略を示す設計チェックリストがあります。

また、これらの戦略を具体化するのに役立つテクノロジ機能に関する 推奨事項 も含まれています。 推奨事項は、Virtual Machinesとその依存関係で使用できるすべての構成の完全な一覧を表すわけではありません。 代わりに、設計パースペクティブにマップされた主要な推奨事項を一覧表示します。 推奨事項を使用して概念実証を構築するか、既存の環境を最適化します。

主要な推奨事項を示す基本的なアーキテクチャ: Virtual Machinesベースライン アーキテクチャ

テクノロジスコープ

このレビューでは、次の Azure リソースに関する相互に関連する決定に焦点を当てます。

  • Virtual Machines

  • Azure 仮想マシン スケール セット

  • ディスク

    ディスクは、VM ベースのアーキテクチャにとって重要な依存関係です。 詳細については、「 ディスクと最適化」を参照してください。

[信頼性]

信頼性の柱の目的は、 十分な回復性と障害から迅速に回復する機能を構築することで、継続的な機能を提供することです。

信頼性設計の原則は、個々のコンポーネント、システム フロー、およびシステム全体に適用される高度な設計戦略を提供します。

設計チェック リスト

信頼性の設計レビュー チェックリストに基づいて 、設計戦略を開始します。 VM の SKU と機能とその依存関係を念頭に置きながら、ビジネス要件との関連性を判断します。 戦略を拡張して、必要に応じてより多くのアプローチを含めます。

  • 設計上Virtual Machines制限が発生する可能性があるクォータと制限を確認します。 VM には特定の制限とクォータがあり、VM の種類またはリージョンによって異なります。 サブスクリプションあたりの VM 数や VM あたりのコア数など、サブスクリプションの制限がある場合があります。 他のワークロードがサブスクリプションを共有している場合は、データを使用する機能が低下する可能性があります。 VM仮想マシン スケール セットマネージド ディスクの制限を確認します。

  • ネットワークおよびストレージ コンポーネントとの VM の相互作用を分析して、障害ポイントを最小限に抑えるために障害モード分析を実行します。 エフェメラル オペレーティング システム (OS) ディスクなどの構成を選択して、ディスク アクセスをローカライズし、ネットワーク ホップを回避します。 複数の VM にネットワーク トラフィックを分散することで自己保持を強化するロード バランサーを追加すると、可用性と信頼性が向上します。

  • Azure サービス レベル アグリーメント (SLA) に基づいて複合サービス レベル目標 (SLO) を計算します。 非現実的な期待と潜在的な問題を回避するために、SLO が Azure SLA よりも高くないことを確認します。

    依存関係によって生じる複雑さに注意してください。 たとえば、仮想ネットワークやネットワーク インターフェイス カード (NIC) などの一部の依存関係には、独自の SLA がありません。 関連付けられたデータ ディスクなどの他の依存関係には、VM SLA と統合される SLA があります。 これらのバリエーションは VM のパフォーマンスと信頼性に影響を与える可能性があるため、考慮する必要があります。

    ディスクやネットワーク コンポーネントなどのコンポーネントに対する VM の重要な依存関係を考慮します。 これらのリレーションシップを理解している場合は、信頼性に影響を与える重要なフローを決定できます。

  • 状態の分離を作成します。 ワークロード データは、OS ディスクとの干渉を防ぐために、別のデータ ディスク上に存在する必要があります。 VM で障害が発生した場合は、同じデータ ディスクを使用して新しい OS ディスクを作成できます。これにより、回復性と障害の分離が保証されます。 詳細については、「 エフェメラル OS ディスク」を参照してください。

  • VM とその依存関係をゾーン間で冗長化します。 VM に障害が発生した場合、冗長性のためにワークロードは引き続き機能する必要があります。 冗長性の選択に依存関係を含めます。 たとえば、ディスクで使用できる組み込みの冗長性オプションを使用します。 ゾーン冗長 IP を使用して、データの可用性と高いアップタイムを確保します。

  • サービス レベルの低下を防ぎ、障害を回避するために、スケールアップとスケールアウトを行う準備を整えます。 Virtual Machine Scale Setsには、必要に応じて新しいインスタンスを作成し、複数の VM と可用性ゾーンに負荷を分散する自動スケーリング機能があります。

  • 自動回復オプションを調べる。 Azure では、VM の正常性低下の監視と自己復旧機能がサポートされています。 たとえば、スケール セットは インスタンスの自動修復を提供します。 より高度なシナリオでは、自己復旧には、Azure Site Recoveryの使用、パッシブ スタンバイのフェールオーバー、またはコードとしてのインフラストラクチャ (IaC) からの再デプロイが含まれます。 選択する方法は、ビジネス要件と組織の運用に合わせて調整する必要があります。 詳細については、「 VM サービスの中断」を参照してください。

  • VM とその依存関係を右にサイズ変更します。 VM の予想される作業を理解して、容量が不足していないことを確認し、最大負荷を処理できるようにします。 障害を軽減するための追加の容量があります。

  • 包括的なディザスター リカバリー計画を作成します。 災害への備えには、包括的な計画を作成し、復旧のためのテクノロジを決定する必要があります。

    依存関係とステートフル コンポーネント (アタッチされたストレージなど) は、回復を複雑にする可能性があります。 ディスクがダウンした場合、その障害は VM の機能に影響します。 これらの依存関係の明確なプロセスを復旧計画に含めます。

  • 厳密な操作を実行します。 信頼性設計の選択は、監視の原則、運用環境での回復性テスト、アプリケーション VM の修正プログラムとアップグレードの自動化、デプロイの一貫性に基づく効果的な操作によってサポートされる必要があります。 運用ガイダンスについては、「 オペレーショナル エクセレンス」を参照してください。

Recommendations

推奨 特長
(スケール セット)フレキシブル オーケストレーション モードでVirtual Machine Scale Setsを使用して VM をデプロイします。 リージョンまたは可用性ゾーン内の障害ドメイン間で VM を分散する高可用性の保証を利用して、スケーリングを行うアプリケーションの将来性を確保します。
(VM)VM でインスタンスの正常性状態を出力する heath エンドポイントを実装 します。

(スケール セット)推奨 される修復アクションを 指定して、スケール セットで自動修復を有効にします。
VM の状態が変化した場合に自動修復が一時停止する期間を設定することを検討してください。
インスタンスが異常と見なされた場合でも、可用性を維持します。 自動修復では、障害のあるインスタンスを置き換えることで復旧が開始されます。

時間枠を設定すると、不注意または早期の修復操作を防ぐことができます。
(スケール セット)スケール セットで オーバープロビジョニングを有効にします オーバープロビジョニングではデプロイ時間が短縮され、追加の VM には課金されないため、コスト上の利点があります。
(スケール セット)フレキシブル オーケストレーションを使用して 、VM インスタンスを できるだけ多くの障害ドメインに分散できるようにします。 このオプションは、障害ドメインを分離します。 メンテナンス期間中、1 つの障害ドメインが更新されると、VM インスタンスは他の障害ドメインで使用できます。
(スケール セット)スケール セット上 の可用性ゾーン間でデプロイ する。 各ゾーンに少なくとも 2 つのインスタンスを設定します。
ゾーンの分散によって、 インスタンスがゾーン間で均等に分散されます。
VM インスタンスは、ローカル障害に対して耐性のある各 Azure リージョン内の物理的に別々の場所にプロビジョニングされます。
リソースの可用性によっては、ゾーン間でインスタンスの数が不均等になる可能性があることに注意してください。 ゾーン分散では、1 つのゾーンがダウンしている場合は、他のゾーンに十分なインスタンスがあることを確認することで、可用性がサポートされます。
各ゾーンの 2 つのインスタンスは、アップグレード中にバッファーを提供します。
(VM) 容量予約機能を利用します 容量は使用するために予約されており、該当する SLA のスコープ内で使用できます。 容量予約は不要になった時点で削除でき、課金は従量課金ベースです。

ヒント

VM の信頼性の詳細については、「Virtual Machinesの信頼性」を参照してください。

セキュリティ

セキュリティの柱の目的は 、ワークロードに機密性、整合性、可用性の 保証を提供することです。

セキュリティ設計の原則は、Virtual Machinesの技術的な設計にアプローチを適用することによって、これらの目標を達成するための高度な設計戦略を提供します。

設計チェック リスト

セキュリティの設計レビュー チェックリストに基づいて 、設計戦略を開始します。 セキュリティ体制を改善するための脆弱性と制御を特定します。 戦略を拡張して、必要に応じてより多くのアプローチを含めます。

  • Linux VM と Windows VM とVirtual Machine Scale Setsセキュリティ ベースラインを確認します。

    ベースライン テクノロジの選択の一環として、ワークロードをサポートする VM SKU のセキュリティ機能を検討してください。

  • タイムリーかつ自動化されたセキュリティ パッチ適用とアップグレードを確保します。 適切に定義されたプロセスを使用して、更新プログラムが自動的にロールアウトおよび検証されていることを確認します。 Azure Automationなどのソリューションを使用して、OS 更新プログラムを管理し、重要な更新を行うことでセキュリティ コンプライアンスを維持します。

  • 状態を保持する VM を特定します。 データが、organization指定された秘密度ラベルに従って分類されていることを確認します。 適切な保存レベルや転送中の暗号化などのセキュリティ制御を使用してデータを保護します。 機密性の高い要件がある場合は、二重暗号化や Azure コンフィデンシャル コンピューティングなどの高セキュリティ制御を使用して、使用中のデータを保護することを検討してください。

  • ネットワーク境界とアクセス制御を設定して、VM とスケール セットにセグメント化を提供します。 同じライフサイクルを共有するリソース グループに VM を配置します。

  • VM に到達しようとする ID と、他のリソースに到達する VM にもアクセス制御を適用します。 認証と承認のニーズにMicrosoft Entra IDを使用します。 VM とその依存関係 (シークレットなど) に対して強力なパスワード、多要素認証、ロールベースのアクセス制御 (RBAC) を配置して、許可された ID がロールに必要な操作のみを実行できるようにします。

    Microsoft Entra条件付きアクセスを使用して、条件に基づいてリソース アクセスを制限します。 期間と必要なアクセス許可の最小セットに基づいて条件付きポリシーを定義します。

  • ネットワーク制御を使用して、イングレス トラフィックとエグレス トラフィックを制限します。 Azure Virtual Networkで VM とスケール セットを分離し、トラフィックをフィルター処理するネットワーク セキュリティ グループを定義します。 分散型サービス拒否 (DDoS) 攻撃から保護します。 ロード バランサーとファイアウォール規則を使用して、悪意のあるトラフィックやデータ流出攻撃から保護します。

    Azure Bastion を使用して、運用アクセスのために VM に安全な接続を提供します。

    VM からサービスとしてのプラットフォーム (PaaS) ソリューションとの間の通信は、プライベート エンドポイント経由である必要があります。

  • OS イメージを強化し、未使用のコンポーネントを削除することで、攻撃対象領域を減らします。 より小さいイメージを使用し、ワークロードの実行に必要ないバイナリを削除します。 必要のない既定のアカウントやポートなどの機能を削除して、VM 構成を強化します。

  • 転送中のデータを保護するために必要な証明書などのシークレットを保護します。 キー コンテナーに格納されている証明書を自動的に更新する Windows または Linux 用の Azure Key Vault 拡張機能を使用することを検討してください。 証明書の変更が検出されると、拡張機能は対応する証明書を取得してインストールします。

  • 脅威の検出。 VM で脅威と構成の誤りを監視します。 Defender for Servers を使用して VM と OS の変更をキャプチャし、アクセス、新しいアカウント、アクセス許可の変更の監査証跡を維持します。

  • 脅威の防止。 ファイアウォール、ウイルス対策ソフトウェア、侵入検出システムなどのセキュリティ制御を実装することで、マルウェア攻撃や悪意のあるアクターから保護します。 信頼された実行環境 (TEE) が必要かどうかを判断します。

Recommendations

推奨 特長
(スケール セット)マネージド ID をスケール セットに割り当てます。 スケール セット内のすべての VM は、指定された VM プロファイルを介して同じ ID を取得します。

(VM)また、 作成時にマネージド ID を個々の VM に割り当てて から、必要に応じてスケール セットに追加することもできます。
VM が他のリソースと通信すると、信頼境界を越えます。 スケール セットと VM は、通信が許可される前に ID を認証する必要があります。 Microsoft Entra IDマネージド ID を使用してその認証を処理します。
(スケール セット) セキュリティ機能を備えた VM SKU を選択します。
たとえば、 一部の SKU では BitLocker 暗号化がサポートされており、 コンフィデンシャル コンピューティング では使用中のデータの暗号化が提供されます。
制限事項を理解するには、機能を確認してください。
Azure 提供の機能は、多くのテナントでキャプチャされ、カスタム コントロールよりも優れたリソースを保護できるシグナルに基づいています。 ポリシーを使用して、これらのコントロールを適用することもできます。
(VM、スケール セット)プロビジョニングされたリソースorganization推奨タグを適用します。 タグ付け は、リソースをセグメント化および整理するための一般的な方法であり、インシデント管理中に重要になる場合があります。 詳細については、「 名前付けとタグ付けの目的」を参照してください。
(VM、スケール セット)VM 構成で有効にするセキュリティ機能を使用してセキュリティ プロファイルを設定 します。
たとえば、プロファイル でホストで暗号化 を指定すると、VM ホストに格納されているデータは保存時に暗号化され、フローはストレージ サービスに暗号化されます。
セキュリティ プロファイルの機能は、VM の作成時に自動的に有効になります。
詳細については、「Virtual Machine Scale Setsの Azure セキュリティ ベースライン」を参照してください。
(VM)VM のネットワーク プロファイルの セキュリティで保護されたネットワーク オプションを選択 します。

パブリック IP アドレスを VM に直接関連付けず、IP 転送を有効にしないでください。

すべての仮想ネットワーク インターフェイスに、ネットワーク セキュリティ グループが関連付けられていることを確認します。
セグメント化コントロールは、ネットワーク プロファイルで設定できます。
攻撃者はパブリック IP アドレスをスキャンし、VM を脅威に対して脆弱にします。
(VM)VM のストレージ プロファイルの セキュリティで保護されたストレージ オプションを選択 します。

既定では、ディスク暗号化と保存データ暗号化を有効にします。 VM ディスクへのパブリック ネットワーク アクセスを無効にします。
パブリック ネットワーク アクセスを無効にすると、データとリソースへの不正アクセスを防ぐことができます。
(VM、スケール セット)脅威から保護する 拡張機能を VM に含めます
たとえば、オブジェクトに適用された
- WindowsLinux のKey Vault拡張機能
- Microsoft Entra ID認証
- Azure Cloud Services とVirtual MachinesのMicrosoft Antimalware
- Windows および Linux 用の Azure Disk Encryption 拡張機能。
拡張機能は、VM との間のアクセスを保護する適切なソフトウェアを使用して VM をブートストラップするために使用されます。
Microsoft が提供する拡張機能は、進化するセキュリティ標準に対応するために頻繁に更新されます。

コストの最適化

コストの最適化では、支出パターンの検出、重要な領域への投資の優先順位付け、ビジネス要件を満たしながらorganizationの予算を満たすように他のユーザーでの最適化に重点を置いています。

コスト最適化設計原則は、これらの目標を達成し、Virtual Machinesとその環境に関連する技術的な設計において必要に応じてトレードオフを行う高レベルの設計戦略を提供します。

設計チェック リスト

投資の コスト最適化の設計レビュー チェックリスト に基づいて、設計戦略を開始します。 ワークロードがワークロードに割り当てられている予算に合わせて設計を微調整します。 設計では、適切な Azure 機能を使用し、投資を監視し、時間の経過と同時に最適化する機会を見つける必要があります。

  • 現実的なコストを見積もります料金計算ツールを使用して、VM のコストを見積もります。 VM セレクターを使用して、ワークロードに最適な VM を特定します。 詳細については、「 LinuxWindows の価格」を参照してください。

  • コスト ガードレールを実装する。 ガバナンス ポリシーを使用して、リソースの種類、構成、場所を制限します。 RBAC を使用して、保留中を超える可能性があるアクションをブロックします。

  • 適切なリソースを選択します。 VM プランのサイズと SKU の選択は、全体的なコストに直接影響します。 ワークロードの特性に基づいて VM を選択します。 ワークロードの CPU 負荷は高いか、中断可能なプロセスを実行しますか? 各 SKU には、全体的なコストに影響するディスク オプションが関連付けられています。

  • 依存リソースに適した機能を選択します。 予約容量を持つ Azure Backup ストレージを使用して、コンテナー標準レベルのバックアップ ストレージ コストを節約します。 1 年または 3 年間の予約にコミットすると、割引が提供されます。

    Azure Storage のアーカイブ層は、アクセスされることの少ない BLOB データを格納するために最適化されたオフライン層です。 アーカイブ層では、ストレージ コストは最も低くなりますが、ホットおよびクールなオンライン層と比較して、データ取得コストと待機時間が高くなります。

    ゾーン冗長サービスを使用して可用性の複雑さを軽減しながら、サイト障害から復旧するために VM のゾーン間 ディザスター リカバリー を使用することを検討してください。 運用の複雑さが軽減されるため、コスト面でメリットが得られる場合があります。

  • 適切な課金モデルを選択します。 コンピューティング用のコミットメント ベースのモデルが、ワークロードのビジネス要件に基づいてコストを最適化するかどうかを評価します。 次の Azure オプションを検討してください。

    • Azure の予約: 使用量ベースの価格と比較してコストを削減するために、予測可能なワークロードの前払いを行います。

      重要

      予約インスタンスを購入して、安定した使用量のワークロードに対する Azure のコストを削減します。 使用量を管理して、使用しているリソースよりも多くのリソースに対して支払いがないことを確認します。 予約インスタンスをシンプルにし、管理オーバーヘッドを低く抑えてコストを削減します。

    • 節約プラン: 1 年または 3 年間、コンピューティング サービスに一定の時間単位の金額を費やすことをコミットすると、このプランによってコストが削減される可能性があります。
    • Azure ハイブリッド特典: オンプレミスの VM を Azure に移行するときに保存します。
  • 使用状況を監視します。 使用パターンを継続的に監視し、未使用または使用率の低い VM を検出します。 これらのインスタンスの場合は、VM インスタンスが使用されていないときにシャットダウンします。 監視は、オペレーショナル エクセレンスの主要なアプローチです。 詳細については、「 オペレーショナル エクセレンス」の推奨事項を参照してください。

  • 最適化する方法を探します。 一部の戦略には、既存のシステムでリソースを増やすか、スケールアップするか、そのシステムのインスタンスを追加するか、スケールアウトするかの間で最もコスト効率の高いアプローチを選択する方法があります。他のリソースに分散することで需要をオフロードすることも、優先度キュー、ゲートウェイ オフロード、バッファリング、レート制限を実装することで需要を減らすことができます。 詳細については、「 パフォーマンス効率」の推奨事項を参照してください。

Recommendations

推奨 特長
(VM、スケール セット) 適切な VM プランのサイズと SKU を選択します。 ワークロードに最適な VM サイズ を特定します。
VM セレクターを使用して、ワークロードに最適な VM を特定します。 「WindowsLinux の価格」を参照してください。

一部の中断を許容できる高度に並列なバッチ処理ジョブなどのワークロードの場合は、Azure Spot Virtual Machinesの使用を検討してください。 スポット仮想マシンは、大規模なソリューションの実験、開発、テストに適しています。
SKU は、提供されている機能に従って価格が設定されます。 高度な機能が必要ない場合は、SKU を過剰に使用しないでください。

スポット仮想マシンは、Azure の余剰容量を低コストで利用します。
(VM、スケール セット)VM の SKU に関連付けられているディスク オプションを評価します。
ストレージ容量のニーズを念頭に置き、ワークロード パターンの変動を考慮しながら、パフォーマンスのニーズを決定します。
たとえば、Azure Premium SSD v2 ディスクを使用すると、ディスクのサイズに関係なく、パフォーマンスを細かく調整できます。
一部のハイ パフォーマンス ディスクの種類では、追加のコスト最適化機能と戦略が提供されます。
Premium SSD v2 ディスクの調整機能は、過剰プロビジョニングなしで高パフォーマンスを提供するため、コストを削減できます。そうしないと、リソースの使用率が低くなる可能性があります。
(スケール セット) 通常の VM とスポット仮想マシンを混在させる
フレキシブル オーケストレーションを使用すると、指定した割合に基づいて スポット仮想マシンを分散 できます。
スポット仮想マシンの大幅な割引を適用することで、コンピューティング インフラストラクチャのコストを削減します。
(スケール セット) 需要が減少したときに VM インスタンスの数を減らします
条件に基づいてスケールイン ポリシーを設定します。

時間外に VM を停止します。 Azure Automationの開始/停止機能を使用して、ビジネス ニーズに応じて構成できます。
リソースが使用されていないときにリソースをスケーリングまたは停止すると、スケール セットで実行されている VM の数が減り、コストが節約されます。
Start/Stop 機能は、低コストの自動化オプションです。
(VM、スケール セット)Azure ハイブリッド特典を使用してライセンス モビリティを活用します。 VM には、独自のオンプレミス の Windows Server OS ライセンス を Azure に持ち込むためのライセンス オプションがあります。
Azure ハイブリッド特典では、特定の Linux サブスクリプションを Azure に持ち込むこともできます。
クラウドの利点を得ながら、オンプレミスのライセンスを最大化できます。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、主に 開発プラクティス、監視、リリース管理の手順に焦点を当てています。

オペレーショナル エクセレンス設計原則は、ワークロードの運用要件に対してこれらの目標を達成するための高レベルの設計戦略を提供します。

設計チェック リスト

Virtual Machinesおよびスケール セットに関連する監視、テスト、デプロイのプロセスを定義するためのオペレーショナル エクセレンスの設計レビュー チェックリストに基づいて設計戦略を開始します。

  • VM インスタンスを監視します。 VM インスタンスからログとメトリックを収集して、リソースの使用状況を監視し、インスタンスの正常性を測定します。 一般的な メトリック には、CPU 使用率、要求数、入出力 (I/O) 待機時間などがあります。 Azure Monitor アラート を設定して、問題に関する通知を受け取り、環境内の構成の変更を検出します。

  • VM とその依存関係の正常性を監視します

    • 監視コンポーネントをデプロイして、VM、ゲスト OS、ブート 診断 データの包括的なビューを提供するログとメトリックを収集します。 Virtual Machine Scale Setsテレメトリをロールアップします。これにより、個々の VM レベルまたは集計として正常性メトリックを表示できます。 Azure Monitor を使用して、VM ごとにこのデータを表示するか、複数の VM 間で集計します。 詳細については、「 エージェントの監視に関する推奨事項」を参照してください。
    • VM の正常性状態をチェックするネットワーク コンポーネントを活用します。 たとえば、Azure Load Balancerは VM に ping を実行して異常な VM を検出し、それに応じてトラフィックを再ルーティングします。
    • Azure Monitor アラート ルールを設定します。 監視データの重要な条件を決定して、問題を特定し、システムに影響を与える前に対処します。
  • 定期的な操作の一部として定期的なシステム修正プログラムを含むメンテナンス プランを作成します。 即時パッチ 適用を可能にする緊急プロセスを含めます。 パッチ適用を管理するカスタム プロセスを作成したり、タスクを Azure に部分的に委任したりできます。 Azure には、個々の VM メンテナンス用の機能が用意されています。 更新中の中断を最小限に抑えるために、メンテナンス期間を設定できます。 プラットフォームの更新中は、障害ドメインに関する考慮事項が回復性の鍵となります。 ゾーンに少なくとも 2 つのインスタンスをデプロイすることをお勧めします。 ゾーン内の 1 つの障害ドメインのみが一度に更新されるため、ゾーンごとに 2 つの VM によって、各ゾーンに少なくとも 1 つの VM が保証されます。 そのため、3 つのゾーンに対して、少なくとも 6 つのインスタンスをプロビジョニングします。

  • ブートストラップ、スクリプトの実行、VM の構成のプロセスを自動化します。 拡張機能またはカスタム スクリプトを使用してプロセスを自動化できます。 次のオプションをお勧めします。

    • Key Vault VM 拡張機能は、キー コンテナーに格納されている証明書を自動的に更新します。

    • Windows および Linux 用の Azure カスタム スクリプト拡張機能は、Virtual Machinesでスクリプトをダウンロードして実行します。 この拡張機能は、デプロイ後の構成、ソフトウェアのインストール、その他の構成タスクや管理タスクに使用します。

    • cloud-init を使用して、Linux ベースの VM のスタートアップ環境を設定します。

  • 自動更新をインストールするためのプロセスがあります。 重要なパッチとセキュリティパッチをタイムリーにロールアウトするには、 VM ゲストの自動 パッチ適用を使用することを検討してください。 Azure Automationの Update Management を使用して、Azure の Windows VM と Linux VM の OS 更新プログラムを管理します。

  • 運用環境と密接に一致するテスト環境を構築し、更新プログラムと変更を運用環境にデプロイする前にテストします。 セキュリティ更新プログラム、パフォーマンス ベースライン、信頼性エラーをテストするためのプロセスを配置します。 Azure Chaos Studio 障害ライブラリを利用して、エラー状態を挿入してシミュレートします。 詳細については、「 Azure Chaos Studio の障害とアクション ライブラリ」を参照してください。

  • クォータを管理します。 ワークロードに必要なクォータのレベルを計画し、ワークロードの進化に合わせてそのレベルを定期的に確認します。 クォータを増減する必要がある場合は、 これらの変更を早期に要求してください。

Recommendations

推奨 特長
(スケール セット)フレキシブル オーケストレーション モードのVirtual Machine Scale Setsは、ワークロードのデプロイと管理を簡略化するのに役立ちます。 たとえば、自動修復を使用して自己復旧を簡単に管理できます。 柔軟なオーケストレーションでは、VM インスタンスを大規模に管理できます。 個々の VM を渡す場合、運用上のオーバーヘッドが増加します。

たとえば、VM インスタンスを削除すると、関連付けられているディスクと NIC も自動的に削除されます。 VM インスタンスは複数の障害ドメインに分散されるため、更新操作によってサービスが中断されることはありません。
(スケール セット)アップグレード ポリシーを設定して、VM を最新の状態に保ちます。 ローリング アップグレードをお勧めします。 ただし、詳細な制御が必要な場合は、手動でアップグレードすることを選択します。

フレキシブル オーケストレーションの場合は、Azure Automationの更新管理を使用できます。
セキュリティがアップグレードの主な理由です。 インスタンスのセキュリティ保証は、時間の経過と同時に減衰しないようにする必要があります。

ローリング アップグレードはバッチで行われ、すべてのインスタンスが同時にダウンしないようにします。
(VM、スケール セット)プロファイルでアプリケーションを定義して、 Azure Compute Gallery から VM アプリケーションを自動的にデプロイ します スケール セット内の VM が作成され、指定されたアプリがプレインストールされるため、管理が容易になります。
ブートストラップの一部として、事前構築済みのソフトウェア コンポーネントを拡張機能としてインストールします。
Azure では、VM のユーティリティ アプリケーションの構成、監視、セキュリティ保護、および提供に使用できる多くの拡張機能がサポートされています。

拡張機能の自動アップグレードを有効にします
拡張機能を使用すると、各 VM に手動でインストール、構成、またはアップグレードしなくても、大規模なソフトウェアインストールを簡略化できます。
(VM、スケール セット)VM インスタンス の正常性を監視して測定 します。

モニター エージェント拡張機能を VM にデプロイして、OS 固有のデータ収集規則を使用してゲスト OS から監視データを収集します

VM の分析情報を有効にして、正常性とパフォーマンスを監視し、収集されたデータの傾向を表示します。

VM の起動時に情報を取得するには、ブート 診断を使用します。 ブート 診断は、ブート エラーも診断します。
監視データは、インシデント解決の中核をなしています。 包括的な監視スタックは、VM のパフォーマンスとその正常性に関する情報を提供します。 インスタンスを継続的に監視することで、パフォーマンスの過負荷や信頼性の問題などのエラーに対する準備を整えたり、回避したりすることができます。

パフォーマンス効率

パフォーマンス効率は、容量を管理することで 負荷が増加した場合でも、ユーザー エクスペリエンスを維持 することです。 この戦略には、リソースのスケーリング、潜在的なボトルネックの特定と最適化、ピーク パフォーマンスの最適化が含まれます。

パフォーマンス効率設計原則は、予想される使用に対してこれらの容量目標を達成するための高レベルの設計戦略を提供します。

設計チェック リスト

パフォーマンス効率の設計レビュー チェックリストに基づいて、設計戦略を開始します。 Virtual Machinesおよびスケール セットの主要業績評価指標に基づくベースラインを定義します。

  • パフォーマンス目標を定義します。 パフォーマンス インジケーターを追跡して測定する VM メトリックを、応答時間、CPU 使用率、メモリ使用率、および 1 秒あたりのトランザクション、同時実行ユーザー、可用性と正常性などのワークロード メトリックとして特定します。

  • 容量計画における VM、スケール セット、ディスク構成のパフォーマンス プロファイルを考慮します。 各 SKU にはメモリと CPU のプロファイルが異なり、ワークロードの種類によって動作が異なります。 パイロットと概念実証を実施して、特定のワークロードでのパフォーマンスの動作を理解します。

  • VM のパフォーマンス チューニング。 ワークロードで必要に応じて、パフォーマンスの最適化と機能の強化を活用します。 たとえば、高パフォーマンスのユース ケースと高速ネットワークにはローカルに接続された非揮発性メモリ Express (NVMe) を使用し、パフォーマンスとスケーラビリティを向上させるには Premium SSD v2 を使用します。

  • 依存サービスを考慮します。 VM と対話するキャッシュ、ネットワーク トラフィック、コンテンツ配信ネットワークなどのワークロードの依存関係は、パフォーマンスに影響を与える可能性があります。 また、ゾーンやリージョンなどの地理的な分散を検討します。これにより、待機時間が増加する可能性があります。

  • パフォーマンス データを収集します。 適切な拡張機能を監視およびデプロイするための オペレーショナル エクセレンスのベスト プラクティス に従って、パフォーマンス インジケーターに対して追跡するメトリックを表示します。

  • 近接配置グループ。 VM が物理的に互いに近くに配置されるようにするために、待機時間が短いワークロードでは 近接通信配置グループ を使用します。

Recommendations

推奨 特長
(VM、スケール セット)容量計画に合わせた VM の SKU を選択 します。

不適切な SKU を除外できるように、コア、メモリ、ストレージ、ネットワーク帯域幅の数など、ワークロード要件をよく理解してください。
VM の権利化は、ワークロードのパフォーマンスに大きな影響を与える基本的な決定です。 適切な VM のセットがないと、パフォーマンスの問題が発生し、不要なコストが発生する可能性があります。
(VM、スケール セット)待機時間の影響を受けやすいワークロード VM を 近接配置グループにデプロイします。 近接配置グループにより、Azure コンピューティング リソース間の物理的な距離が短縮され、パフォーマンスが向上し、スタンドアロン VM、複数の可用性セット内の VM、または複数のスケール セット内の VM 間のネットワーク待機時間が短縮されます。
(VM、スケール セット)既存のワークロードと VM SKU のディスク パフォーマンスを分析して、 ストレージ プロファイル を設定します。

運用 VM には Premium SSD を使用します。 Premium SSD v2 を使用してディスクのパフォーマンスを調整します。

ローカルに接続された NVMe デバイスを使用します。
Premium SSD は、I/O 負荷の高いワークロードを備えた高パフォーマンスで待機時間の短いディスク サポート VM を提供します。
Premium SSD v2 では、ディスクのサイズ変更は必要ありません。これにより、過剰な過剰プロビジョニングなしでハイ パフォーマンスが可能になり、未使用の容量のコストが最小限に抑えられます。

VM SKU で使用できる場合、ローカルに接続された NVMe または同様のデバイスは、特に 1 秒あたりの高い入出力操作 (IOPS) と低待機時間を必要とするユース ケースで、高いパフォーマンスを提供できます。
(VM) 高速ネットワークを有効にすることを検討してください。 これにより、VM への単一ルート I/O 仮想化 (SR-IOV) が可能になり、ネットワーク パフォーマンスが大幅に向上します。
(VM、スケール セット) 自動スケール ルールを設定 して、需要に基づいてスケール セット内の VM インスタンスの数を増減します。 アプリケーションの需要が増加すると、スケール セット内の VM インスタンスに対する負荷が増加します。 自動スケーリング ルールを使用すると、需要を満たすのに十分なリソースが確保されます。

Azure のポリシー

Azure には、Virtual Machinesとその依存関係に関連する広範な組み込みポリシーセットが用意されています。 上記の推奨事項の一部は、Azure Policyを使用して監査できます。 たとえば、次の場合にチェックできます。

  • ホストでの暗号化が有効になっています。
  • マルウェア対策拡張機能が展開され、Windows Server を実行する VM で自動更新が有効になります。
  • スケール セットでの OS イメージの自動修正が有効になっています。
  • 承認済みの VM 拡張機能のみがインストールされます。
  • Monitor エージェントと依存関係エージェントは、Azure 環境内の新しい VM で有効になります。
  • 許可された VM SKU のみがデプロイされ、コストの制約に従ってサイズが制限されます。
  • プライベート エンドポイントは、ディスク リソースにアクセスするために使用されます。
  • 脆弱性検出が有効になっています。 Windows マシンには特殊な規則があります。 たとえば、毎日スキャンするようにWindows Defenderをスケジュールできます。

包括的なガバナンスについては、コンピューティング レイヤーのセキュリティに影響を与える可能性があるVirtual Machinesおよびその他のポリシーのAzure Policy組み込み定義を確認します。

Azure Advisor の推奨事項

Azure Advisor は、ベスト プラクティスに従って Azure デプロイメントを最適化できるようにする、個人用に設定されたクラウド コンサルタントです。 Virtual Machinesの信頼性、セキュリティ、コスト効率、パフォーマンス、オペレーショナル エクセレンスの向上に役立つ推奨事項をいくつか次に示します。

次の手順

この記事で強調表示されている推奨事項を示すリソースとして、次の記事を検討してください。