RVToolsを使って簡単にVMware Cloud on AWSのサイジングを行う

# はじめに
<!-- 発端や概要を記載 -->
RVToolsを使ってVMware Cloud on AWSのサイジングを簡単に行う方法を紹介します。


# 目次
<!-- タイトルとアンカー名を編集 -->
1. [RVTools](#rvtools)
1. [VMware Cloud on AWS Sizer](#vmware-cloud-on-aws-sizer)
1. [Sizerを使う](#sizerを使う)
1. [費用試算](#費用試算)
1. [まとめ](#まとめ)
1. [参考文献](#参考文献)

<!-- 各チャプター -->

<a id="#rvtools"></a>
# RVTools
[RVTools](https://www.robware.net/rvtools/)は、VMware vSphere Management SDKとCIS REST APIを使用してvSphere環境に関する情報を取得するWindows .NETアプリケーションです。vSphere環境のインベントリ情報取得などで世界中で広く使われております。
非常に軽量で既存環境に負荷をほとんどかける事なく情報取得をする事ができます。
RVToolsの使い方はQiita内の[こちら](https://qiita.com/khayama/items/4bba9ca699387053280b)の記事でまとまっているので是非参照下さい。
以下がRVToolsの結果をExcelにエクスポートした結果になります。今回はこのデータを使ってサイジングを行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/6f3f3c4b-b035-3847-0d2d-a5a4ca102add.png)


<a id="#vmware-cloud-on-aws-sizer"></a>
# VMware Cloud on AWS Sizer
VMware Cloud on AWSのサイジングには、VMwareが提供している[VMware Cloud on AWS Sizer](https://vmc.vmware.com/sizer/)を使います。このツールを使う事で簡単にサイジングを行う事ができます。手入力でも仮想マシン数、vCPU数、メモリサイズ、ディスクサイズ等を入力することによりサイジングが可能ですがRVToolsの出力結果（Excel）をインポートする事で更に簡単にかつ詳細にサイジングが可能です。
VMware Cloud on AWSでは現時点でi3.metal、i3en.metalの二つのインスタンスタイプが利用でき、それぞれのスペックが公開されていますが、サイジングにはvSANのオーバーヘッド、vCenterやNSX Manager等で利用されるリソース、vSANの重複排除・圧縮による容量効率化など様々な考慮点がある為、インスタンスのスペックから予測してサイジングするのではなく、必ずSizerを使うようにいたしましょう。

こちらがSizerの画面です。**Quick Sizer**という部分が手入力で入れるパターンになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/ba950e5a-5e76-1b5f-c245-64dbc36b969c.png)

<a id="#sizerを使う"></a>
# Sizerを使う
今回は**高度 Sizer**の中の**オンプレミス データのインポート**を利用します。
RVToolsを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/6221f91a-8d89-5614-62c8-0f21fbb237f5.png)
ファイルの選択をクリックし、[RVTools](#rvtools)のエクスポート結果を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/a72f5f3e-1b38-a06a-e231-d605d915aa53.png)
その他の環境設定の部分でどうサイジングするかの指定ができます
* **仮想マシンの考慮**: パワーオンの仮想マシンのみをサイジング対象に含めるのか、パワーオフ、サスペンドの仮想マシンも含めるのかの指定をします
* **考慮対象のストレージ**: ストレージ容量の見積もりとして実利用量をサイジング対象とするのか、プロビジョニング済みの容量を対象とするのか指定をします。Thinディスクを利用している場合、プロビジョニング済みを指定すると必要となるストレージ容量が膨大になり、リソースに無駄の出るサイジング結果になる可能性があります。
* **考慮するメモリ**: 同上ですが、メモリについてはオーバープロビジョニングをするとパフォーマンスに影響が出る可能性がある為、特に要件がなければこちらはプロビジョニング済みを指定しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/80495614-662e-d3f4-5ec8-652fb9a2cc64.png)
そして上記の画面でアップロードのボタンをクリックすると以下のような画面が表示されます。
RVToolsのデータから仮想マシン数の合計、vCPU、メモリ、ストレージの平均値が自動で表示されます。
CPU使用率、メモリ使用率、ストレージの重複排除、圧縮の効率などはデフォルトの値が入っています。もしパフォーマンス値など持っていればこれら値を上書きする事でより精緻なサイジングができます。ざっくりとサイジングする上ではこの部分はデフォルトのままで良いでしょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/ad5db934-cf4a-bac4-24d6-f4e8afd7d4be.png)
そして最後に上の画面で推奨の取得ボタンをクリックするとサイジングの推奨値が表示されます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/896c7832-081d-93c4-4493-98a5b2b12f9e.png)
今回のサイジング結果だとi3.metalで5ホスト必要という結果でした。（ホストタイプのところをクリックするとi3en.metalでの結果も見れます。）
レポートはPDF形式でダウンロードできます。
尚、**決定の根拠**というところで今回はCPUと表示されていますが、これはCPUリソースを確保する為にホスト数が増えている事を指しています。ですので例えばCPUを大量に使う仮想マシンをサイジング対象から除外するですとか、もしくはCPU使用率をデフォルトの30%から少ない使用率に変えることによりホスト数を削減できる事を指しています。もし予算に見合わない場合などはこの辺りを検討してみて下さい。


<a id="#費用試算"></a>
# 費用試算
VMCの費用は、[VMware Cloud on AWSの製品ページ](https://www.vmware.com/products/vmc-on-aws/pricing-calculator.html)から試算ができます。
利用するリージョン、ホストタイプ、ホスト数（先ほどSizerで算出したホスト数）、利用形態（オンデマンド、1年、3年）を選択するだけで簡単に試算ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/1c959375-49ce-ba2d-200b-5a4ecfef56da.png)



<a id="#まとめ"></a>
# まとめ
VMCのサイジングはSizerで簡単に見積もりが可能ですが、RVToolsの出力結果を使う事でさらに簡単にサイジングできます。また、インベントリ情報の取得という意味でもRVTools便利ですので是非利用してみて下さい。
RVToolsを使わずに手入力でサイジングする方法については、VMwareさんが[ブログ](https://blogs.vmware.com/vmware-japan/2021/09/vmware-cloud-on-aws-sizing_explain.html)を出しているのでそちらも参考にしてみて下さい。


<a id="#参考文献"></a>
# 参考文献
- [VMware 環境の情報を一元取得できる RVTools のススメ](https://qiita.com/khayama/items/4bba9ca699387053280b)
- [VMware Cloud on AWS サイジングの解説](https://blogs.vmware.com/vmware-japan/2021/09/vmware-cloud-on-aws-sizing_explain.html)