0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS移行設計】VMware環境からEC2へソフトウェア・設定を完全保持したまま移行するVM Import/Export標準手順

0
Posted at

📌 はじめに

オンプレミスの VMware vSphere 環境で稼働している仮想マシンを AWS へ移行する際、最もシンプルかつ確実な手法が 「リホスト(Rehost / Lift-and-Shift)」 です。

特に、「レガシーな商用パッケージや複雑なミドルウェア設定が入っており、新しいOSへ再インストールできない」「既存のOS構成やソフトウェア設定を100%保持したままクラウドへ移行したい」という要件に対して、AWS 公式のイメージインポート機能である VM Import/Export を利用した標準移行パイプラインについて整理します。

1. 業務シナリオとコア要件の整理

業務背景

  • 移行元 (Source): オンプレミスデータセンターで稼働する VMware vSphere 仮想化基盤上の仮想マシン。
  • 移行先 (Destination): Amazon EC2(AWSクラウド)。

コア要件と制約条件

  1. OS・ソフトウェア設定の完全保持(Retain software and configuration settings):
    • クリーンなOSを再プロビジョニングしてアプリを再導入するのではなく、ディスクレベル・イメージレベルでOS状態、設定ファイル、依存パッケージを丸ごと引き継ぐ必要がある。
  2. 標準機能による完結:
    • サードパーティ製のエージェントを多数インストールすることなく、VMware の標準エクスポート機能と AWS の受管サービスを活用して移行を実現する。

2. アーキテクチャトポロジー

本構成では、VMware から出力した仮想ディスクイメージ(OVF/VMDK)を Amazon S3 経由で VM Import/Export エンジンへ渡し、ネイティブな Amazon Machine Image (AMI) を生成します。

┌────────────────────────────────────────────────────────┐
│               オンプレミスデータセンター (On-Premises)    │
│                                                        │
│  ┌──────────────────────────────────────────────────┐  │
│  │ VMware vSphere 環境                              │  │
│  │                                                  │  │
│  │   [ 本番仮想マシン (全ソフトウェア・設定を内包) ]    │  │
│  │              │                                   │  │
│  │              │ 1. 標準イメージ形式 (OVF / OVA) 変換 │  │
│  │              ▼                                   │  │
│  │   [ 仮想ディスクファイル (.ovf / .vmdk) ]         │  │
│  └──────────────┬───────────────────────────────────┘  │
└─────────────────┼──────────────────────────────────────┘
                  │ 2. 大容量ファイル転送 (HTTPS / S3 Transfer Acceleration)
                  ▼
┌────────────────────────────────────────────────────────┐
│               移行先 AWS Region (クラウド)              │
│                                                        │
│  ┌──────────────────────────────────────────────────┐  │
│  │ Amazon S3 バケット (OVF/VMDK イメージの一時保管)   │  │
│  └──────────────────────┬───────────────────────────┘  │
│                         │                              │
│                         │ 3. vmimport ロール権限で実行  │
│                         │    aws ec2 import-image      │
│                         ▼                              │
│  ┌──────────────────────────────────────────────────┐  │
│  │ AWS VM Import/Export サービス変換エンジン          │  │
│  │ (AWS用ドライバ注入、ブートローダーの変換処理)      │  │
│  └──────────────────────┬───────────────────────────┘  │
│                         │                              │
│                         │ 4. プライベート AMI を生成    │
│                         ▼                              │
│  ┌──────────────────────────────────────────────────┐  │
│  │ Amazon EC2 AMI (元のVMwareイメージと完全互換)     │  │
│  └──────────────────────┬───────────────────────────┘  │
│                         │                              │
│                         │ 5. インスタンスの起動         │
│                         ▼                              │
│  ┌──────────────────────────────────────────────────┐  │
│  │ Amazon EC2 稼働インスタンス (設定・ソフト100%保持) │  │
│  └──────────────────────────────────────────────────┘  │
└────────────────────────────────────────────────────────┘

3. なぜこの方式を採用するのか?(3大コアメカニズム)

① VMware 標準形式のネイティブサポート

  • VMware vSphere は、仮想マシンの状態を丸ごとパッケージ化する OVF(Open Virtualization Format) や OVA、VMDK 形式のエクスポートを標準でサポートしています。
  • 稼働中のOS内部を個別に解析・解体することなく、ハイパーバイザーレベルでカプセル化して抽出できます。

② VM Import/Export による標準インポート手順

  • AWS VM Import/Export は、既存の仮想マシンイメージを EC2 の起動テンプレートである AMI(Amazon Machine Image) へ直接変換する AWS 公式のマネージド変換エンジンです。
  • 標準的な3つのステップ:
  1. エクスポートした仮想ディスクファイルを Amazon S3 バケットへアップロード。
  2. 専用のサービスロール(vmimport)を作成し、S3 へのアクセス権限および EC2 AMI 生成権限を付与。
  3. AWS CLI で aws ec2 import-image を実行。バックエンドで仮想マシンのストレージボリュームが EBS スナップショットへ変換され、AMI が自動生成される。

③ 構成・データの無損失継承

  • 生成された AMI には、オンプレミス環境の OS 状態、レジストリ、ミドルウェア設定、静的ファイルがディスクイメージ単位でそのまま保持されます。
  • インスタンス起動時に必要な ENA ドライバ(Elastic Network Adapter)や AWS 向けのストレージドライバは変換プロセス中に自動注入されるため、起動後の追加設定の手間を最小限に抑えつつ、要件である「ソフトウェアおよび設定の完全保持」を確実に達成できます。

4. 構築手順とコマンド例(AWS CLI)

Step 1: vmimport 用の IAM サービスロール設定

VM Import/Export サービスが S3 バケットのイメージを読み込み、EBS スナップショットを作成するためのロールを作成します。

信頼ポリシー (trust-policy.json)

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": { "Service": "vmie.amazonaws.com" },
         "Action": "sts:AssumeRole",
         "Condition": {
            "StringEquals":{
               "sts:Externalid": "vmimport"
            }
         }
      }
   ]
}

ロール作成とポリシー適用

# IAM ロールの作成
aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json

# S3バケットおよびEBS操作権限を定義したポリシーをアタッチ
cat << 'EOF' > role-policy.json
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::my-migration-bucket-tokyo",
            "arn:aws:s3:::my-migration-bucket-tokyo/*"
         ]
      },
      {
         "Effect": "Allow",
         "Action": [
            "ec2:ModifySnapshotAttribute",
            "ec2:CopySnapshot",
            "ec2:RegisterImage",
            "ec2:Describe*"
         ],
         "Resource": "*"
      }
   ]
}
EOF

aws iam put-role-policy --role-name vmimport --policy-name vmimport-policy --policy-document file://role-policy.json

Step 2: イメージインポートタスクの実行

S3 バケットへアップロード済みのディスクイメージ(例: my-vm-disk.vmdk)を指定してインポートを開始します。

インポート設定 (containers.json)

[
  {
    "Description": "Migrated VMware VM",
    "Format": "vmdk",
    "UserBucket": {
        "S3Bucket": "my-migration-bucket-tokyo",
        "S3Key": "imports/my-vm-disk.vmdk"
    }
  }
]

インポート実行と進捗確認

# インポートタスクの開始
aws ec2 import-image --description "VMware to EC2 Migration" --disk-containers file://containers.json

# 出力された ImportTaskId を指定して進捗を確認
aws ec2 describe-import-image-tasks --import-task-ids import-ami-1234567890abcdef0

変換プロセスが completed になると、ImageId(例: ami-0a1b2c3d4e5f60000)が出力され、即座に EC2 インスタンスを起動できる状態になります。

5. 設計上の注意点と移行手法の選定基準

移行手法 メリット デメリット / 適用シーン
VM Import/Export (本構成) エージェントレス。vSphere からエクスポートしたディスクイメージを丸ごとインポート可能。構成保持に最適。 イメージのエクスポート・アップロード中に静止点が必要となるため、ある程度の停止時間(オフライン移行)を許容できるバッチ系・単発移行向け。
AWS Application Migration Service (MGN) 稼働中のOS上でエージェントを動かし、ブロック単位の継続的レプリケーションを実施。ダウンタイムを分単位に短縮。 オンラインで無停止・最小停止時間での切り替えが必須となる、高可用性が求められる本番システム向け。

6. まとめ

  • 設定の完全保持: VMware の仮想ディスクをそのまま AMI へ変換するため、既存のミドルウェア・OS設定・データを失うことなく確実に引き継ぎ可能。
  • 標準パイプライン: vSphere エクスポート ➔ S3 アップロード ➔ aws ec2 import-image (vmimport) の3ステップで完結。
  • エージェントレスの優位性: 稼働中のゲストOS内部を過度に汚すことなく、ディスク単位で安全にクラウドへ移行できる。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?