VM Import/Export の要件 - VM Import/Export

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

VM Import/Export の要件

VM のインポートを試みる前に、必要な操作を行って、以下の要件を満たします。また、適切なアクセス許可を持つサービスアカウントを作成して AWS 環境を準備し、ローカルにホストされた VM を準備して、AWS にインポート後にアクセス可能になるようにする必要があります。

システム要件

開始する前に、VM Import/Export でサポートされているオペレーティングシステムとイメージ形式を認識し、インポートするインスタンスおよびボリュームに関する制限事項を理解する必要があります。

イメージ形式

VM Import/Export では、ディスクと VM の両方のインポート用に以下のイメージ形式がサポートされています。

  • Open Virtual Appliance (OVA) イメージ形式。複数のハードディスクで構成されたイメージのインポートがサポートされています。

  • ストリームに最適化された ESX Virtual Machine Disk (VMDK) イメージ形式。VMware ESX および VMware vSphere 仮想化製品と互換性があります。

  • 固定および動的 Virtual Hard Disk (VHD/VHDX) イメージ形式。Microsoft Hyper-V、Microsoft Azure、および Citrix Xen 仮想化製品と互換性があります。

  • ディスクと VM のインポート用の RAW 形式。

オペレーティングシステム

次のオペレーティングシステムは、Amazon EC2 とのインポートおよびエクスポートが可能です。リージョンがデフォルトで有効になるかどうかの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド利用できるリージョンを参照してください。

Windows (リージョンはデフォルトで有効)

  • Microsoft Windows Server 2003 (Standard、Datacenter、Enterprise) (Service Pack 1 を適用済み) 以降 (32 ビットと 64 ビット)

  • Microsoft Windows Server 2003 R2 (Standard、Datacenter、Enterprise) (32 ビットと 64 ビット)

  • Microsoft Windows Server 2008 (Standard、Datacenter、Enterprise) (32 ビットと 64 ビット)

  • Microsoft Windows Server 2008 R2 (Standard、Web Server、Datacenter、Enterprise) (64 ビットのみ)

  • Microsoft Windows Server 2012 (Standard、Datacenter) (64 ビットのみ)

  • Microsoft Windows Server 2012 R2 (Standard、Datacenter) (64 ビットのみ) (Nano Server のインストールはサポートされていません)

  • Microsoft Windows Server 2016 (Standard、Datacenter) (64 ビットのみ)

  • Microsoft Windows Server 1709 (Standard、Datacenter) (64 ビットのみ)

  • Microsoft Windows Server 1803 (Standard、Datacenter) (64 ビットのみ)

  • Microsoft Windows Server 1803 (Standard、Datacenter) (64 ビットのみ)

  • Microsoft Windows 7 (Home、Professional、Enterprise、Ultimate) (英語版) (32 ビットと 64 ビット)

  • Microsoft Windows 8 (Home、Professional、Enterprise) (米国英語版) (32 ビットと 64 ビット)

  • Microsoft Windows 8.1 (Professional、Enterprise) (米国英語版) (64 ビットのみ)

  • Microsoft Windows 10 (Home、Professional、Enterprise、Education) (米国英語版) (64 ビットのみ)

Windows (リージョンはデフォルトで有効になりません) (64 ビットのみ)

  • Microsoft Windows Server 2008 R2 (Standard、Web Server、Datacenter、Enterprise)

  • Microsoft Windows Server 2012 (Standard、Datacenter)

  • Microsoft Windows Server 2012 R2 (Standard、Datacenter) (Nano Server のインストールはサポートされていません)

  • Microsoft Windows Server 2012 (Standard、Datacenter)

  • Microsoft Windows Server 2012 (Standard、Datacenter)

  • Microsoft Windows Server 2012 (Standard、Datacenter)

  • Microsoft Windows Server 2012 (Standard、Datacenter)

  • Microsoft Windows 7 (Home、Professional、Enterprise、Ultimate) (米国英語版)

  • Microsoft Windows 8 (Home、Professional、Enterprise) (米国英語版)

  • Microsoft Windows 8.1 (Professional、Enterprise) (米国英語版)

  • Microsoft Windows 10 (Home、Professional、Enterprise、Education) (米国英語版)

Linux/Unix (64 ビットのみ)

  • Amazon Linux 2

  • CentOS 5.1-5.11、6.1~6.8、7.0~7.9、8.0~8.2

  • Debian 6.0.0~6.0.8、7.0.0~7.8.0、8.0.0

  • Fedora Server 19~21

  • Oracle Linux 5.10-5.11 (kernel サフィックス el5uek)

  • Oracle Linux 6.1-6.10 (RHEL 互換の kernel 2.6.32 または UEK kernels 3.8.13、4.1.12 を使用)

  • Oracle Linux 7.0-7.6 (RHEL 互換の kernel 3.10.0 または UEK kernels 3.8.13、4.1.12、4.14.35、4.15、5.4.17 を使用)

  • Red Hat Enterprise Linux (RHEL) 5.1-5.11、6.1-6.9、7.0-7.9、8.0-8.2

  • SUSE Linux Enterprise Server 11 Service Pack 1 およびカーネル 2.6.32.12-0.7

  • SUSE Linux Enterprise Server 11 Service Pack 2 およびカーネル 3.0.13-0.27

  • SUSE Linux Enterprise Server 11 Service Pack 3 およびカーネル 3.0.76-0.11、3.0.101-0.8、または 3.0.101-0.15

  • SUSE Linux Enterprise Server 11 Service Pack 4 およびカーネル 3.0.101-63

  • SUSE Linux Enterprise Server 12 およびカーネル 3.12.28-4

  • SUSE Linux Enterprise Server 12 Service Pack 1 およびカーネル 3.12.49-11

  • SUSE Linux Enterprise Server 12 Service Pack 2 およびカーネル 4.4

  • SUSE Linux Enterprise Server 12 Service Pack 3 およびカーネル 4.4

  • SUSE Linux Enterprise Server 12 Service Pack 4 およびカーネル 4.12

  • SUSE Linux Enterprise Server 12 Service Pack 5 およびカーネル 4.12

  • SUSE Linux Enterprise Server 15 カーネル 4.12

  • SUSE Linux Enterprise Server 15 Service Pack 1 およびカーネル 4.12

  • SUSE Linux Enterprise Server 15 Service Pack 2 およびカーネル 5.3

  • Ubuntu 12.04、12.10、13.04、13.10、14.04、14.10、15.04、16.04、16.10、17.04、18.04、20.04 (サポート対象の kernel あり)。例えば、Ubuntu 18.04 には kernel 4.15 が必要です。

ブートモード

コンピュータが起動して最初に実行されるソフトウェアが、プラットフォームの初期化を行い、そのプラットフォーム固有の操作を実行するためのオペレーティングシステム用のインタフェースを提供する必要があります。VM Import/Export では、ブートモードの 2 つのバリアントがサポートされています。統合拡張ファームウェアインターフェイス (UEFI) およびレガシー BIOS。オプションを指定するかどうかを選択できます。--boot-modeパラメータとしてlegacy-biosまたはuefiVM をインポートするとき。

を参照してください。ブートモードの セクションAmazon Elastic Compute Cloud ユーザーガイドブートモードと UEFI 変数の指定の詳細については、を参照してください。

ボリュームタイプとファイルシステム

VM Import/Export は、以下のファイルシステムを使用する Windows および Linux VM のインポートをサポートしています。

Windows

NTFS ファイルシステムを使用してフォーマットされた GUID パーティションテーブル (GPT) およびマスターブートレコード (MBR) でパーティション分割されたボリュームがサポートされます。ブートパラメータが指定されておらず、仮想マシンが両方のブートモードで互換性がある場合、GPT ボリュームは MBR パーティションボリュームに変換されます。

注記

仮想マシンのインポート/エクスポートは、Windows 仮想マシンが互換性のあるブートモードを自動的に検出します。Windows VM がシングルブートモードでのみ互換性がある場合は、特定の仮想マシンを指定する必要はありません。--boot-modeパラメータ。

Windows 仮想マシンが両方のブートモードと互換性があり、インポートされたディスクで次の条件が満たされている場合、仮想マシンのインポート/エクスポートではデフォルトでレガシー BIOS が選択されます。次のを指定できます。uefi向けの--boot-modeパラメータを使用して、この動作を上書きします。

  • ディスクが 2 テラバイトより小さい

  • ディスクには 4 つ以上のプライマリパーティションが含まれていない

  • ディスクは Windows ダイナミックディスクではない

  • ファイル形式はVHDXです。

Linux/UNIX

ext2、ext3、ext4、Btrfs、JFS、または XFS ファイルシステムを使用してフォーマットされた MBR パーティションボリュームと GUID パーティションテーブル (GPT) でパーティション分割されたボリュームがサポートされます。

重要

Btrfs サブボリュームはサポートされていません。

ライセンスオプション

新しい VM Import タスクを作成する場合は、2 つのオプションがあります。--license-type または --usage-operation パラメータに値を指定することができます。これらのパラメータのいずれか 1 つの値のみを指定できます。両方のパラメータに値を指定すると、エラーが返されます。--usage-operation を使って、OS と SQL Server のライセンスをブレンドすることができます。

ライセンスタイプの指定

--license-type パラメータには以下の値を指定できます。

  • Auto (デフォルト)

    ソースシステムのオペレーティングシステム (OS) を検出し、移行された仮想マシン (VM) に適切なライセンスを適用します。

  • AWS (ライセンス込み)

    移行された VM で、必要に応じてソースシステムのライセンスを AWS のライセンスに置き換えます。

  • BYOL

    移行された VM で、必要に応じてソースシステムのライセンス維持します。

注記

VM と互換性のないライセンスタイプを選択すると、VM Import タスクはエラーメッセージを表示して失敗します。詳細については、以下の OS 固有情報を参照してください。

--license-type パラメータを設定しないままにすると、Auto を選択したことと同じになります。

例えば、ライセンスタイプを AWS ライセンスとして指定する場合は、以下のコマンドを実行します。

aws ec2 import-image --license-type aws --disk-containers Format=OVA,Url=S3://bucket_name/sql_std_image.ova

使用オペレーションの指定

重要

AWS は、提供された情報でソフトウェアのエディションにスタンプを作成します。AWS で使用する自分のライセンスのソフトウェアのエディション情報を正しく入力するのは各自の責任です。

--usage-operation パラメータには以下の値を指定できます。

プラットフォームの詳細

使用オペレーション**

Windows Server ライセンス込み、SQL Server なし

RunInstances:0002

Windows Server ライセンス込み、SQL Server (任意のエディション) BYOL

RunInstances:0002

Windows Server ライセンス込み、SQL Server Standard ライセンス込み

RunInstances:0006

Windows Server ライセンス込み、SQL Server Enterprise ライセンス込み RunInstances:0102
Windows Server ライセンス込み、SQL Server Web ライセンス込み RunInstances:0202
Windows Server BYOL、SQL Server なし RunInstances:0800
Windows Server BYOL、SQL (任意のエディション) BYOL RunInstances:0800
Linux/UNIX、SQL Server なし RunInstances
Linux/UNIX、SQL Server (任意のエディション) BYOL RunInstances
Linux/UNIX、SQL Server Enterprise ライセンス込み RunInstances:0100
Linux/UNIX、SQL Server Standard ライセンス込み RunInstances:0004
Linux/UNIX、SQL Server Web ライセンス込み RunInstances:0200

** スポットインスタンス を実行している場合、AWS のコストと使用状況レポートの lineup/Operation は、ここに記載されている [使用操作] の値と異なる場合があります。

例えば、SQL Server Standard の Windows の使用オペレーションを指定するには、次のコマンドを実行します。

aws ec2 import-image --usage-operation RunInstances:0006 --disk-containers Format=OVA,Url=S3://bucket_name/sql_std_image.ova

請求コードの詳細については、AMI 請求情報フィールドを参照してください。

Linux のライセンス

Linux オペレーティングシステムは BYOL ライセンスのみをサポートします。Auto を選択すると、BYOL ライセンスを使用することを意味します。

移行された Red Hat Enterprise Linux (RHEL) VM は Cloud Access (BYOL) ライセンスを使用する必要があります。詳細については、Red Hat ウェブサイトの「Red Hat Cloud Access」を参照してください。

移行した SUSE Linux Enterprise Server VM では、SUSE パブリッククラウドプログラム (BYOS) ライセンスを使用する必要があります。詳細については、「SUSE Public Cloud Program—Bring Your Own Subscription」を参照してください。

Windows のライセンス

Windows Server オペレーティングシステムは、BYOL ライセンスまたは AWS ライセンスをサポートします。Windows クライアントオペレーティングシステム (Windows 10 など) は BYOL ライセンスのみをサポートします。

[Auto] (自動)(デフォルト) を選択すると、VM にサーバー OS がある場合、AWS のライセンスを使用します。その他の場合は、BYOL ライセンスが使用されます。

MSDN または Windows Software Assurance Per User 経由で BYOL Microsoft ライセンスを使用する場合、以下のルールが適用されます。

  • BYOL インスタンスの価格は Amazon EC2 Linux インスタンスの一般料金表によって決まります。ただし、次の条件に従うものとします。

    • Dedicated Host で実行する (Dedicated Host)。

    • AWS VM Import/Export の現行の条件および機能に従って、AWS VM Import/Export を使用してお客様提供のソフトウェアバイナリをソースとする VM から起動する。

    • インスタンスを BYOL インスタンスとして指定する。

    • AWS が BYOL モデルを提供している指定の AWS リージョン内でインスタンスを実行する。

    • お客様提供またはキー管理システムで使用されている Microsoft キーを使用してアクティブ化する。

  • Amazon EC2 インスタンスを起動すると、そのインスタンスはアベイラビリティーゾーン内のいずれかのサーバーで実行されることを考慮する必要があります。つまり、Amazon EC2 インスタンスの起動(停止/起動を含む)のたびに、そのインスタンスはアベイラビリティーゾーン内の別のサーバーで実行される可能性があります。このような使用方法に、Microsoft のドキュメント「ボリューム ライセンス製品条項」で記載されているライセンス再割り当ての制限が適用されるかどうか、取得済みの使用権限が適用されるかどうかを判断してください。

  • Microsoft との契約の下で、たとえば、MSDN のユーザー権限または Windows Software Assurance per User の権利の下で、該当する Microsoft ソフトウェアの BYOL プログラムを使用できる必要があります。お客様は、必要なすべてのライセンスの取得、および該当するすべての Microsoft ライセンスの要件 (PUR または PT など) の遵守に全責任を負うものとします。また、Microsoft の使用許諾契約 (Microsoft EULA) に同意する必要があります。さらに、BYOL プログラムの下で Microsoft ソフトウェアを使用することで、Microsoft EULA に同意したとみなされます。

  • AWS では、該当する Microsoft ライセンスの要件の遵守について、社内の法務部署およびその他の顧問に相談することをお勧めします。Microsoft との契約に違反したサービスの使用方法 (licenseType パラメータと BYOL フラグの使用を含む) は承認も許可もされません。

制約事項

  • ルートパーティションが MBR と同じ仮想ハードドライブにない場合は、インポートした VM が起動しないこともあります。

  • 21 を超えるボリュームがアタッチされた VM の VM Import タスクは失敗します。追加のディスクは ImportSnapshot API を使用して個別にインポートできます。

  • デュアルブート設定の VM のインポート設定はサポートされていません。

  • VM Import/Export では Raw デバイスマッピング (RDM) を使用する VM はサポートされていません。VMDK ディスクイメージのみがサポートされています。

  • インポートされた Linux VM は 64 ビットイメージを使用する必要があります。32 ビット Linux イメージの移行は、サポートされていません。

  • インポートされた Linux VM では、最良の結果を得るためにデフォルトのカーネルを使用してください。カスタム Linux カーネルを使用する VM は正常に移行されない場合があります。

  • Amazon EC2 Linux VM をインポートのために準備する場合は、ドライバとその他のソフトウェアをインストールするために、十分なディスク容量がルートボリュームで使用可能であることを確認します。Microsoft Windows VM の場合は、固定されたページファイルサイズを設定し、少なくとも 6 GiB の空き容量がルートボリュームで使用可能であることを確認します。Windows が「すべてのドライブのページングファイルのサイズを自動的に管理する」を使用するように設定されている場合、インスタンスの C ドライブに 16 GB の pagefile.sys ファイルが作成される場合があります。

  • 現在、複数のネットワークインターフェイスはサポートされていません。インポート後、VM にはアドレスの割り当てに DHCP を使用する 1 つの仮想ネットワークインターフェイスが与えられます。インスタンスはプライベート IP アドレスを受け取ります。

  • VPC に移行された VM は、サブネットの自動割り当てパブリック IP の設定にかかわらず、パブリック IP アドレスを受け取りません。その代わり、Elastic IP アドレスをアカウントに割り当て、それをインスタンスに関連付けます。

  • VM Import/Export では IPv4 アドレスだけがインスタンスに割り当てられます。IPv6 アドレスを追加できます。

  • ディスクイメージは 16 TiB 未満にする必要があります。8 TiB を超えるディスクイメージの場合は、マニフェストファイルを使用する必要があります。

  • UEFI と互換性のある VM をインポートする場合、暗号化を指定できず、ライセンス構成を指定することはできません。また、プラットフォームを指定しない限り、EBS スナップショットを指定することはできません。Linux では、フォールバック EFI バイナリ BOOTX64.EFI が EFI システムパーティションに配置されている必要があります。Windows では、イメージ形式が VHDX であること、非圧縮サイズが 2 TiB 以下であること、プライマリパーティションが 3 つ以下であること、ボリュームが動的ディスクではないことという条件を満たす場合、GPT ブートボリュームを MBR に変換します。

  • P2V 変換の結果として作成された VM はサポートされません。P2V 変換は、物理マシンで Linux または Windows インストールプロセスを実行し、その Linux または Windows インストールのコピーを VM にインポートすることでディスクイメージを作成するときに行われます。

  • VM Import/Export によってシングルルート I/O 仮想化 (SR-IOV) ドライバーはインストールされません。ただし、Microsoft Windows Server 2012 R2 VM をインポートする場合は除きます。これらのドライバは、より優れたパフォーマンス (パケット毎秒)、レイテンシーとストレスの低減を可能にする拡張ネットワーキングを使用しない場合は不要です。Microsoft Windows Server 2012 R2 VM の場合、SR-IOV ドライバはインポートプロセスの一部として自動的にインストールされます。

  • VM Import/Export では、VMware SEsparse delta-file 形式をサポートしていません。

  • VM Import/Export では、緊急管理サービス (EMS) をサポートしていません。ソースの Windows VM で EMS が有効になっている場合は、インポートされたイメージで EMS を無効にします。

  • UTF-16 文字 (または ASCII 以外の文字) を使用する Windows 言語パックでインポートはサポートされません。Windows VM をインポートするときは、言語パック (英語) を使用することをお勧めします。

  • インスタンスをエクスポートする際に、インスタンスのエクスポートに使用するベース AMI が存在している必要があります。この AMI を削除した場合、エクスポートは失敗します。

IAM ユーザーに必要なアクセス許可

AWS Identity and Access Management (IAM) ユーザーとしてログインしている場合、VM Import/Export を使用するには、IAM ポリシーに次のアクセス許可が必要です。

注記

一部のアクションでは Amazon S3 バケットを使用する必要があります。このポリシーの例では、Amazon S3 バケットを作成するアクセス許可は付与されません。IAM ユーザーには、既存のバケットを指定するか、新しいバケットを作成するアクセス許可が必要です ( s3:CreateBucket)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject" ], "Resource": ["arn:aws:s3:::mys3bucket","arn:aws:s3:::mys3bucket/*"] }, { "Effect": "Allow", "Action": [ "ec2:CancelConversionTask", "ec2:CancelExportTask", "ec2:CreateImage", "ec2:CreateInstanceExportTask", "ec2:CreateTags", "ec2:DescribeConversionTasks", "ec2:DescribeExportTasks", "ec2:DescribeExportImageTasks", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:DescribeSnapshots", "ec2:DescribeTags", "ec2:ExportImage", "ec2:ImportInstance", "ec2:ImportVolume", "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:ImportImage", "ec2:ImportSnapshot", "ec2:DescribeImportImageTasks", "ec2:DescribeImportSnapshotTasks", "ec2:CancelImportTask" ], "Resource": "*" } ] }

必要なサービスロール

VM Import/Export には、ユーザーに代わって特定のオペレーションを実行するロールが必要です。信頼関係ポリシーを使用して、ロールを引き受けることを VM Import/Export に許可する vmimport という名前のサービスロールを作成し、IAM ポリシーをそのロールにアタッチする必要があります。詳細については、IAM ユーザーガイドIAM ロールを参照してください。

前提条件

VM Import/Export を使用する予定のリージョンでは、AWS Security Token Service (AWS STS) を有効にする必要があります。詳細については、「AWS リージョンでの AWS STS のアクティブ化と非アクティブ化」を参照してください。

サービスロールを作成するには

  1. コンピュータに trust-policy.json という名前のファイルを作成します。次のポリシーをファイルに追加します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
  2. create-role コマンドを使用して、vmimport という名前のロールを作成し、そのロールに VM Import/Export のアクセス許可を付与します。前の手順で作成した trust-policy.json ファイルの場所への絶対パスを指定し、次の例に示すように file:// プレフィックスを含めるようにしてください。

    aws iam create-role --role-name vmimport --assume-role-policy-document "file://C:\import\trust-policy.json"
  3. という名前のファイルを作成します。role-policy.json以下のポリシーを使用します。disk-image-file-bucketディスクイメージのバケットは、輸出バケットエクスポートされたイメージのバケットは、次のとおりです。

    { "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::disk-image-file-bucket", "arn:aws:s3:::disk-image-file-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::export-bucket", "arn:aws:s3:::export-bucket/*" ] }, { "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] }
  4. (オプション) AWS KMS キーを使用して暗号化されたリソースを AWS Key Management Service からインポートする場合は、以下のアクセス許可を role-policy.json ファイルに追加します。

    { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*" }

    Amazon EBS が提供するデフォルト以外の KMS キーを使用する場合は、Amazon EBS 暗号化をデフォルトで有効化するか、インポート操作で暗号化を有効にする場合は、KMS キーに対する仮想マシンの VM Import/Export のアクセス許可を付与する必要があります。KMS キーの Amazon リソースネーム (ARN) を、* の代わりにリソースとして指定できます。

  5. (オプション) ライセンス設定を AMI にアタッチする場合は、以下の License Manager のアクセス許可を role-policy.json ファイルに追加します。

    { "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
  6. 以下のを使用します。put-role-policyコマンドを実行して、上記で作成したロールにポリシーをアタッチします。role-policy.json ファイルの場所の完全パスを指定してください。

    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://C:\import\role-policy.json"
  7. 追加のセキュリティコントロールに対して、この新しく作成したロールの信頼ポリシーに aws:SourceAccountaws:SourceArn のようなコンテキストキーを追加できます。VM Import/Export は、SourceAccountそしてSourceArnこのロールを引き受けるには、以下の例に示すように、キーを使用します。

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

VM エクスポートに必要な設定

仮想化環境からエクスポートする前に VM を設定する場合は、次のガイドラインを使用してください。

全般

  • 使用するワークステーションに AWS CLI をインストールして、インポートコマンドを発行します。詳細については、 AWS Command Line InterfaceユーザーガイドAWS Command Line Interfaceのインストールを参照してください。

    ヒント

    In (イン)サポートされているAWS リージョンまた、AWS CloudShellブラウザベースの事前認証済みシェルで、AWS Management Console。

  • VM のウイルス対策ソフトウェアまたは侵入検出ソフトウェアを無効にします。インポートプロセスが完了したら、これらのサービスを再度有効にすることができます。

  • VMware VM から VMware Tools をアンインストールします。

  • あらゆる (仮想または物理) CD-ROM ドライブを切断します。

  • ソース VM には機能する DHCP クライアントサービスが必要です。サービスを開始できることおよび管理者により無効にされていないことを確認します。現在ソース VM に割り当てられたすべての静的 IP アドレスはインポート時に削除されます。インポートされたインスタンスが Amazon VPC で起動されると、サブネットの IPv4 アドレス範囲からプライマリプライベート IP アドレスを受け取ります。プライマリプライベート IP アドレスを指定しないでインスタンスを起動すると、サブネットの IPv4 範囲内で使用可能な IP アドレスが自動的に選択されます。詳細については、「VPC とサブネットのサイズ設定」を参照してください。

  • エクスポートする前に VM をシャットダウンします。

Windows

  • リモートアクセスのためのリモートデスクトップ (RDP) を有効にする

  • ホストのファイアウォール (Windows ファイアウォールなど) を設定している場合、RDP へのアクセスが許可されていることを確認します。そうしないと、インポートした後にインスタンスにアクセスできなくなります。

  • 管理者アカウントおよび他のすべてのユーザーアカウントが安全なパスワードを使用していることを確認します。すべてのアカウントにパスワードが必要です。パスワードがないとインポートは失敗します。

  • .NET Framework 4.5 以降を VM にインストールします。必要に応じて、.NET Framework が VM にインストールされます。

  • VM イメージをインポートする前またはインポートした後に、Windows Server VM イメージでシステムの準備 (Sysprep) を実行できます。VM をインポートする前に Sysprep を実行する場合、インポートプロセスは、自動的にエンドユーザーライセンス契約 (EULA) に同意し、ロケールを EN-US に設定する応答ファイル (unattend.xml) を VM に追加します。インポート後に Sysprep を実行することを選択した場合は、EC2Launch (Windows Server 2016 以降) または EC2Config (Windows Server 2012 R2 以前) を使用して Sysprep を実行することをお勧めします。

    デフォルト以外の独自の応答ファイル (unattend.xml) を含めるには

    1. 以下のサンプルファイルをコピーし、OS のアーキテクチャに応じて、[processorArchitecture] パラメーターを [x86] または [amd64] に設定します。

      <?xml version='1.0' encoding='UTF-8'?> <unattend xmlns:wcm='http://schemas.microsoft.com/WMIConfig/2002/State' xmlns='urn:schemas-microsoft-com:unattend'> <settings pass='oobeSystem'> <component versionScope='nonSxS' processorArchitecture='x86 or amd64' name='Microsoft-Windows-International-Core' publicKeyToken='31bf3856ad364e35' language='neutral'> <InputLocale>en-US</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> </component> <component versionScope='nonSxS' processorArchitecture='x86 or amd64' name='Microsoft-Windows-Shell-Setup' publicKeyToken='31bf3856ad364e35' language='neutral'> <OOBE> <HideEULAPage>true</HideEULAPage> <SkipMachineOOBE>true</SkipMachineOOBE> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> </component> </settings> </unattend>
    2. ファイルを unattend.xml という名前で C:\Windows\Panther ディレクトリに保存します。

    3. /oobe および /generalize オプションを指定して Sysprep を実行します。これらのオプションを指定した場合は、Windows のインストールから一意のシステム情報がすべて除去され、管理者パスワードをリセットするように求められます。

    4. VM をシャットダウンし、仮想化環境から VM をエクスポートします。

  • Windows VM の自動ログオンを無効にします。

  • [コントロールパネル] > [システムとセキュリティ] > [Windows Update] の順に開きます。左側のペインで、[設定の変更] を選択します。目的の設定を選択します。[更新プログラムをダウンロードするが、インストールを行うかどうかは選択する](デフォルト値)を選択する場合、更新のチェックによりインスタンスの CPU リソースの 50% ~ 99% が一時的に消費されることに注意してください。更新プログラムのチェックは通常、インスタンスが開始して数分後に実行されます。保留中の Microsoft 更新プログラムがなく、再起動時にソフトウェアをインストールするようにコンピュータが設定されていないことを確認します。

  • 必要に応じて、次の修正プログラムを適用します。

  • 設定: RealTimeIsUniversal レジストリキー。詳細については、Windows インスタンス用 Amazon EC2 ユーザーガイド時刻の設定を参照してください。

Linux

  • リモートアクセスの Secure Shell (SSH) を有効にします。

  • ホストのファイアウォール (Linux iptables など) で SSH へのアクセスが許可されていることを確認します。そうしないと、インポートした後にインスタンスにアクセスできなくなります。

  • インポート後に、非ルートユーザーはパブリックキーベースの SSH を使用してインスタンスにアクセスするように設定されていることを確認します。パスワードベースの SSH の利用と SSH を介したルートログインはどちらも可能ですが、お勧めしません。パブリックキーおよび非ルートユーザーの使用は、安全性を向上させるため、お勧めします。VM Import では、インポートプロセスの一環として ec2-user アカウントを設定しません。

  • Linux VM でブートローダーとして GRUB (GRUB レガシー) または GRUB 2 が使用されていることを確認します。

  • Linux VM で、ルートファイルシステムに対して以下のいずれかが使用されていることを確認します。EXT2、EXT3、EXT4、Btrfs、JFS、XFS。

プログラムによる VM への変更

ImportImage API を使用して VM をインポートするときに、AWS はファイルシステムを変更し、インポートされた VM をお客様に対してアクセス可能にします。以下のアクションが発生する場合があります。

  • [Linux] Citrix PV ドライバを直接 OS にインストールするか、initrd/initramfs を変更してそれらを含める。

  • [Linux] ネットワークスクリプトを変更し、静的 IP を動的 IP に置き換える。

  • [Linux] /etc/fstab を変更し、無効なエントリをコメントアウトして、デバイス名を UUID で置き換える。一致する UUID がデバイスに対して見つからない場合、nofail オプションがデバイスの説明に追加されます。デバイス名を修正し、インポート後に nofail を削除する必要があります。ベストプラクティスとして、インポートのために VM を準備中に、デバイス名ではなく UUID によって VM ディスクデバイスを指定することをお勧めします。

    標準以外のファイルシステムの種類 (cifs、smbfs、vboxsf、sshfs など) を含む、/etc/fstab のエントリは無効になります。

  • [Linux] デフォルトのエントリとタイムアウトなど、grub ブートローダー設定を変更する。

  • [Windows] VM を起動可能にするためにレジストリ設定を変更する。

  • [両方] AWS が提供するイメージとの同等性を保つために、AWS Systems Manager クライアントが VM にインストールされています。

変更されたファイルを書き込むときに、AWS は元のファイルを同じ場所に新しい名前で保持します。