VMware Cloud on AWS におけるインスタンスの種類、料金、ESXi ホストの増減、制約のまとめ

# はじめに
VMware Cloud on AWS でよく聞かれるインスタンスの種類、クラスタタイプの違い、ESXi ホストの増減の可否、制約についてまとめてみます。

# VMware Cloud on AWS で利用できるベアメタルインスタンス
VMware Cloud on AWS は Amazon EC2 ベアメタルインスタンスを利用して VMware の Software-Defined Data Center（SDDC）が展開されます。

2023/07/16 時点で利用できるベアメタルインスタンスは以下の 3つ になります。

|                        | i3.metal                            | i3en.metal                                        | i4i.metal                                             |
| ---------------------- | ------------------------------------------- | ------------------------------------------------- | ----------------------------------------------------- |
| |<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/af89e0ee-7a99-24d2-d6cb-79a533d65a77.png" width="50"> | <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/cc83ba06-43b8-c75a-2427-846a99065807.png" width="50">| <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/07ef0167-9edc-0f3b-89c9-5bac51c9f629.png" width="50">|
| CPU                    | Intel Xeon E5-2686 v4 <br> (Broadwell)      | Intel Xeon Scalable Processor <br> (Cascade Lake) | 3rd Gen Intel Xeon Scalable Processor <br> (Ice Lake) |
| CPU コア数                | 36 コア @2.3GHz <br>（Hyper Threading 無効）      | 96 コア @2.5GHz <br>（Hyper Threading 有効）            | 128 コア @2.4GHz <br>（Hyper Threading 有効）              |
| メモリ容量                  | 512 GiB                                     | 768 GiB                                           | 1024 GiB                                              |
| ストレージ容量<br>(raw capacity) | 10.7 TiB<br>(NVMe SSD)                         | 45.8 TiB<br>(NVMe SSD)                               | 20.5 TiB<br>(Nitro SSD)                                  |
| 主な用途                   | 汎用的なワークロード<br>業務アプリケーション<br>OLTP 向けデータベースなど | ストレージ比重の高いワークロード<br>データベース<br>データウェアハウスなど    | 汎用的なワークロード<br>高トランザクションなデータベース<br>インメモリデータベースなど       |
| シングルホストでの利用            | 可                                           | 不可                                                | 可                                                     |


インスタンスタイプの詳細については、VMware Docs 内の [VMware Cloud on AWS のホストタイプ](https://docs.vmware.com/jp/VMware-Cloud-on-AWS/services/com.vmware.vmc-aws-operations/GUID-98FD3BA9-8A1B-4500-99FB-C40DF6B3DA95.html)を参照下さい。

:::note warn
i3.metal については EoS/EoL のアナウンスが出ており、新規での 1年、3年サブスクリプションの購入は既に終了しております。

オンデマンドでの利用については、2026 年まで利用が可能です。

詳細は VMware Cloud Blog の [Announcement of the end of sale, end of support and end of life timeline of the i3.metal instance type of VMware Cloud on AWS](https://blogs.vmware.com/cloud/2023/01/13/announcement-of-the-end-of-sale-end-of-support-and-end-of-life-timeline-of-the-i3-metal-instance-type-of-vmware-cloud-on-aws/) を参照下さい。
:::

# クラスタの種類
VMware Cloud on AWS で構成可能なクラスタには下図の通り３つの種類があります。目的や用途に応じて最適なクラスタを作成して利用できます。

![image.png](https://blogs.vmware.com/vmware-japan/files/2022/03/VMC-Cluster-Type-1.png)

_（図は [VMware Japan Blog: VMware Cloud on AWS のホスト構成パターン](https://blogs.vmware.com/vmware-japan/2022/03/vmc-host-config.html)からの抜粋）_

### シングルホストクラスタとは
VMware Cloud on AWS では、検証目的での利用として 1 台のホストでクラスタを構成するシングルホストクラスタが利用可能です。シングルホストクラスタでは最大 60 日間の利用が可能です。
冗長構成が取られていない為、SLA は適用されませんが、60 日以内であれば後述の通りホストを追加して標準クラスタへ変更し、本番環境として利用することができます。

シングルホストで構成をすると「この SDDC は XX 日後に期限切れとなります。」という表示がされ、"詳細情報" をクリックすると以下のようなメッセージが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/83b5b09b-90ce-54ef-5702-8c7065c44e68.png)
> **期限付き SDDC**
> 単一ホスト構成の SDDC はオンデマンドで課金され、有効期限は 60 日間です。有効期限のない SDDC に変更するには、期限が切れる前に 2 ホスト構成の SDDC にアップグレードする必要があります。この SDDC は、60 日後に自動的に破棄され、SDDC 内のすべてのコンテンツは完全に削除されます。

ちなみに実際に 60 日が経過するとどうなるかを DevelopersIO にて検証されていますので、興味がある方はご参照ください。

https://dev.classmethod.jp/articles/vmware-cloud-on-aws-sddc-expire/

:::note info
尚、[VMware Cloud on AWS で利用できるベアメタルインスタンス](#vmware-cloud-on-aws-で利用できるベアメタルインスタンス) で記載の通り、シングルホスト構成は 現時点で i3.metal と i4i.metal のみ利用可能です。
:::



### 標準クラスタとは
本番環境での利用として、１つの Availability Zone（AZ）の中に作成されるのが標準クラスタです。つまり １つのデータセンター群の中でクラスタが構成されます。

標準クラスタは最小２台のホストから構成できます。SLA（保証される可用性は99.9%）が適用できます。
一つのクラスタ内に最大１６台までホストを追加できます。

:::note info
一つのクラスタ内に異なるタイプのベアメタルインスタンスを混在させる事はできません。
:::

オンプレミスでは、多くのケースで１つのデータセンター内でクラスタを構成しているかと思います。オンプレミスから移行するにあたって同等の環境を AWS でも利用するとなった場合、この標準クラスタが選択されます。


### ストレッチクラスタとは
ミッションクリティカルなワークロードを稼働させたい場合、ストレッチクラスタ構成が利用できます。
ストレッチクラスタは 2 つの AZ にまたがり、クラスタが構成されます。

2 つの AZ 間でデータをレプリケートするために、vSAN のストレッチクラスタのテクノロジーが使用されます。
AZ の障害は vSphere の HA イベントとして取り扱われ、もう一方の AZ で仮想マシンは再起動されます。
この為、アプリケーションの再設計が不要で、AZ を跨いだ高可用性が実現できます。

また、2 つの AZ にデータを同期書き込みを行う為、RPO 0 を実現し、6 ホスト以上の構成の場合、SLA 99.99 % が設定されます。

2 つの AZ にデータの同期書き込みを行う為、必要となるホスト数は基本的に 2 倍となります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/650b6cb8-8fdd-5ac8-808e-4752b949abe4.png" width="650">

ストレッチクラスタについては、実際のデプロイを含め以下の投稿にてまとめていますので、よろしければ参照下さい。

https://qiita.com/mtoyoda/items/8927b737df20d9c5d339


# シングルホスト・標準クラスタについて
## シングルホスト・標準クラスタにおけるホストの増減

シングルホスト・標準クラスタにおけるホストの増減の可否を以下の図にまとめてみました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/5b831fc4-3e84-d098-c816-db9bcc864ba5.png" width="750">

シングルホストクラスタでは最大 60 日間という有効期限がありますが、60 日以内であれば、ホストを追加する事で標準クラスタへ変更し、本番環境として利用することができます。

2 ホスト構成から最大で 16 ホストまで拡張する事ができます。

2 ホスト構成から シングルホストクラスタへの縮小はサポートされておりません。


### シングルホストから 2 ホストのクラスタに変更（拡張）してみた

実際にシングルホストから 2 ホストクラスタに拡張してみました。

1. シングルホストで構成をすると「この SDDC は XX 日後に期限切れとなります。」という表示がされ、その右側に[スケールアップ]というボタンが表示されます。このボタンをクリックします。
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/e448c8ee-e510-de6a-370c-e2f82bed44c3.png" width="512" />

1. 追加するホストの数を指定し（デフォルトは 1 ）、[ホストの追加]ボタンをクリックします。
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/ed60c13f-916e-82a1-ecb0-043dcc48fd8b.png" width="512" />

1. ホストの追加が開始します。
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/613bfd26-f6aa-5704-15d6-33ca940a5e84.png" width="512" />

1. 少し待つと 2 ホストのクラスタ（標準クラスタ）へと変更されました。「この SDDC は XX 日後に期限切れとなります。」というメッセージも消えました。
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/ec482d20-d0e8-4057-fec6-0c1da30d0e70.png" width="512" />

VMware Cloud on AWS はこれらの変更がダウンタイムなしで実施されますので、検証環境から本番環境へシームレースに移行する事ができます。

:::note warn
ダウンタイムなしでシングルホストから標準クラスタに変更が可能ですが、NSX Manager に 1 時間ほどアクセスできなくなりました。
これは、バックエンドで NSX の冗長構成の為の変更作業が行われている為と思われます。

例えば、ネットワークの変更作業中や、ハンズオン実施の最中にシングルホストから標準クラスタに変更してしまうと、１時間程度ネットワークの設定変更ができなくなってしまいますのでご注意下さい。
:::

## i3.metal 2 ホスト構成は 起動できる VM 数に注意

i3.metal 2 ホストで構成をする場合、vSphere HA のアドミッション コントロールのため、<font color="Red">**35 VM** までしか起動できない</font>点に注意が必要です。36 VM 目から起動に失敗します。

[VMware Configuration Maximums](https://configmax.esp.vmware.com/guest?vmwareproduct=VMware%20Cloud%20on%20AWS&release=SDDC%201.22&categories=3-0) にて記載があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/5a81b83d-4512-e22f-9537-08f600848b31.png)


### なぜか？
2 ホスト構成の場合、フェイルオーバーキャパシティとして 50 ％ 確保され、vCenter などの管理コンポーネントの CPU 予約を差し引くと、空き CPU リソースが **1152 MHz** のみとなる為です。

ワークロード VM を作成・起動する際、CPU 予約していない VM は起動時に **32 MHz の予約**として計算されますので、35 VM までしか起動できない、という事になります。（もちろん 32 MHz 以上の予約をする VM がある場合、起動できる VM 数は減ってしまいます）

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/37731594-9dc3-eea3-74ce-b60cbc0c0a03.png" width="600" />

シングルホスト構成の場合は vSphere HA が有効にならない為、この制約は発生しません。
i3.metal のシングルホスト構成で 大量の VM を起動している状態で 2 ホストに拡張する場合はご注意下さい。

尚、i3en.metal、i4i.metal では十分な空きリソースがある為、この制約は発生しません。
以前の投稿で i3en.metal にて大量の VM を起動した履歴がありますのでよろしければ参照下さい。

https://qiita.com/mtoyoda/items/ee11d8346fd7adef094d

ちなみに [VMC Sizer](https://vmc.vmware.com/sizer/) を使えば、このあたりの制約もきちんと考慮に入れてサイジングを実施してくれます。ですのでサイジングを行う際は、Sizer を必ず利用するにしましょう。

Sizer に関しては以下の過去記事も併せて参照下さい。

https://qiita.com/mtoyoda/items/b9c616d7e367db2ec21a

https://qiita.com/mtoyoda/items/8e5f0003a7bf865758bd


i3.metal 2 ホスト構成の場合の制約の詳細については、以下の Tech Zone の記事を参照下さい。

https://vmc.techzone.vmware.com/resource/entry-level-clusters-vmware-cloud-aws#section4

# ストレッチクラスタについて
## ストレッチクラスタにおけるホストの増減

ストレッチクラスタにおけるホストの増減の可否を以下の図にまとめてみました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/403d0ca1-dd2b-b3bb-e4b4-8355a2eca462.png" width="750">

ストレッチクラスタでは、6 ホスト以上の構成の場合、SLA 99.99% が設定されています。

元々ストレッチクラスタは 6 ホスト（各 AZ に 3 ホスト）以上の構成のみデプロイが可能だったのですが、より小さい構成で利用したいという声に応える形で、2021 年 5 月から 4 ホスト（2-2）の構成、2021 年 10 月から 2 ホスト（1-1）の構成が利用できるようになりました。

:::note warn
2 ホスト（1-1）、4 ホスト（2-2）構成の場合、標準クラスタと同じ SLA（99.9 %）になります。
:::

ストレッチクラスタにおいては、拡張は柔軟に可能ですが、6 ホスト（3-3）以上の構成 -> 4 ホスト（2-2）の構成や4 ホスト（2-2）の構成 -> 2 ホスト（1-1）の構成には縮小ができません。
8 ホスト（4-4）の構成 -> 6 ホスト（3-3）の構成などの縮小は可能です。

ストレッチクラスタも、1 つのクラスタあたり 16 ホストが最大となりますので、各 AZ に 8 ホストが最大となります。（8 + 8 = 16）

## ストレッチクラスタで良く聞かれる質問

ストレッチクラスタを検討する場合によく聞かれる質問を以下にまとめてみました。

1. **1 つの SDDC 内にストレッチクラスタと標準クラスタを混在できますか？**
    いいえ、SDDC 内にストレッチクラスタと標準クラスタは混在できません。

1. **標準クラスタでデプロイした後にストレッチクラスタへ変換する事はできますか？**
    いいえ、標準クラスタ -> ストレッチクラスタ、ストレッチクラスタ -> 標準クラスタ への変更はできません。

## ストレッチクラスタ利用時の制約

本記事作成時においては、ストレッチクラスタでは、NFS データストアが[サポートされておりません](https://docs.vmware.com/jp/VMware-Cloud-on-AWS/services/com.vmware.vmc-aws-operations/GUID-A3B13ACD-BB01-4A84-878A-4D069A0B682D.html)。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/1fb8e336-ab87-6096-8311-5c08dd77a849.png" width="550" />

vSAN 以外のストレージを利用してストレージのオフロードをしたい場合は、各 VM からのネットワークマウントを検討する必要があります。

# 料金
VMware Cloud on AWS は EC2 ベアメタルインスタンス上で SDDC が展開されますので、ベアメタルインスタンスあたりの料金設定となっています。

例えば i4i.metal 4台で構成した場合は、i4i.metal 2台の構成の 2倍の料金となります。

VMware Cloud on AWS の[料金ページ](https://www.vmware.com/jp/products/vmc-on-aws/pricing.html)からベアメタルインスタンス毎の料金が確認できます。
VMware Cloud on AWS では 3 つの利用形態があり、**オンデマンド**、**1 年サブスクリプション**、**3 年サブスクリプション**から選ぶ事ができます。

1 年サブスクリプションは、オンデマンドと比較すると 25 〜 30 % 程度安く、そして3 年サブスクリプションは、45 〜 50 % 程度安く利用する事ができます。

この為、検証時はオンデマンドで利用して、本番利用時はサブスクリプションを購入して利用というのが一般的に選択されております。
また、サブスクリプションを利用しつつ、繁忙期の追加リソース分のみオンデマンドで利用という形も可能です。
例えば、i4i.metal 2 ホスト分を 3 年サブスクリプションで購入し、平常時は 2 ホストで稼働させておき、繁忙期などはホストを追加し（その分はオンデマンドで請求）、繁忙期が終わったらホストを削除して、また 2 ホストで稼働させるという事も可能です。

:::note info
料金ページで確認できるベアメタルインスタンスあたりの費用の中には、以下にある料金については含まれておりません。この部分については、別記事で触れていこうと思います。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/49c5f903-5b3d-cea5-e590-ff4a784bed13.png" width="300" />
:::

## 【小ネタ】 i3.metal はシングルホスト構成が安い
あまり知られてない小ネタなのですが、i3.metal はシングルホスト構成の場合の単価が標準クラスタの場合より、16 % ほど安く利用出来ます。
良心的だなと思う一方で、i4i.metal も同様に安くしてくれるとありがたいです。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/c31710d8-5e02-5d70-6061-57b98c609a1e.png)

## さらにコストを抑えて検証を行うには
これは当然の話ではありますが、料金は利用するリージョンによって異なります。
この記事を作成時に確認した限り、US の 3 リージョン（N.Virginia, Ohio, Oregon）が最も安く利用できました。i3.metal シングルホストで比較してみると 東京リージョンの 6.97 ドルに対して 5.95 ドルと 15 % 程度安価に利用出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/2f26c374-9102-100c-3d3b-3bbb63b8e03a.png)



# 参考文献
- [VMware Japan Blog: VMware Cloud on AWS のホスト構成パターン](https://blogs.vmware.com/vmware-japan/2022/03/vmc-host-config.html)
- [VMware Cloud Tech Zone: Entry-level Clusters on VMware Cloud on AWS](https://vmc.techzone.vmware.com/resource/entry-level-clusters-vmware-cloud-aws)