みなさん、こんにちは!依田です。
            Azure は日々進化しており、毎週新しいサービスや機能が提供されています。
            先日、既存の仮想マシンスケール セット (VMSS) をゾーン拡張することができる機能が追加されました。
            本記事では、その方法を紹介します。
        
            仮想マシンスケール セット (以下VMSS) とは、アプリケーションの使用量に応じて仮想マシンをスケール アウトし可用性を向上させることができ、複数の仮想マシンを一元管理することができるサービスです。
            今回、既存のVMSSをゾーン拡張することができる機能が追加されました。
            該当の更新情報の記事は以下になります。
            Public preview: Azure VMSS Zonal Expansion
        
            リージョン構成されている既存のVMSS (リージョン可用性 SLA (99.95%) )から、さらに高い可用性の構成に変更したい場合、
            この機能を利用しVMSSをゾーン拡張することにより、選択されたゾーン間にインスタンスが均等に分散され、 ゾーン可用性 SLA (99.99%) の構成に変更することができます。
            従来はリージョン構成されている既存VMSSをゾーン拡張させるためにはVMSSとアプリケーションを再作成する必要がありましたが、この機能を利用することにより、その必要無くアプリケーションのダウンタイム無しでVMSSをゾーン拡張することができます。
            この機能は、既にゾーンが定義されているVMSSから複数のゾーンに定義する際も利用可能です。
            
            ※この機能は、ステートフル ワークロードを含むスケール セットはサポートされていません。
            ※Service Fabric または Azure Kubernetes Service を実行しているスケール セットはサポートされていません。
            ※VMSSの構成時に定義したゾーンや、この機能で追加したゾーンを削除することはできません。
            ※障害ドメインが 2 または 3 による固定拡散のスケール セットはサポートされていません。障害ドメインは 1 または 5 に設定する必要があります。
        
検証に必要なリソースのパラメータは以下になります。
| No. | リソース | 設定項目 | パラメータ | 備考 | 
|---|---|---|---|---|
| 1 | Virtual Machine Scale Sets (vmss1) | 
 | 
 | -- | 
| 2 | Virtual Machine Scale Sets (vmss2) | 
 | 
 | -- | 
| 2 | Virtual Machine Scale Sets (vmss3) | 
 | 
 | -- | 
ケース 1 では、可用性ゾーンなしで構成した VMSS1 をゾーン拡張してみます。
 
                
            Azure CLI を利用し、ゾーン パラメーターを 1, 2, 3 に変更します。
 
                
            実行後、「最新の情報に更新」を選択したところ、ダウンタイム無くゾーン 1, 2, 3 が追加されました。
 
                
            ケース 2 では、可用性ゾーンを 1 で構成した vmss2 を複数のゾーンに拡張してみます。
 
                
            Azure CLI を利用し、ゾーン パラメーターを 1, 2, 3 に変更します。
 
                
            実行後、「最新の情報に更新」を選択したところ、ダウンタイム無くゾーン 1, 2, 3 が追加されました。
 
                
            ケース 3 では、可用性ゾーンを 1, 2, 3 で構成した vmss3 をゾーン 1 に縮小してみます。
 
                
            Azure CLI を利用し、ゾーン パラメーターを 1 に変更します。
 
                
            実行できませんでした。
 
                
            ゾーンを縮小することは、仕様としてできないようです。
同一ゾーンに展開したVMSS内の仮想マシン同士のレイテンシと、別のゾーンに展開したVMSS内の仮想マシン同士のレイテンシをPingで比較した結果、平均的な速度の差は見られませんでした。
 
                
            ※ 本記事ではPingでの簡易的な確認となりますが、実際の構成はデータセンターをまたいだ通信となり、レイテンシに影響を及ぼす可能性があるため、シビアな通信要件が求められる構成の場合は注意が必要です。
        この機能を利用することにより、ダウンタイム無くスケール セットの可用性と回復性を高めることができます。具体的には、リージョンの可用性 SLA (99.95%) よりも高いゾーン可用性 SLA (99.99%) の利用や、
        ゾーン (1 つのゾーンを定義) から複数のゾーンを定義することが可能になります。
        また、可用性ゾーンがサポートされていない時期に作成したリージョン スケール セットをダウンタイムなくゾーン冗長構成に変更できることや、
        スケール セットを拡張して、スケール セットの作成時に使用できなかった新しい可用性ゾーンを利用することもできます。
        VMSSを利用する上で、可用性とそれに伴う信頼性を高く保つことを目標とした際、この機能は有用だと感じました。