備忘録: VMware Cloud on AWS x Amazon FSxN (VPC Peering) のセットアップ

# 1. はじめに

Amazon FSx for NetApp ONTAP (FSxN)の初期作成とVMware Cloud on AWSからのNFSデータストアマウント (VPC Peering) について、あとから再現できるように手順の備忘録を残します。

::: note warn

本記事の内容は、2024 年 3 月時点での公開情報および個人的なハンズオンの結果をベースにしています。
最新情報については Broadcom 社公式サイトをご確認お願いします。

:::

## 全体構成図

リージョンは N.Virginia を選択しています。

![Arch_M7i_FSxN.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/1a699813-5735-8df0-c323-fba83af97661.png)


:::note warn
2024年4月1日現在、VMware Cloud on AWS M7iインスタンスを利用できるのは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、欧州 (ストックホルム) の AWS リージョンです。

https://aws.amazon.com/jp/about-aws/whats-new/2024/02/amazon-ec2-m7i-metal-24xl-instance-vmware-cloud-aws/
:::

## 本記事のポイント

後述しますが、VPC PeeringおよびFSxNのNFSデータストアマウントの設定パラメーターは次のとおり非常にシンプルです。
VMware Transit Connect (VTGW)が必須要件だった頃と比べると、格段に設定項目が少なくなり容易になりました。

VPC Peeringの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/36278c43-3e7f-cb9d-60b7-fc7763619434.png)

FSxNのNFSデータストアマウント設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/d382e570-d215-af70-3f80-574f201b0245.png)

私は今回が初めてのFSxNのデータストアマウントでしたが、SDDCやFSxNのデプロイ待ち時間を除くと大体40分程度で設定完了しました。つまづくポイントもなかったので、慣れるともう少し早く実施できそうな気がします。

なお本記事は、VMware 社と @mtoyoda さんののブログを参考にしています。

https://blogs.vmware.com/vmware-japan/2023/12/vmc-vpc-peering.html

https://qiita.com/mtoyoda/items/85a4acf34f02a64faa7d


# 2. FSxN の初期セットアップ

今回はネットワーク構成をシンプルにするために、FSxN用VPCとConnected VPCを分ける構成としています。
FSxN用VPCを作成したのち、FSxN (Single-AZ)を作成します。

## FSxN用 VPCを作成

次のようなFSxN用VPCを作成していきます。命名は任意です。

```ruby:FSxN用VPCの概要
VPC Name: vmc-FSxN-vpc-nv
VPC CIDR: 10.120.0.0/16
Subnet Name: subnet-private-az1b-vmc-vmc-FSxN-vpc-nv (10.120.10.0/24)
Subnet AZ-ID: use1-az1
```

CIDRが他の環境と重複しないようにすることに加えて、AZ(Availability Zone)もConnected VPCと同じAZとしておくこともポイントとなります。

VMware Cloud on AWS SDDC環境はConnected VPCと同じAZにデプロイされます。VMware Cloud on AWS SDDCとFSxN用VPCはVPC Peeringで接続しますが、同一AZ内通信であればトラフィック費用が発生しないためです。

### VPC作成 (FSxN用VPC)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/aa8a778b-4e85-af95-9825-9da43cbe0130.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/07528381-e05c-563c-4219-1072b52477bb.png)

### サブネット作成 (FSxN用VPC)

サブネットは１つ(CIDR: 10.120.10.0/24)だけ作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/6891ee2f-0a27-2cfa-e9e0-3ed7838ff25e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/a6247413-215f-ef5d-75a5-6ce90d4a637f.png)

::: note warn

次の範囲内の CIDR 範囲は FSxN と互換性がないため、サブネット作成の際には気を付けます。


• 0.0.0.0/8
• 127.0.0.0/8
• 198.19.0.0/20
• 224.0.0.0/4
• 240.0.0.0/4
• 255.255.255.255/32

FSxN Single-AZ で SVM を 1 つだけ利用する基本構成では、FSxN はサブネット内の未割り当て IP アドレスを 6 つ自動採番で使用します。(ファイルシステムで 3 つ、SVM で 3つ)

当然ながら VMware Cloud on AWS で利用していないサブネットにしておきます。
FSxN Single-AZ ではサブネットサイズの制限は特にないので、最小となる /28 のサブネットでも OK です。


:::

https://docs.aws.amazon.com/ja_jp/fsx/latest/ONTAPGuide/getting-started-step1.html


### セキュリティグループ (FSxN用VPC)

今回セキュリティグループはデフォルトのものを利用するため、この時点では追加設定は不要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/f15380ff-af0e-4145-0d57-a13ead9737d0.png)


## FSxN用VPC内にFSxNを作成

次のようなFSxN (Single-AZ)を作成します。
命名は任意です。その他の設定パラメーターも今回はすべてデフォルト値を採用しています。

```ruby:FSxNの概要 (in FSxN用VPC)
File System Type: Amazon FSx for NetApp ONTAP
File System Name: FSxN-for-VMC-NFS-Datastore
SSD storage capacity: 1024 GiB (最小容量)
その他のパラメーター: デフォルト
```

### FSxNの作成

作成ファイルシステムから「Amazon FSx for NetApp ONTAP」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/02597c03-1668-2a42-1e23-c23c77630a53.png)

今回は最小容量であるSSD 1024GiBで初期作成します。必要に応じてあとからSSD容量を追加可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/fc31ec55-7cf4-1c5c-0410-96e1b6118578.png)

命名などは任意ですが、デフォルトの値を採用していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/947ddd61-e4a7-435b-246e-f3beef9b8769.png)

ストレージの効率化(Storage Efficiency)は「有効 (Enabled)」にするつもりでしたがうっかりスキップしていたので、後から有効に設定変更しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/04823afc-7694-b8af-d2d7-cae5df8e25c3.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/0a5cd2c8-0036-ffff-9379-7235af378ffe.png)

最後に設定パラメーターをレビューし、ファイルシステムを作成 (Create file system)を実行します。
作成前には、各設定パラメーターごとに作成後の設定変更可否が確認できます。(便利)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/63018b3f-3cb3-202c-a27b-7f6003b99c28.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/74e5fde0-ee4b-9805-815b-25235658ad96.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/2754175c-d8da-dffe-cf3a-dbc9d125c701.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/2ea2984b-15b4-41ef-d1d4-bca12ad5ad66.png)

### 作成したFSxNの確認

作成したFSxNを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/fe5d8584-a3fb-bddc-19fe-f7356d1df6d9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/1125f291-f734-6cfe-2a50-614839d18393.png)

VMware Cloud on AWS の ESXi からデータストアマウントする際に必要となるので、マウントポイントとなる SVM の「NFS IP address」をメモしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/de50da4a-bf43-779b-ff9b-39a49fd026ad.png)


# 3. VMware Cloud on AWS の初期セットアップ

## Connected VPC の作成

次のようなVPC (Conencted VPC) を作成しておきます。命名は任意です。

```ruby:Conencted VPCの概要
VPC Name: vmc-connected-vpc-misc-nv
VPC CIDR: 10.20.0.0/16
Subnet Name: subnet-private-az1b-vmc-connected-vpc-misc-nv (10.20.10.0/24)
Subnet AZ-ID: use1-az1
```

サブネットは下図の１つ(CIDR: 10.20.10.0/24)だけ作成しておきます。
セキュリティグループはデフォルトのものをそのまま利用するので、今回は追加作成あるいは設定変更など不要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/b972addb-231b-9e58-6545-147fbd52fd47.png)

## VMware Cloud on AWS SDDC の初期デプロイ

::: note

本環境では M7i インスタンスを利用していますが、同じ手順で I3, I3en, I4i インスタンスでも FSxN の VPC Peering による NFS データストアマウントが可能です。
:::

```ruby:VMware Cloud on AWS SDDC の概要
SDDC Name: M7i-FSxN-Test
Host Type: M7i-24xl (DISKLESS)
Number of Hosts: 2 hosts
Management Network (CIDR): 10.2.0.0/16
```

「M7i-24xl (DISKLESS)」を2ホスト構成でデプロイします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/f2bf17fc-8629-2e16-e362-eba0c6088ea1.png)

Connected VPCも選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/2c6711de-288f-0dec-4d02-95d129e91de0.png)

デプロイ完了後の初期状態は次のようになります。
M7iインスタンスはディスクレスタイプなので、この時点ではユーザーが利用できるストレージ容量はありません。

(※)ESXiブート領域とマネジメントデータストアは別途サービス側で準備されていますがこの画面上では確認できません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/c0a48bdc-7f91-9fcf-8e63-9836f56a5c61.png)

vCenterにログインし、SDDCのデフォルト状態を確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/4ebb7888-3115-2bce-1452-f12659317961.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/5f3e9a25-57d9-b241-9146-ca5b0c8cb534.png)


管理系VM用データストア (managementDatastore)のみが初期デプロイ時に存在します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/57365150-b4e1-d64b-bb1c-5836f5ae32f6.png)

# 4. FSxNのNFSデータストアマウント (VPC Peering)

AWSマネジメントコンソールとVMware Cloudコンソールの両方を利用して最後のセットアップを進めていきます。

## VPC Peering の設定

### VMware Cloudコンソールからの作業

「Storage」メニューから、「CREATE PEERING CONNECTION」に遷移します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/53bb4d60-7e8d-8ad9-fec8-9300ddb6a8ed.png)

次の画面に遷移するので、「FSxN用VPC」の情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/49312c79-7073-343d-832f-c03dea0e819c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/5a666645-b67b-b6a0-3cb9-c9abfbbe0be3.png)

ステータスが「Approval Pending」となればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/00d8b3f0-fa37-4c62-3176-c858ff28c184.png)

### AWSマネジメントコンソールからの作業

VPCサービスメニューから「Peering Connection」に遷移し、「Accpet Request」を実施します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/054f6093-7e25-9e1d-c802-406854d93a3e.png)

VMware Cloud on AWSからのPeering Connectionリクエストと一致してることを確認し、「Accpet Request」を実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/a4016d92-6043-a64a-0b7a-bd8e7f5a82bb.png)

「Status」がActiveとなっていれば、VPC Peeringは完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/f89dd498-e1d8-06f4-dbf4-fc4b67c8be48.png)

## FSxN用VPCのアクセス許可

VMware Cloud on AWS SDDCのマネジメントネットワーク (CIDR: 10.2.0.0/16)からFSxNをデータストアマウントするために、必要なアクセス設定を実施します。

次のVMware社のブログを参考にします。

https://vmc.techzone.vmware.com/resource/feature-brief-vpc-peering-external-storage#section7

### セキュリティグループの設定 (AWSマネジメントコンソールからの作業)

次のとおりインバウンドルールを追加します。
VMware Cloud on AWS SDDCのマネジメントネットワーク (CIDR: 10.2.0.0/16)から特定のポートでのFSxNへのアクセスを許可します。

| Type | Port range | Source | Description |
|:-:|:-:|:-:|:-:|
| Custom TCP  | 111   | 10.2.0.0/16  | Remote procedure call for NFS |
| Custom TCP  | 635   | 10.2.0.0/16  | NFS Mountd                    |
| NFS         | 2049  | 10.2.0.0/16  | NFS server daemon             |
| Custom TCP  | 4045  | 10.2.0.0/16  | Network Lock Manager (NLM)    |
| Custom TCP  | 4046  | 10.2.0.0/16  | Network Status Monitor (NSM)  |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/bd9278ed-ef2e-52f8-072a-ce7331f2fcdd.png)

### ルートテーブルの設定

VMware Cloud on AWS SDDCのマネジメントネットワーク (CIDR: 10.2.0.0/16)への通信の向き先として「Peering Connection」を指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/a788e9b8-9638-455e-32f8-ee05fb4757de.png)

## FSxNのNFSデータストアマウント (VMware Cloud コンソールからの作業)

「Storage」メニューから、「ADD DATASTORE」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/305e3e14-3087-4073-79d1-9198b9d9b750.png)

次の画面に遷移するので、作成したFSxNの情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/dc42588a-1133-8235-e6a5-fd15244426e6.png)

必要な情報を入力したら、「ADD AND ATTACH」を実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/38b43478-9fd0-8058-2be8-a007c4e5f206.png)

数分待つと、FSxNのNFSデータストアマウントが完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/707a3ef0-c145-c004-5939-36c6a0779465.png)

# 5. 仮想マシンの作成

マウントしたFSxNに仮想マシンをデプロイしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/76a35b7e-017d-fb84-5bba-4d4be0651b21.png)

今回は手持ちのOVFファイルからいくつか仮想マシンをデプロイしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/bc3415f1-80e9-f40f-15d8-c5e2604d3468.png)

作成した仮想マシンはデータストア領域として、FSxNを利用していることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/f3db0334-117d-0d61-0720-f1af58f7f6c8.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/5241277e-c5b0-ea7d-6c51-fa0cfd585a98.png)


# 7. さいごに

ひととおり触ってみましたが、FSxNをNFSデータストアマウントしたあとは、いつもどおり VMware vCenter から簡単に利用ができます。

SDDCを必要な時にだけ利用するケースを想定すると、vSAN にデータを格納する場合と異なりデータが FSxN に残るので、一時的な開発環境としての利用、あるいは VMware 公式でも謳われているように災害対策 (オンデマンド利用するDRサイト) としての利用にも適していると改めて感じました。

# 8. 参考資料


https://aws.amazon.com/jp/blogs/news/introducing-vpc-peering-for-amazon-fsx-for-netapp-ontap-with-vmware-cloud-on-aws/

https://blogs.vmware.com/vmware-japan/2023/12/vmc-vpc-peering.html

https://qiita.com/mtoyoda/items/85a4acf34f02a64faa7d