ストレッチクラスタをデプロイしてみる (VMware Cloud on AWS)

# はじめに
<!-- 発端や概要を記載 -->
以前投稿した [i3en.metal の 2 ホスト SDDC をデプロイしてみる](https://qiita.com/mtoyoda/items/ee11d8346fd7adef094d)に引き続いて、今回もデプロイしてみるシリーズとして、 VMware Cloud on AWS のストレッチクラスタをデプロイし、どういった構成になっているかを確認してみました。

# 目次
<!-- タイトルとアンカー名を編集 -->
1. [VMware Cloud on AWS のストレッチクラスタ](#vmware-cloud-on-aws-のストレッチクラスタ)
1. [ストレッチクラスタをデプロイしてみる](#ストレッチクラスタをデプロイしてみる)
1. [どう構成されているか確認](#どう構成されているか確認)
1. [Elastic Network Interface について](#elastic-network-interface-について)
1. [ホストの追加](#ホストの追加)
1. [まとめ](#まとめ)
1. [関連記事](#関連記事)

<!-- 各チャプター -->
# VMware Cloud on AWS のストレッチクラスタ
VMware Cloud on AWS では大きく分けて 2 つのクラスタ構成があります。
1. 標準クラスタ
1. ストレッチクラスタ

標準クラスタは ESXi ホストが 1 つのアベイラビリティゾーン (AZ) 上でクラスタが構成されます。一方で、ストレッチクラスタは 2 つの AZ にまたがり、クラスタが構成されます。
2 つの AZ 間でデータをレプリケートするために、vSAN のストレッチクラスタのテクノロジーが使用されます。AZ の障害は vSphere の HA イベントとして取り扱われ、もう一方の AZ で仮想マシンは再起動されます。この為、アプリケーションの再設計が不要で、AZ を跨いだ高可用性が実現できます。また、2 つの AZ にデータを同期書き込みを行う為、RPO 0 を実現し、6 ホスト以上の構成の場合、SLA 99.99 % が設定されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/650b6cb8-8fdd-5ac8-808e-4752b949abe4.png)
> 注意: 2 ホストのストレッチクラスタ（各 AZ に 1 ホストずつ）、4 ホストのストレッチクラスタ（各 AZ に 2 ホストずつ）が 2021 年後半より利用できるようになっておりますが、これらのクラスタは現在 SLA 99.9 % となっています。


# ストレッチクラスタをデプロイしてみる
標準クラスタと同じく、VMC コンソールから SDDC の作成ボタンを押して、SDDCを作成します。
今回は 6 ホストのストレッチクラスタをデプロイしてみたいと思います。
ストレッチクラスタの、作成は非常に簡単です。デプロイの部分で"ストレッチ クラスタ"のチェックボックスをクリックするだけです！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/612e2c01-1b34-6092-561f-b2dcf32cb4b2.png)

VPC とサブネットの指定の部分では、標準クラスタと異なり、2 つのサブネットを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/c5702d4a-2cc2-8b75-f878-d807375db88c.png)

最後に SDDC の展開をクリックします。今回は、標準クラスタよりデプロイに 20 分ほど時間がかかり完了しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/5aef6c90-0177-68fc-4a11-d6d387a19bf4.png)

インベントリの情報は以下のように表示されます。標準クラスタと異なり、アベイラビリティ ゾーンのところが 2 つ表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/09dfdea0-720f-f8ee-3993-7a76af1e6dff.png)

SDDC のサマリは標準クラスタと違いはありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/84934dda-f1de-eedf-98a9-87f09aee0001.png)

接続された VPC のページに 2 つの VPC サブネットが表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/ed6d85bf-df73-6c26-2d44-9d5077c8c32e.png)



# どう構成されているか確認
ではvCenter ServerにvSphere Clientでログインをして、どう構成されているか見てみたいと思います。

6 ホスト + vSAN witness ホスト 1台の計 7 ホストで構成されていました。
VMware Cloud on AWS ではストレッチクラスタを選択すると、3 つ目の AZ で vSAN Witness ホストを自動で構成してくれます。（[VMware Cloud on AWS のストレッチクラスタ](#vmware-cloud-on-aws-のストレッチクラスタ)の図を参照）
また、この Witness ホストについての追加の費用は発生しません！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/afaad7a3-691c-87d7-1f80-11b83d39c43f.png)

vSAN の構成を確認すると ap-northeast-1a と ap-northeast-1c の 2 つの AZ を利用してストレッチクラスタが構成されている事が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/b6d6ba78-4509-7c21-8ceb-a05893cf5858.png)

Witness ホストについて確認すると、EC2 の m5.xlarge インスタンスで構成されておりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/aa2597c4-ca86-f947-3d9e-7516337b5828.png)


# Elastic Network Interface について
標準クラスタの場合、SDDC デプロイ時にElastic Network Interface (ENI) が指定したサブネット上に 17 個作成されます。（この部分については、要望があれば別途ブログ作成を行おうと思います）
ストレッチクラスタの場合はどうでしょうか？ AWS マネジメントコンソールにアクセスし、構成を確認してみます。
ENI は AWS マネジメントコンソールから、[EC2] -> [ネットワーク & セキュリティ] -> [ネットワークインターフェイス] にて確認できます。

以下の通り、SDDC 作成時に指定したサブネット 2 つにそれぞれ 17 個ずつ、計 34 個の ENI が作成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/26ced838-9ff2-cb8c-109e-d1783e8206ed.png)

今回は 6 ホストで構成した為、6 ホスト分の ENI が In-use のステータスになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/84879da7-c57e-f2ee-46e6-5f5ecf729c1b.png)

ルートテーブルの構成は以下の通りです。SDDC の管理サブネット (10.2.0.0/16) と、ワークロード用のセグメントとしてデフォルトで作成された 192.168.1.0/24 のルーティングが ENI 経由になるよう自動構成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/623dc5b7-4d86-5bf0-37a2-c8f7b4d0a18d.png)

# ホストの追加
尚、ストレッチクラスタにホストを追加する場合は、各 AZ にそれぞれ 1 ホストずつ追加する必要がある為、以下のように 2 の倍数（2, 4, 6, ...) での追加となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/f4d917df-24a8-5f44-bd0d-70128bf2a6b5.png)


# まとめ
VMware Cloud on AWS でのストレッチクラスタの利用は、[ストレッチクラスタをデプロイしてみる](#ストレッチクラスタをデプロイしてみる)で確認したように、標準クラスタとほぼ同じ手順でデプロイする事ができ、簡単なステップで AZ を跨いだクラスタ構成を組む事ができます。
また、AWS では AZ 間のトラフィックは通信費用が発生いたしますが、VMware Cloud on AWS のストレッチクラスタを利用する場合は、10 PB まで AZ 間の通信費用は発生いたしません。（[参考:VMware Cloud on AWS Egress Estimate Guide](https://vmc.techzone.vmware.com/resource/vmware-cloud-aws-egress-estimate-guide#_Toc62113753))
そしてさらに、小規模環境でコストを抑えて AZ を跨いだクラスタ構成を組みたい場合は、[2 ホストから](https://blogs.vmware.com/cloud/2021/10/25/2-host-entry-scale-stretched-clusters/) ストレッチクラスタが構成できるようになっています。


# 関連記事
https://qiita.com/mtoyoda/items/ee11d8346fd7adef094d