SDDC Import/Export for VMware Cloud on AWS Tool で構成を保存してみた

VMware Flings(VMware社のエンジニアとコミュニティ)によって作成された構成の入出力ツールを使ってみました

こんにちは、AWS事業本部の荒平(@0Air)です。

VMware Cloud on AWS を使っていると、現時点の構成を保管しておきたいと思うことがあります。
例えば、検証アカウントから本番アカウントへの移行、単純なバックアップ、リージョン間移行などのケースが当てはまると思います。

そこで活躍するのが今回紹介する" SDDC Import/Export for VMware Cloud on AWS Tool "です。少し長いのでこの記事では"SDDC Import/Export Tool"とします。

概要や使い方の詳細については、GitHubに全て載っていますので、そちらをご覧ください。

VMware Cloud コンソール上では、デベロッパーセンターに項目があります。

使ってみた

(1) Pythonおよびgitの準備

説明は省略いたしますが、Python3製のツールのようです。手元の環境で使えるようにしました。

(2) ツールのダウンロード

git clone https://github.com/vmware-samples/sddc-import-export-for-vmware-cloud-on-aws.git
cd sddc-import-export-for-vmware-cloud-on-aws
pip3 install -r requirements.txt

上記を実行したうえで、 Successfully installed ~~ と表示されていれば問題ありません。

(3) VMware Cloud on AWSのAPIトークンを生成

VMware Cloud コンソール右上のユーザー部分のプルダウンから、[マイアカウント]をクリックします。

[API]トークンタブにて、[新しいAPIトークンの生成]を選択します。

トークン名・トークンの有効期限を入力し、このトークンに付与するロールを定義します。
今回は検証かつ短期間で失効させるため、すべてのロールとしました。

出力されたトークンはどこかに控えておきましょう。(紛失した場合、再発行が必要です)

(4) 構成ファイルを更新する

config_iniフォルダ内にある、vmc.ini ファイルを変更します。
今回は保存のみのため、source_の値を埋めます。(14, 18, 19行目)

[vmcConfig]
# Use Gov Cloud URLs - you must enable this if you're using VMware Cloud on AWS GovCloud
gov_cloud_urls = False

# Service URLs, should never change
strProdURL              = https://vmc.vmware.com
strCSPProdURL           = https://console.cloud.vmware.com

# GovCloud
strGovProdURL           = https://www.vmc-us-gov.vmware.com
strGovCSPProdURL        = https://console.cloud-us-gov.vmware.com

# Refresh tokens generated in the VMC console. Users have a separate token in each org
source_refresh_token    = {取得したトークン}
dest_refresh_token      = x

# Organization and SDDC IDs are easily found in the support tab of any SDDC
source_org_id           = {バックアップする組織ID}
source_sddc_id          = {バックアップするSDDC ID}
dest_org_id             = x
dest_sddc_id            = x

またこれ以外にも、エクスポートしたファイルをS3へ保存したり、各種フラグ管理を行う構成ファイルがあります。
特に config.ini について、デフォルトではフラグが全て有効になっているため、単なるバックアップ目的で利用する際はそのままでよいと思われます。

(5) スクリプトの実行

python3 sddc_import_export.py -o export コマンドでExportを実行します。

以下のように出力されました。

$ python3 sddc_import_export.py -o export

Token expires at 2023-05-31 22:53:20.484561
Exporting data from org {Org-Name}, SDDC Classmethod-Tokyo, SDDC version 1.20v4
Deleting old JSON export files...
Source SDDC Info exported.
Beginning Services export...
SDDC services exported.
Beginning MGW export...
MGW groups exported.
MGW rules exported.
Beginning CGW export...
CGW groups exported.
CGW rules exported.
Beginning Multi-T1 CGW export...
Multi-T1 CGW Config exported
Beginning Multi-T1 Static Routes Export
Multi-T1 Static Routes exported
Beginning Multi-T1 North/South Firewall Policy and Rule Export
Multi-T1 FW Policy and Rules exported
Beginning Connected VPC Managed Prefix List export
Connected VPC Managed Prefix List settings exported
Beginning Route Aggegration list export
SDDC Route Aggregation list exported
Beginning SDDC route configuration export
SDDC Route Configuration exported
Beginning network segments export...
CGW networks exported.
Beginning flexible segment export...
Flexible segment exported.
Beginning DFW export...
DFW rules exported.
Beginning Public IP export...
Public IP exported.
Beginning NAT export...
NAT rules exported.
Beginning Service Access export...
Service access exported.
Beginning VPN export...
IKE Profiles exported.
DPD Profiles exported.
Tunnel Profiles exported.
BGP neighbors exported.
VPN Local BGP exported.
L2 VPN exported.
L3 VPN exported.
VPN exported.
Export has been concluded. Thank you for using SDDC Import/Export for VMware Cloud on AWS.

jsonという名前のフォルダが生成され、各種データの入ったjsonが格納されていました。
例えば、Compute Gatewayの設定内容など細かい部分についても記録されており、設定値の保存用に良さそうです。

おわりに

SDDC Import/Export Toolを用いて、非常に簡単にSDDCの構成バックアップを取得することができました。
予期せぬ構成の変更を防ぐため、定期的なバックアップをお勧めします。

リストア編も近々実施できると思いますので、その際には追記いたします!
(追記) リストア編を執筆しました!

このエントリが誰かの助けになれば幸いです。
それでは、AWS事業本部 コンサルティング部の荒平(@0Air)がお送りしました!

参考

追記

このバックアップを自動化する手法を執筆しました!