翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Power を使用してHCXオートメーションVMwareVMsに移行するCLI
Giri Nadiminty (AWS)、Hassan Adekoya (AWS)、および Naveen Deshwal によって作成されました
環境:本稼働 | ソース: オンプレミスまたはクラウドベースの VMware vCenter または SDDC | ターゲット: VMware Cloud on AWS |
R タイプ:リホスト | ワークロード:その他すべてのワークロード | テクノロジー:移行、ハイブリッドクラウド |
AWS サービス: VMware Cloud on AWS |
[概要]
注意: 2024 年 4 月 30 日現在、VMwareCloud on AWS は AWS またはそのチャネルパートナーによって再販されなくなりました。サービスは引き続き Broadcom を通じて利用できます。詳細については、 AWS 担当者にお問い合わせください。 |
このパターンでは、VMwarePowerCLI スクリプトAWSを搭載した VMware Hybrid Cloud Extension (VMs) オートメーションを使用してVMware、オンプレミスの仮想マシン (HCX) を VMware Cloud on に移行する方法について説明します。PowerCLI
このパターンは、、ソフトウェア定義データセンター (SDDCs)vCenters、クラウド環境の任意の組み合わせ間で移行するように適応できます。このパターンに含まれる PowerCLI スクリプトは、すべての VM 設定およびスケジューリングタスクでマウスクリックの代わりに自動化を使用するため、移行アクティビティの時間を節約し、ヒューマンエラーのリスクを減らすのに役立ちます。
前提条件と制限
前提条件
AWS アカウント上の VMware クラウド SDDC
既存のオンプレミスまたはクラウドベースの vCenter または SDDC
送信元と送信先に必要なアクセス許可を持つユーザーアカウント、 vCenters または SDDCs
HCX 送信
元と送信先の間で設定された HCX Network Extension (HCX-NE) vCenters または SDDCs 選択したサーバーにインストールされたVMware電力CLI
制約事項
ソースがクロス vCenter を使用する場合vCenter NSX、PowerCLI モジュールは機能しません。Power HCXAPIの代わりに でスクリプトメソッド (Python など) を使用しますCLI。
移行した に新しい名前または IP アドレスVMsが必要な場合は、 でスクリプト作成方法 (Python など) HCX を使用しますAPI。
このパターンでは、必須な.csv ファイルに入力されません。VMware vRealize Network Insight (v RNI) またはその他の方法を使用して、ファイルを入力できます。
製品バージョン
VMware vSphere バージョン 5 以降
VMware HCX バージョン 4.4 以降
VMware パワーCLIバージョン 12.7 以降
アーキテクチャ
ソーステクノロジースタック
オンプレミスまたはクラウドベースの VMware
ターゲットテクノロジースタック
VMware クラウドオン AWS
ターゲット アーキテクチャ
ツール
AWS サービス
VMware Cloud on AWS
は、 AWSと が共同で設計したサービスでVMware、オンプレミスVMwarevSphereベースの環境を AWS クラウドに移行して拡張するのに役立ちます。
その他のツール
VMware Hybrid Cloud Extension (HCX
) は、基盤となるプラットフォームを変更AWSすることなく、オンプレミスVMware環境から VMware Cloud on にワークロードを移行するためのユーティリティです。注: この製品は、以前は Hybrid Cloud Extension および NSX Hybrid Connect と呼ばれていました。このパターンは、VM の移行HCXに を使用します。 VMware PowerCLI
は、自動化VMware vSphere と vCloud 管理のためのコマンドラインツールです。 PowerShell コマンドレット PowerShell を使用して Windows で PowerCLI コマンドを実行します。このパターンでは、PowerCLI を使用して移行コマンドを実行します。
コード
シンプルで自己完結型のスクリプト
この単一マシンのスクリプトを初期テストに使用して、設定オプションが受け入れられ、期待どおりに動作することを確認することを推薦します。手順については、エピックセクションを参照してください。
<# Manual Variables #> $HcxServer = "[enterValue]" $SrcNetworkName = "[enterValue]" $DstNetworkName = "[enterValue]" $DstComputeName = "[enterValue]" $DstDSName = "[enterValue]" $DstFolderName = "[enterValue]" $vmName = "[enterValue]" <# Environment Setup #> Connect-HCXServer -Server $HcxServer $HcxDstSite = Get-HCXSite -Destination $HcxSrcSite = Get-HCXSite -Source $SrcNetwork = Get-HCXNetwork -Name $SrcNetworkName -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork -Name $DstNetworkName -Type NsxtSegment -Site $HcxDstSite $DstCompute = Get-HCXContainer -Name $DstComputeName -Site $HcxDstSite $DstDS = Get-HCXDatastore -Name $DstDSName -Site $HcxDstSite $DstFolder = Get-HCXContainer -name $DstFolderName -Site $HcxDstSite $vm = Get-HCXVM -Name $vmName <# Migration #> $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM $vm -MigrationType vMotion -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDS -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True
フル機能の.csv ベースのスクリプト
テストが完了した後、以下のスクリプトを実稼働環境で使用できます。手順については、エピックセクションを参照してください。
<# Schedule #> write-host("Getting Time for Scheduling") $startTime = [DateTime]::Now.AddDays(12) $endTime = [DateTime]::Now.AddDays(15) <# Migration #> Connect-HCXServer -Server [enterValue] write-host("Getting Source Site") $HcxSrcSite = Get-HCXSite write-host("Getting Target Site") $HcxDstSite = Get-HCXSite -Destination $HCXVMS = Import-CSV .\Import_VM_list.csv ForEach ($HCXVM in $HCXVMS) { $DstFolder = Get-HCXContainer $HCXVM.DESTINATION_VM_FOLDER -Site $HcxDstSite $DstCompute = Get-HCXContainer $HCXVM.DESTINATION_COMPUTE -Site $HcxDstSite $DstDatastore = Get-HCXDatastore $HCXVM.DESTINATION_DATASTORE -Site $HcxDstSite $SrcNetwork = Get-HCXNetwork $HCXVM.SOURCE_NETWORK -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork $HCXVM.DESTINATION_NETWORK -Type NsxtSegment -Site $HcxDstSite $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM (Get-HCXVM $HCXVM.VM_NAME) -MigrationType Bulk -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDatastore -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True -ScheduleStartTime $startTime -ScheduleEndTime $endTime Start-HCXMigration -Migration $NewMigration -Confirm:$false }
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
送信元と送信先 vCenter 、SDDCサーバー名を検索します。 | パワーCLIスクリプトには、このエピックで説明されている変数が必要です。この情報は、スクリプトを使いやすくするために事前に収集できます。 vSphere コンソールの HCXセクションで、Infrastructure 、Site Pairing を選択します。表示されている移行元と移行先のサーバー名をメモします。 | クラウドアーキテクト |
ソース名と宛先HCX名を検索します。 | vSphere コンソールの HCXセクションで、System 、Administration を選択します。表示されるソース名と宛先HCX名を書き留めます。 | クラウドアーキテクト |
移行元と移行先のネットワーク名を見つけます。 | vSphere コンソールの HCXセクションで、System 、Network Extension を選択します。移行元と移行先のネットワーク名をメモします。 注: 代わりに、HCXサーバーに接続した後に PowerCLI Get-HCXNetwork and GetHCXNetwork-Destination コマンドを使用して、送信元と送信先のネットワーク名を取得できます。 | クラウドアーキテクト |
vSphere コンソールから追加情報を収集します。 | vSphere コンソールで、次の情報を収集します。
| クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
移行オプションを決定します。 | 以下を決定します。
各オプションの詳細については、 デVMwareベロッパードキュメント | クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
スクリプトをコピーします。 | 簡易版のスクリプトは 1 つのファイルにまとめられています。これを使用して 1 台のマシンの移行をテストできます。 このパターンの Code セクションから最初のスクリプトをコピーし、VMwarePowerCLI モジュールがインストールされているコンピュータに保存します。(Power をインストールするにはCLI、 VMwareドキュメント | クラウドアーキテクト |
スクリプト変数を設定します。 |
| クラウドアーキテクト |
移行変数を設定します。 | スクリプトの | クラウドアーキテクト |
サイトを指定します。 | (オプション) 移行元、または移行先に複数のサイトがある場合、スクリプトの ソースとターゲットのサイトが 1 つの場合、スクリプトは自動的に情報を検索します。 | クラウドアーキテクト |
スクリプトを実行します。 | PowerCLI がインストールされているサーバーで、昇格 PowerShell ウィンドウからスクリプトを実行し、プロンプトが表示されたら認証情報を入力します。 | クラウドアーキテクト |
スクリプトを検証します。 | VM の移行が開始されたことを確認します。 | クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
.csv ファイルを作成して入力します。 | コンピューター上で
.csv ファイルの各 注: Network VMware vRealize Insight (v RNI) またはその他の方法を使用して .csv ファイルを入力できます。 | クラウドアーキテクト |
スクリプトをコピーします。 | スクリプトの全機能バージョンでは、外部 .csv ファイルからの情報を使用して、複数の を自動的に移行しますVMs。 このパターンの Code セクションから 2 番目のスクリプトをコピーし、VMwarePowerCLI モジュールがインストールされているコンピュータに .csv ファイルと同じフォルダに保存します。 | クラウドアーキテクト |
スクリプトを修正します。 | スクリプトを編集し、以下の変更を行います。
| クラウドアーキテクト |
スクリプトを実行します。 | PowerCLI がインストールされているサーバーで、昇格 PowerShell ウィンドウからスクリプトを実行し、プロンプトが表示されたら認証情報を入力します。 | クラウドアーキテクト |
スクリプトを検証します。 | VM の移行が開始されたことを確認します。 | クラウドアーキテクト |
トラブルシューティング
問題 | ソリューション |
---|---|
スクリプトが失敗し、次のエラーメッセージが表示されます。 「すべてのソースネットワークがターゲットにマップされていません!」 | ソースがクロス vCenter を使用する場合vCenter NSX、PowerCLI モジュールは機能しません。Power HCXAPIの代わりに でスクリプトメソッド (Python など) を使用しますCLI。これは PowerCLI スクリプトの既知の制限です。 |
スクリプトが失敗し、次のエラーメッセージが表示されます。 「接続 -HCXServer エラー: 未承認」 | 入力された認証情報には必要な権限がありません。 |