インフラ管理に関わる煩雑なタスクはできるだけ自動化したいものです。今回は VMware Cloud on AWS のインフラ設定を自動化するツール 「SDDC Import /Export for VMware Cloud on AWS」(以下 SDDC Import /Export)をご紹介します。Software-Defined Data Center(SDDC) の Firewall やネットワークなどの設定を自動化し、素早く利用環境を準備するようなニーズに最適です。
目次
- SDDC Import/Exportとは?
- SDDC Import/Export for VMware Cloud on AWS の使用方法
- SDDC の設定情報のエクスポート
- SDDC の設定情報のインポート
SDDC Import/Export とは?
SDDC Import/Export は、SDDC の設定情報をテキストに変換し保持し、その設定を繰り返し適用できるツールです。例えば、セグメントや Firewall ルール、グループ、VPN、vCenter のフォルダ情報などを取得しておき、新しい SDDC に全ての設定を一括で適用することができます。このツールは、SDDC のバックアップや移行、災害対策などで活用すると大きな効果を発揮します(図1)。
図1 SDDC Import/Export の活用イメージ
SDDC Import/Export は、VMware 社内のエンジニアやコミュニティから提供されているツールであり、どなたでも無償で利用できます。このツールは、SDDC へ API で接続できる環境(PC など)にダウンロードして使用します。今回ご紹介する内容は SDDC Import/Export バージョン1.6.0、VMware Cloud on AWS バージョン1.16を使用しています。
システム要件
- Python3
- Windows やMac OS、Linuxなどのクライアント
SDDC Import/Export for VMware Cloud on AWS の使用方法
ここから SDDC Import/Export を使って、設定済みの SDDC から情報を取得して、適用するまでの流れをご紹介します(図2)。初めにインストールの流れを見てみましょう。より詳細なインストール手順は、「VMware Flings – SDDC Import/Export for VMware Cloud on AWS」をご覧ください。
図2 SDDC Import/Export の流れ
1. SDDC Import/Export のダウンロード
先ずはツールをダウンロードします。こちらからファイル(Zip 形式)を SDDC Import/Export の実行環境(ローカルの PC など)にダウンロードし展開します。
2. インストール
コンソールまたはコマンドプロンプトを起動します。展開されたディレクトリに移動し、下記コマンドを入力しインストールを実行します。
Mac の場合
pip3 install -r requirements.txt
Windows の場合
python -m pip install -r requirements.txt
3. vmc.ini の設定
次に SDDC へアクセスするためのリフレッシュトークン(API トークン)とエクスポート元、インポート先の組織、SDDC 情報を ”vmc.ini” に記述し保存します。API トークンについては以前のブログをご参照ください。(インポート先の SDDC がない場合はインポート先の情報は省きます。
4. config.ini の設定
config.ini ファイルを編集し、エクスポート、インポート対象に含めるかどうかを “True” または ”Fales” で指定します 。下記の例では nat_export が ”True” なので NAT ルールをエクスポートする設定になっています。エクスポートしない場合は ”False” を記入します。
vCenter のフォルダ情報をエクスポート、インポートする場合は下記項目を ”True” に変更します。
次に必要に応じて Sync Mode の設定を変更します。この値を ”True” とすることで、インポートする際にインポート先の SDDC の設定が予めエクスポートしておいた構成情報で上書きされます。デフォルトの値は ”False” になっています。(パブリック IP と NAT のマッピングはサポートされていませんのでご注意ください。)
importConfig のインポートモードはデフォルトでは ”test” になっています。“test” のままでは変更が適用されません。実際に SDDC に対してインポートを実行する場合は ”live” に変更します。また、”import_mode_live_warning” はデフォルトでは ”True” となっていて、インポートを本当に実行しても良いか、警告メッセージが表示されます。この表示が不要な場合は値を ”False” に変更します。
5. aws.ini の設定
エクスポートしたファイルを AWS の S3 ストレージにアーカイブとして保存する場合は、”aws.ini” に S3 バケット名、バケットへの書き込み権限を持つ認証情報を記述します。
6. vcenter.ini の設定
vCenter のフォルダ情報をエクスポートまたはインポートする場合は、”vcenter.ini” にエクスポート元のvCenter の情報やインポート先の vCenter の情報を記述します。
SDDC の設定情報のエクスポート
ここまで来れば準備完了です。さっそく SDDC の設定情報をエクスポート(ファイルに出力)してみましょう。 出力すると対象の設定情報を全てコードで取得できます。エクスポートは以下の手順で実行できます。
1. SDDC 設定情報のエクスポート
下記コマンドを実行し SDDC の設定情報をエクスポートします。
python3 sddc_import_export.py -o export
SDDC 全ての設定のエクスポートを有効にしている場合、”json” ディレクトリ配下に以下のファイルが生成されます。
・ Service.json
・ cgw_group.json
・ cgw-networks.json
・ cgw.json
・ dfw_details.json
・ dfw.json
・ mgw_groups.json
・ mgw.json
・ natrules.json
・ public.json
・ s3-service_access.json
・ sddc_info.json
・ service_access.json
・ services.json
・ vpn-bgp.json
・ vpn-dpd.json
・ vpn-ike.json
・ vpn-l2.json
・ vpn-l3.json
・ vpn-local-bgp.json
・ vpn-tunnel.json
2. vCenter フォルダ情報のエクスポート
下記コマンドを実行し vCenter のフォルダ情報をエクスポートします。
python3 sddc_import_export.py -o export-vcenter
エクスポートが完了すると、”json” ディレクトリ配下に以下のファイルが生成されます。
・ vcenterfolderpaths.json
SDDC の設定情報のインポート
エクスポートを実行すると、SDDC の設定情報がファイルとして出力できました。次に、新しい SDDC に対して設定情報を反映(インポート)してみましょう。インポートは以下の手順で実行できます。
1. SDDC 設定情報のインポート
下記コマンドを実行し、予めエクスポートした設定情報を適用対象の SDDC にインポートします。
sddc_import_export.py -o import
config.ini の importConfig で import_mode_live_warning を ”Ture” としていた場合は、実行前に確認を求めるプロンプトが表示されます。ここでは ”y” を入力しイてインポートを継続します。
2. vCenter フォルダ情報のインポート
下記コマンドを実行し、予めエクスポートしてた vCenter のフォルダ情報を適用対象の SDDC にインポートします。
sddc_import_export.py -o import-vcenter
まとめ
今回ご紹介した SDDC Import/Export for VMware Cloud on AWS を使用いただくことで、SDDC のバックアップや SDDC の移行、災害対策といったシーンで活用できます。自動化を極めて、さらに利便性を向上させるツールとしてご活用ください。