Linux 仮想マシンの可用性管理Manage the availability of Linux virtual machines

複数の仮想マシンを設定および管理して、Azure の Linux アプリケーションの高い可用性を確保する方法について説明します。Learn ways to set up and manage multiple virtual machines to ensure high availability for your Linux application in Azure. Windows 仮想マシンの可用性を管理することもできます。You can also manage the availability of Windows virtual machines.

Resource Manager デプロイ モデルで CLI を使用して可用性セットを作成する方法の詳細については、「Azure 可用性セット: 可用性セットを管理するコマンド」を参照してください。For instructions on creating an availability set using CLI in the Resource Manager deployment model, see azure availset: commands to manage your availability sets.

VM の再起動について - メンテナンスとダウンタイムUnderstand VM Reboots - maintenance vs. downtime

Azure の仮想マシンに影響する可能性のあるシナリオには、計画外のハードウェア メンテナンス、予期しないダウンタイム、および計画メンテナンスの 3 つがあります。There are three scenarios that can lead to virtual machine in Azure being impacted: unplanned hardware maintenance, unexpected downtime, and planned maintenance.

  • 計画外のハードウェア メンテナンス イベントは、物理マシンに関連するハードウェアまたはプラットフォーム コンポーネントの故障が起こることを Azure プラットフォームが予測した場合に発生します。Unplanned Hardware Maintenance Event occurs when the Azure platform predicts that the hardware or any platform component associated to a physical machine, is about to fail. プラットフォームが故障を予測すると、そのハードウェアでホストされている仮想マシンへの影響を軽減するために、計画外のハードウェア メンテナンス イベントが発生します。When the platform predicts a failure, it will issue an unplanned hardware maintenance event to reduce the impact to the virtual machines hosted on that hardware. Azure では、ライブ マイグレーション テクノロジを使用して、故障が起こるハードウェアから正常な物理マシンに仮想マシンを移行します。Azure uses Live Migration technology to migrate the Virtual Machines from the failing hardware to a healthy physical machine. ライブ マイグレーションは、仮想マシンを短時間一時停止するだけの VM 保持操作です。Live Migration is a VM preserving operation that only pauses the Virtual Machine for a short time. メモリ、開いているファイル、ネットワーク接続は保持されますが、イベントの前後にパフォーマンスが低下する可能性があります。Memory, open files, and network connections are maintained, but performance might be reduced before and/or after the event. ライブ マイグレーションを使用できない場合、以下で説明する VM で予期しないダウンタイムが発生します。In cases where Live Migration cannot be used, the VM will experience Unexpected Downtime, as described below.

  • 予期しないダウンタイムは、ハードウェアまたは仮想マシンの物理インフラストラクチャが予期せず失敗した場合に発生します。An Unexpected Downtime is when the hardware or the physical infrastructure for the virtual machine fails unexpectedly. こうした不具合には、ネットワーク障害、ローカル ディスク障害、またはその他のラック レベルでの障害が挙げられます。This can include local network failures, local disk failures, or other rack level failures. 障害が検知されると、Azure プラットフォームは、同じデータセンター内の正常な物理マシンに仮想マシンを自動的に移行 (復旧) します。When detected, the Azure platform automatically migrates (heals) your virtual machine to a healthy physical machine in the same datacenter. 復旧中に、仮想マシンでダウンタイム (再起動) が発生し、場合によっては一時ドライブが失われることがあります。During the healing procedure, virtual machines experience downtime (reboot) and in some cases loss of the temporary drive. 接続されている OS とデータ ディスクは常に保持されます。The attached OS and data disks are always preserved.

    仮想マシンでも、データセンター全体やリージョン全体に影響する停電や災害といった予期しない事象によってダウンタイムが発生することがあります。Virtual machines can also experience downtime in the unlikely event of an outage or disaster that affects an entire datacenter, or even an entire region. こうしたシナリオにおいて、Azure は可用性ゾーンリージョン ペアといった保護オプションを提供します。For these scenarios, Azure provides protection options including availability zones and paired regions.

  • 計画メンテナンス イベントは、仮想マシンを実行しているプラットフォーム インフラストラクチャの全体的な信頼性、パフォーマンス、セキュリティを向上させるために、基盤となる Azure プラットフォームに対して Microsoft が実行する定期的な更新です。Planned Maintenance events are periodic updates made by Microsoft to the underlying Azure platform to improve overall reliability, performance, and security of the platform infrastructure that your virtual machines run on. これらの更新のほとんどは、仮想マシンやクラウド サービスに影響を及ぼすことなく実行されます (VM 保持メンテナンスに関する記事を参照してください)。Most of these updates are performed without any impact upon your Virtual Machines or Cloud Services (see VM Preserving Maintenance). Azure プラットフォームでは、可能な限り VM 保持メンテナンスを使用しようとしますが、基盤となるインフラストラクチャに必要な更新を適用するために、仮想マシンの再起動が必要になる場合もまれにあります。While the Azure platform attempts to use VM Preserving Maintenance in all possible occasions, there are rare instances when these updates require a reboot of your virtual machine to apply the required updates to the underlying infrastructure. この場合、適切な時間帯に VM のメンテナンスを開始することで、メンテナンスによる再デプロイ操作を伴う Azure の計画メンテナンスを実行できます。In this case, you can perform Azure Planned Maintenance with Maintenance-Redeploy operation by initiating the maintenance for their VMs in the suitable time window. 詳細については、仮想マシンの計画メンテナンスに関する記事を参照してください。For more information, see Planned Maintenance for Virtual Machines.

前述のようなイベントが 1 つ以上発生した場合にダウンタイムの影響を低減するため、下記のような高可用性のためのベスト プラクティスを仮想マシンに適用することをお勧めします。To reduce the impact of downtime due to one or more of these events, we recommend the following high availability best practices for your virtual machines:

冗長性実現のために複数の仮想マシンを可用性セット内に構成するConfigure multiple virtual machines in an availability set for redundancy

アプリケーションに冗長性をもたらすには、可用性セット内に 2 つ以上の仮想マシンをグループ化することをお勧めします。To provide redundancy to your application, we recommend that you group two or more virtual machines in an availability set. データセンター内のこのような構成により、計画的または計画外のメンテナンス イベント中に、少なくとも 1 つの仮想マシンが利用可能となり、99.95% の Azure SLA を満たします。This configuration within a datacenter ensures that during either a planned or unplanned maintenance event, at least one virtual machine is available and meets the 99.95% Azure SLA. 詳細については、「 Virtual Machines の SLA」を参照してください。For more information, see the SLA for Virtual Machines.

重要

可用性セット内の仮想マシンが 1 つだけにならないようにしてください。Avoid leaving a single instance virtual machine in an availability set by itself. この構成の VM は、SLA 保証の対象とはならず、単一の VM がAzure Premium Storage を使用している場合を除き、Azure の計画的メンテナンス イベント時にダウンタイムが発生します。VMs in this configuration do not qualify for a SLA guarantee and face downtime during Azure planned maintenance events, except when a single VM is using Azure Premium Storage. Premium Storage を使用する単一 の VM では、Azure SLA が適用されます。For single VMs using premium storage, the Azure SLA applies.

基盤となる Azure プラットフォームにより、可用性セット内の各仮想マシンに更新ドメイン障害ドメインが割り当てられます。Each virtual machine in your availability set is assigned an update domain and a fault domain by the underlying Azure platform. 所定の可用性セットに対して、同時に再起動される仮想マシンのグループと物理ハードウェアを示す、ユーザーが構成できない 5 つの更新ドメインが既定で割り当てられます (その後、最大 20 の更新ドメインを提供できるように Resource Manager のデプロイを増やすことができます)。For a given availability set, five non-user-configurable update domains are assigned by default (Resource Manager deployments can then be increased to provide up to 20 update domains) to indicate groups of virtual machines and underlying physical hardware that can be rebooted at the same time. 1 つの可用性セット内に 5 つ以上の仮想マシンが構成されているとき、6 つ目の仮想マシンは 1 つ目の仮想マシンと同じ更新ドメイン内に配置され、7 つ目は 2 つ目の仮想マシンと同じ更新ドメイン内に配置されるという方法で処理されます。When more than five virtual machines are configured within a single availability set, the sixth virtual machine is placed into the same update domain as the first virtual machine, the seventh in the same update domain as the second virtual machine, and so on. 計画的メンテナンス中は、更新ドメインの再起動が順番に処理されない場合がありますが、一度に再起動される更新ドメインは 1 つのみです。The order of update domains being rebooted may not proceed sequentially during planned maintenance, but only one update domain is rebooted at a time. 再起動された更新ドメインには、別の更新ドメインでメンテナンスが開始されるまでに、復旧するための時間として 30 分が与えられます。A rebooted update domain is given 30 minutes to recover before maintenance is initiated on a different update domain.

障害ドメインは電源とネットワーク スイッチを共有する仮想マシンのグループを定義します。Fault domains define the group of virtual machines that share a common power source and network switch. 既定では、可用性セット内に構成された仮想マシンは、Resource Manager のデプロイ用に最大 3 つの障害ドメインに分けられます (クラシックの場合は 2 つの障害ドメイン)。By default, the virtual machines configured within your availability set are separated across up to three fault domains for Resource Manager deployments (two fault domains for Classic). 仮想マシンを可用性セットに配置しても、アプリケーションがオペレーティング システムやアプリケーションの障害から保護されるわけではありませんが、潜在的な物理ハードウェア障害、ネットワーク障害、または電力の中断の影響を低下させることができます。While placing your virtual machines into an availability set does not protect your application from operating system or application-specific failures, it does limit the impact of potential physical hardware failures, network outages, or power interruptions.

更新ドメインと障害ドメインの構成の概念図

可用性セット内の VM に管理ディスクを使用するUse managed disks for VMs in an availability set

現在、管理されていないディスクを持つ VM を使用している場合は、可用性セット内の VM を Managed Disks を使用するように変換することを強くお勧めします。If you are currently using VMs with unmanaged disks, we highly recommend you convert VMs in Availability Set to use Managed Disks.

管理ディスクでは、可用性セットの VM のディスクが、単一障害点にならないように相互に十分に分離されるため、可用性セットの信頼性が向上します。Managed disks provide better reliability for Availability Sets by ensuring that the disks of VMs in an Availability Set are sufficiently isolated from each other to avoid single points of failure. これは、ディスクをさまざまなストレージ障害ドメイン (記憶域クラスター) に自動的に配置し、VM 障害ドメインに合わせて調整することによって実現されます。It does this by automatically placing the disks in different storage fault domains (storage clusters) and aligning them with the VM fault domain. ストレージ障害ドメインが、ハードウェアまたはソフトウェアの障害によって機能しなくなった場合は、そのストレージ障害ドメイン上のディスクを含む VM インスタンスだけが機能しなくなります。If a storage fault domain fails due to hardware or software failure, only the VM instance with disks on the storage fault domain fails. 管理ディスク FDManaged disks FDs

重要

管理対象の可用性セットに使用される障害ドメインの数は、リージョンによって異なります (リージョンあたり 2 つまたは 3 つになります)。The number of fault domains for managed availability sets varies by region - either two or three per region. リージョンあたりの数を以下の表に示します。The following table shows the number per region

リージョンごとの障害ドメイン数Number of Fault Domains per region

リージョンRegion 障害ドメインの最大数Max # of Fault Domains
米国東部East US 33
米国東部 2East US 2 33
米国西部West US 33
米国西部 2West US 2 22
米国中央部Central US 33
米国中北部North Central US 33
米国中南部South Central US 33
米国中西部West Central US 22
カナダ中部Canada Central 33
カナダ東部Canada East 22
北ヨーロッパNorth Europe 33
西ヨーロッパWest Europe 33
英国南部UK South 22
英国西部UK West 22
東アジアEast Asia 22
東南アジアSouth East Asia 22
東日本Japan East 22
西日本Japan West 22
インド南部South India 22
インド中部Central India 22
インド西部West India 22
韓国中部Korea Central 22
韓国南部Korea South 22
オーストラリア東部Australia East 22
オーストラリア南東部Australia Southeast 22
ブラジル南部Brazil South 22
米国政府バージニア州US Gov Virginia 22
米国政府テキサスUS Gov Texas 22
米国政府アリゾナUS Gov Arizona 22
US DoD CentralUS DoD Central 22
US DoD EastUS DoD East 22

管理されていないディスクを持つ VM を使用する計画がある場合は、VM の仮想ハード ディスク (VHD) がページ BLOB として格納されているストレージ アカウント用の、以下のベスト プラクティスに従います。If you plan to use VMs with unmanaged disks, follow below best practices for Storage accounts where virtual hard disks (VHDs) of VMs are stored as page blobs.

  1. VM に関連付けられているすべてのディスク (OS とデータ) を同じストレージ アカウント内に保持する。Keep all disks (OS and data) associated with a VM in the same storage account
  2. ストレージ アカウントにさらに VHD を追加する前に、ストレージ アカウント内の管理されていないディスクの数に関する制限を確認する。Review the limits on the number of unmanaged disks in a Storage account before adding more VHDs to a storage account
  3. 可用性セット内の VM ごとに個別のストレージ アカウントを使用する。Use separate storage account for each VM in an Availability Set. 同じ可用性セット内の複数の VM でストレージ アカウントを共有しないでください。Do not share Storage accounts with multiple VMs in the same Availability Set. 上のベスト プラクティスに従っていれば、異なる可用性セットの VM でストレージ アカウントを共有してもかまいません非管理対象ディスク FDIt is acceptable for VMs across different Availability Sets to share storage accounts if above best practices are followed Unmanaged disks FDs

各アプリケーション層に対して別々の可用性セットを構成するConfigure each application tier into separate availability sets

仮想マシンがすべてほぼ同一で、アプリケーションに対する役割が同じである場合は、アプリケーションの各層に対して別々の可用性セットを構成することをお勧めします。If your virtual machines are all nearly identical and serve the same purpose for your application, we recommend that you configure an availability set for each tier of your application. 同じ可用性セットの中に 2 つの異なる層を配置した場合、同じアプリケーション層内にあるすべての仮想マシンを一度に再起動できます。If you place two different tiers in the same availability set, all virtual machines in the same application tier can be rebooted at once. 各層に対する別々の可用性セット内に少なくとも 2 つの仮想マシンを構成することで、各層あたり 1 つ以上の仮想マシンの可用性が確保されます。By configuring at least two virtual machines in an availability set for each tier, you guarantee that at least one virtual machine in each tier is available.

たとえば、ISS、Apache、Nginx を実行しているアプリケーションのフロントエンド内のすべての仮想マシンを、1 つの可用性セットに配置します。For example, you could put all the virtual machines in the front end of your application running IIS, Apache, Nginx in a single availability set. このとき、フロントエンド仮想マシンのみが同じ可用性セット内に配置されるようにします。Make sure that only front-end virtual machines are placed in the same availability set. 同様に、別の可用性セットには、複製された SQL Server 仮想マシンまたは MySQL 仮想マシンのように、データ層の仮想マシンのみが配置されるようにします。Similarly, make sure that only data-tier virtual machines are placed in their own availability set, like your replicated SQL Server virtual machines, or your MySQL virtual machines.

アプリケーション層

ロード バランサーと可用性セットを結合するCombine a load balancer with availability sets

Azure Load Balance と可用性セットを結合することで、アプリケーションの復元性を最大化できます。Combine the Azure Load Balancer with an availability set to get the most application resiliency. Azure Load Balanceは、複数の仮想マシンにトラフィックを振り分けます。The Azure Load Balancer distributes traffic between multiple virtual machines. 当社の標準層の仮想マシンには Azure Load Balanceが含まれています。For our Standard tier virtual machines, the Azure Load Balancer is included. すべての仮想マシン層に Azure Load Balancer が含まれているわけではありません。Not all virtual machine tiers include the Azure Load Balancer. 仮想マシンの負荷分散の詳細については、「 仮想マシンの負荷分散」を参照してください。For more information about load balancing your virtual machines, see Load Balancing virtual machines.

複数の仮想マシン間でトラフィックを分散するためのロード バランサーが構成されていない場合、計画的メンテナンス イベントによって、トラフィックを提供している仮想マシンのみに影響が生じ、アプリケーション層の機能停止が生じます。If the load balancer is not configured to balance traffic across multiple virtual machines, then any planned maintenance event affects the only traffic-serving virtual machine, causing an outage to your application tier. 同じ層の複数の仮想マシンを、同じロード バランサーと可用性セット以下に配置することで、少なくとも 1 つのインスタンスによってトラフィックの提供を継続することができます。Placing multiple virtual machines of the same tier under the same load balancer and availability set enables traffic to be continuously served by at least one instance.

可用性ゾーンを使ってデータセンター レベルの障害から保護するUse availability zones to protect from datacenter level failures

可用性ゾーンは可用性セットに代わる機能で、よりきめ細やかな制御により VM 上のアプリケーションとデータの可用性を維持します。Availability zones, an alternative to availability sets, expand the level of control you have to maintain the availability of the applications and data on your VMs. 可用性ゾーンとは、Azure リージョンの物理的に独立したゾーンのことです。An Availability Zone is a physically separate zone within an Azure region. サポートされている Azure リージョンごとに 3 つの可用性ゾーンがあります。There are three Availability Zones per supported Azure region. 可用性ゾーンはそれぞれ異なる供給源、ネットワーク、および冷却装置を持ち、Azure リージョン内で他の可用性ゾーンから論理的に分離されています。Each Availability Zone has a distinct power source, network, and cooling, and is logically separate from the other Availability Zones within the Azure region. 複数のゾーンにレプリケートされた VM を使用するソリューションを構築することで、1 つのデータセンターで障害が発生してもアプリケーションとデータを保護することができます。By architecting your solutions to use replicated VMs in zones, you can protect your apps and data from the loss of a datacenter. 1 つのゾーンが侵害された場合、レプリケートされたアプリとデータが別のゾーンですぐに利用可能になります。If one zone is compromised, then replicated apps and data are instantly available in another zone.

可用性ゾーン

可用性ゾーンに Windows または Linux の VM をデプロイする方法の詳細をご覧ください。Learn more about deploying a Windows or Linux VM in an Availability Zone.

次の手順Next steps

仮想マシンの負荷分散の詳細については、 仮想マシンの負荷分散に関するページをご覧ください。To learn more about load balancing your virtual machines, see Load Balancing virtual machines.