Amazon Web Services ブログ
Import/Export for NSX によるネットワーク構成データのエクスポート
本稿は、2024 年 12 月 3 日に AWS Migration & Modernization Blog で公開された “Exporting network configuration data with Import/Export for NSX” を翻訳したものです。
Import/Export for NSX は、新しい AWS オープンソースツールで、VMware Cloud on AWS (VMC-A) またはオンプレミスの VMware Cloud Foundation (VCF) の環境から、VMware NSX 構成を ZIP ファイルにエクスポートできます。エクスポートした ZIP ファイルを、Amazon Q Developer transformation capabilities for VMware にインポートすることができます。Q Developer は、NSX 構成を、VPC、サブネット、セキュリティグループなどの AWS ネイティブな構成要素に変換します。このブログ記事では、NSX-T 構成のエクスポートプロセスについて説明します。また、Q Developer で新しくリリースされた VMware 機能については、概要ブログと使用開始ガイドを公開しています。
Import/Export for NSX の前提条件
- Python3 – ローカル環境に Python3 (バージョン 3.10 以上) をダウンロードしてインストールします。
- Import/Export for NSX – GitHub で利用可能
- Git をご存知であれば、リポジトリをローカル環境にクローンします。
git clone https://github.com/awslabs/import-export-for-nsx.git
- Git を利用していない場合は、リリースページから最新のリリースを ZIP 形式でダウンロードし、ローカル環境で解凍します。
- Git をご存知であれば、リポジトリをローカル環境にクローンします。
- Python3 をインストールした後は、Python の仮想環境を有効にすることを検討してください。必須ではありませんが、推奨されるベストプラクティスです。Python の仮想環境機能を使用することで、このプログラムで使用されるライブラリがローカル環境上の既存のバージョンと競合するのを防ぐことができます。初めて Python をインストールしたために競合がない場合でも、仮想環境の使用方法を学ぶことで、より多くの Python プロジェクトを使用する意欲が湧くかもしれません。仮想環境を使用することで、将来の技術検証がより容易になります。
cd import-export-for-nsx python3 -m venv .venv source .venv/bin/activate
cd import-export-for-nsx python -m venv venv .\venv\Scripts\Activate.ps1
- 必要な Python ライブラリをインストールします。
pip3 install -r requirements.txt
python -m pip install -r .\requirements.txt
コマンドを実行すると、スクリーンショットでは出力が省略されていますが、このようにインストールされます:
図 3 : Python ライブラリのインストール状況を示すターミナルウィンドウ
重要:VMware Cloud on AWS からエクスポートする場合は、次のセクションをお読みください。オンプレミスの NSX からエクスポートする場合は、その次のセクションにお進みください。
ステップ 1a – VMware Cloud on AWS から NSX 設定をエクスポートする
- VMware Cloud on AWS トークンを生成します。このトークンには、VMware Cloud on AWS Administrator ロールと VMware Cloud on AWS NSX Cloud Admin ロールが必要です。
- VMware Cloud on AWS SDDC から組織 ID と SDDC ID を取得します。これらは SDDC のサポートタブで確認できます。
- 環境変数を作成します。
EXP_source_refresh_token="xxxxx" export EXP_source_refresh_token EXP_source_org_id="xxxxx" export EXP_source_org_id EXP_source_sddc_id="xxxxx" export EXP_source_sddc_id
$env:EXP_source_refresh_token = "xxxxx" $env:EXP_source_org_id = "xxxxx" $env:EXP_source_sddc_id = "xxxxx"
ステップ 1b – オンプレミス NSX から NSX 設定をエクスポートする
- /config_ini フォルダ内の vmc.ini を探します。auth_mode の値を local に、nsx_endpoint_type の値を nsx に変更します。
- NSX Manager の URL を確認します。また、ツールに NSX Manager の認証情報を入力する必要があります。VMware Cloud on AWS とは異なり、オンプレミスの NSX からエクスポートを行う場合は、管理者権限が必要ありません。読み取り専用の NSX 監査ユーザーを使用することができます。
- 環境変数を作成します。
EXP_srcNSXmgrURL=https://nsxmgr.fqdn.com export EXP_srcNSXmgrURL EXP_srcNSXmgrUsername="admin" export EXP_srcNSXmgrUsername EXP_srcNSXmgrPassword="password-for-admin" export EXP_srcNSXmgrPassword
$env:EXP_srcNSXmgrURL = “https://nsxmgr.fqdn.com” $env:EXP_srcNSXmgrUsername = "admin" $env:EXP_srcNSXmgrPassword = "password-for-admin"
ステップ 2 – エクスポートの実行
VMware Cloud on AWS からエクスポートする場合でも、オンプレミスの NSX からエクスポートする場合でも、同じコマンドを実行します。
python3 nsx_import_export.py -o export
python ./nsx_import_export.py -o export
エクスポートコマンドの開始と終了:
図 5 :エクスポートコマンドの開始を示すターミナルウィンドウ
図 6 :エクスポートコマンドの終了を示すターミナルウィンドウ
プログラムが _json-export.zip で終わる名前の圧縮ファイルを /json ディレクトリに配置します。このファイルを Amazon Q Developer transformation capabilities for VMware で使用することができます。Amazon Q Developer transformation capabilities for VMware の詳細については、こちらのテクニカルウォークスルーをご参照ください。
クリーンアップ
環境をクリーンアップするには、以下の手順を実行します:
- 認証情報をメモリから消去するため、ターミナルウィンドウを閉じます。
- /json ディレクトリ内にある _json-export.zip で終わる名前の圧縮ファイルを削除します。
- ツールを再度使用する必要がない場合は、プロジェクトフォルダー全体とコンテンツ全体を削除することができます。
まとめ
Import/Export for NSX は、AWS のオープンソースプロジェクトで、オンプレミスまたは VMware Cloud on AWS の NSX 構成をエクスポートできます。このブログ記事では、GitHub で利用可能な Import/Export for NSX ツールを使用して、NSX の構成をエクスポートするためのステップバイステップガイドを提供しています。このクラウド移行の重要な側面を効率化することで、Amazon は VMware ワークロードの AWS への移行を加速・簡素化する革新的な顧客中心のソリューションを提供することへのコミットメントを示し続けています。私たちの言葉を信じるだけでなく、今すぐツールを試してみてください! Amazon ではお客様から逆算して考えているため、このツールを使用する中でのフィードバックをお待ちしています。お客様のご意見は、私たちが常に最高のエクスペリエンスを提供できるよう、継続的な改善とイテレーションに役立てさせていただきます。
翻訳をソリューションアーキテクトの Furuya が担当しました。原文はこちらです。