AWS MGNでAgentlessを使ってみた

前回の記事で、Agentをインストールした仮想マシンの移行について触れましたが、アプライアンス製品などAgentがインストールできない仮想マシンなども移行したい！というニーズにも対応可能なAgentlessモードがあるようです。移行対象の仮想マシンにAgentを入れない代わりに、vCenterとMGN間とのやり取りをする仮想マシンを1台準備し、その仮想マシンにvCenter-Clientを入れる形になります。

詳細は以下のページをご確認ください。

https://docs.aws.amazon.com/ja_jp/mgn/latest/ug/agentless-mgn.html

また、前回の記事をベースにしていますのでこちらも併せてご確認下さい。

https://qiita.com/nw-engineer/items/3b40b53171f5968038be


# 前提条件
- vCenterがインストールされている事
- vCenterとMGN間の橋渡しをするOS(Linux)がある事
- ブロードコムアカウント(無料で作れます)


# 0. 構成
ESXi：7.0 Update 2 / CPU: 11th i7-11700 / MEM: 128
vCenter: 7.0.3 / ビルド: 21958406
VDDK: 7.0.3.3 ※vCenterのバージョンに関係なく必ずこれを使用
仮想OS : Ubuntu 22.04.01 LTS (vCenter ⇔ MGN橋渡し用)
※橋渡し用のOSにも縛りがあります。
　・Ubuntu 18.x+ (64 ビット) - 22.04
　・アマゾン リナックス 2

# 1. 事前準備
UbuntuにvCenterクライアントインストーラーを入れる前に、dmidecodeを入れておきます。これを入れていないとvCenterインストーラー起動した際に、uuidが取得できず、エラーとなりますのでインストール必須です。
```bash
$ sudo apt-get update
$ sudo apt-get install dmidecode unzip
```

続いて、vCenterサーバからCA証明書をダウンロードしておきます。こちらもvCenterクライアント起動時に必要となります。
```bash
cd /tmp
wget https://[vCenter IP]/certs/download.zip --no-check-certificate
unzip download.zip
```

次は、ブロードコムのサイトからVDDK(Virtual Disk Development Kit)をダウンロードします。以下サイトから7.0.3.3を取得し、Ubuntuの/tmpに配置します。※解凍はせずにそのまま配置します。

https://developer.broadcom.com/sdks/vmware-virtual-disk-development-kit-vddk/7.0

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/847ab0da-9ef2-b9e1-bb2d-97a74af69d1a.png)


最後に、IAMユーザに権限を付与しておきます。AWSApplicationMigrationAgentPolicyだけではvCenterクライアント起動時に権限不足でErrorになります。（※以下の例ではmgnすべて許可していますが、AWSApplicationMigrationVCenterClientPolicyを追加すれば良いみたいです。)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/9e618f75-6e4c-72de-d473-5af954c2e4e6.png)


これで事前準備は完了です。


# 2. vCenterクライアントインストール
事前準備も整ったところで、vCenterクライアントをインストールしていきます。まずは必要なファイルをダウンロードします。
```bash
wget -O ./aws-vcenter-client-installer-init.py https://aws-application-migration-service-ap-northeast-1.s3.amazonaws.com/latest/vcenter-client/linux/aws-vcenter-client-installer-init.py
```

続いて、ダウンロードしたプログラムを実行します。
```bash
sudo python3 aws-vcenter-client-installer-init.py
AWS Access Key ID: ********************                               # 自身のAccess Key
AWS Secret Access Key: ****************************************       # 自身のSecret Key
AWS Region Name: ap-northeast-1                                       # 東京リージョンを指定
Configure communication between this VM and vCenter:
Enter vCenter IP or hostname: *.*.*.*                                 # vCenterのIP
Enter vCenter port (default 443):                                     # Enter
Enter vCenter user name: administrator@vsphere.local                  # vCenterのアドミンアカウント
Enter vCenter password: *********
Enter path to vCenter root CA certificate, it should be accessible by the vcenter client user, (e.g. located in /usr/local or /tmp)(press Enter to disable the ssl cert validation): /tmp/certs/lin/dbad4059.0  # CA証明書
Enter path to VDDK tarball: /tmp/VMware-vix-disklib-7.0.3-21933544.x86_64.tar.gz    # VDDKファイル
(optional) Enter resource tags for the AWS vCenter client (e.g., tag1=val1 tag2=val2):  # Enter
(optional) Enter resource tags for source servers to be discovered by the AWS vCenter client (e.g., tag1=val1 tag2=val2): # Enter
```

正常に動作すると以下のように出力されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/30b42083-9a9f-f464-1d40-0f9b09e691f9.png)


ではMGNの画面を確認しましょう。「アクティブなソースサーバー」を「エージェントレスで発見されたサーバー」に変えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/5a766507-d5cb-f8d1-f7eb-9fbff0c62d50.png)

仮想マシンの一覧が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/55c06f5b-0686-92e8-c4d2-6581c9ee3414.png)

対象サーバをクリックして、「データレプリケーションを開始」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/b72e2546-6add-10f4-2d4d-5d0d79bec9c8.png)

開始ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/6db8980b-b04d-4d96-9527-26f7d93aeade.png)

アクティブなソースサーバに切り替えると、レプリケーション状況が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/1eed87a4-fb6f-c92f-0329-0529c06bc176.png)

この後の流れは前回記事と同じになります。

[6. MGN テストインスタンス起動](https://qiita.com/nw-engineer/items/3b40b53171f5968038be#6-mgn-%E3%83%86%E3%82%B9%E3%83%88%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E8%B5%B7%E5%8B%95 "6. MGN テストインスタンス起動")

[7. MGN カットオーバーインスタンス起動](https://qiita.com/nw-engineer/items/3b40b53171f5968038be#7-mgn-%E3%82%AB%E3%83%83%E3%83%88%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E8%B5%B7%E5%8B%95 "7. MGN カットオーバーインスタンス起動")

アプライアンス製品についてはレプリケーションがうまく行ってもテスト起動でNGになる可能性は大いに有ると思いますので、事前にサポートへ確認しておきましょう。