こんにちは!
VMimportについての記事をいくつか投稿しているkamiyaです!
何度もec2-import-instanceコマンドを打っては、思い通りにいかずに苦悩する日々を過ごしてきました。
そこで今回は、Windows ServerをVMimportする際の注意点やノウハウ・ポイントを記事として投稿します。
公式ブログのベストプラクティスなどに載っていない情報などもありましたので、合わせて共有いたします。
以下、参考リンク
公式ブログ(VMimport ベストプラクティス【Windows Server】)
Xen ServerイメージをAWS上へVM Importしてみました(弊社ブログ)
【対応OSバージョン】
・Microsoft Windows Server 2012 R2(Standard)
・Microsoft Windows Server 2012(Standard、Datacenter)
・Microsoft Windows Server 2008 R2(Standard、Datacenter、Enterprise)
・Microsoft Windows Server 2008(Standard、Datacenter、Enterprise)
・Microsoft Windows Server 2003 R2(Standard、Datacenter、Enterprise)
・Microsoft Windows Server 2003(Standard、Datacenter、Enterprise)(Service Pack 1 適用済み)以降
【対応ディスクフォーマット】
・Microsoft Hyper-V VHD
・Citrix XenServer VHD
・VMware vSphere VMDK
※VMDKは、VMwareのOVFエクスポートプロセスを通じて作成されたVMDKファイルのみVMimport可能です。
vSphereのデータストアブラウザを使用して作成したVMDKファイルはVMimportできません。
【指定可能なインスタンスタイプ】
Windows Server の場合は任意のインスタンスタイプを選択できます。
ただし、一部環境でt2.microなどを指定するとエラーを返されるケースがあります。
この問題についてはこの記事の下部に記載しております。
【VM importの前提条件】
公式の内容を軽くまとめると、
・順仮想化(PV)を使用するインスタンスをVM importによって作成することはできない。
・インポートするイメージのサイズは、1TBを超えられない。
・複数のディスクを持つVMはインポートできない。必ず1つのディスクである必要がある。
・ドライブやなどをインストールするために利用できるディスク容量が少なくとも250MB必要となる。
・現在、複数のネットワークインターフェイスはサポートされていない。
・現在IPv6はサポートされていない。
・仮想マシンイメージにSysprepを使用できない。
・リモートデスクトップ(RDP)によるリモート管理有効化
・Windows Firewall・Security Group共に3389番ポートをブロックしない
・DHCP・TCP/IPネットワーキングの有効化
・タイムゾーンをUTCに設定
こんなところです。この他にもいくつか設定すべき項目や注意点があります。
一部公式ブログには載っていない、もしくは違っている部分がありますので確認してみてください。
■VMwareTools・xenTools・Hyper-VToolsのアンインストール
VMimportするインスタンスには、EC2config(http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)が自動的にインストールされます。これは、先にあげた3つのツールと同様のエージェントソフトウェアであるため、EC2config以外のエージェントソフトウェアはアンインストールする必要があります。
上記のツールを削除しないままEC2configを使用すると、VMimportしたインスタンスのステータスチェックに失敗したり、時刻のずれなどが発生する場合があるようです。
VMimport前にエージェントソフトウェアは削除しておくようにしましょう。
■.NET Framework 3.5 SP1のインストール
.NET Framework 3.5 SP1は、先ほど紹介したEC2configをインストールする際に必須となります。
公式ブログにはインストールしておかないとインポートタスクが失敗すると記載してあります。
しかし実際には、VMimportするVMに.NET Framework 3.5 SP1が存在しない場合、インポートタスクの途中で自動的にインストールされます。
検証してみたところ、以下のように.NETとEC2configがインストールされていることが確認できました。
【VMimport時の仕様・注意点】
VMimport関連でエラーが出た際は、公式FAQや公式ブログのベストプラクティスをまず参考にするとよいでしょう。
今回は公式でも解消できなかった問題についての対処法について記載します。
■-g オプションで任意のセキュリティグループを指定したが、defaultセキュリティグループしか割り当てられない
この問題が発生した際、セキュリティグループの作成・指定ミスを疑いましたが、間違いが発見できませんでした。
サポートチームに問い合わせたところ、以下のような回答が得られました。
”現在 VPC 環境で VMImport を行う際に、セキュリティグループを指定しても、当該作業後に作成されたインスタンスにセキュリティグループが適用されないことは AWS 側でも確認しております。しかしこの修正が短期間で完了するか現時点ではわからず、また、誠に残念ながら修正までのお時間がどの程度かかるかをお約束することが出来ません。”
現状は仕様ということですね。そのため、セキュリティグループを設定する場合は以下のどちらかの方法で割り当てる必要があります。
2. VMImport 後のインスタンスを元に AMI を作成し、そのイメージから新たにインスタンスを作成する際に、任意のセキュリティグループを指定する。
■インポートと同時にPublic IPが付与できない
これについても問い合わせました。
”現在のところ VM Import では Public IP を付与するかどうかを選択できるオプションを提供しておりませんので、大変申し訳ございませんが、インポート後に AMI を作成いただきそれを元にサブネット、Public IP を指定してインスタンスを起動いただけないでしょうか。”
これも仕様でした。インポート後にElasticIPを付与すれば特に問題はないのですが、検証作業でいちいちIPの付け外しをするのが煩わしかったので・・・
■インポート時にインスタンスタイプをt2.microで指定するとエラーが返される
さまざまなアカウントでVMimportを検証しているのですが、あるアカウントでは-t オプションでt2.microを指定するとエラーを返されました。以下のようなエラーです。
”Client.Unsupported: The requested configuration is currently not supported. Please check the documentation for supported configurations.”
一時的な対処法として、デフォルトのm1.smallを指定すると問題なく実行できます。VMimport完了後にインスタンスタイプは変更できるので、特に問題はありません。
しかしこの問題の原因がいまいち掴めません・・・インポートするVMイメージは同じものを使用しており、また、実際にimportコマンドを打った環境も同じです(CentOS6.4・APITools Version 1.7.1.1)。
これについては引き続き調査・問い合わせを実施していきます。
【まとめ】
Windows Serverのほうが、Linuxよりも設定事項が多いです。しかしほとんどがGUIで設定できます。
機会があれば、Linuxの方もVMimportの注意点などをまとめた記事を作成したいと思います。
投稿者プロフィール
最新の投稿
- AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
- セキュリティ2021年7月14日ゼロデイ攻撃とは
- セキュリティ2021年7月14日マルウェアとは
- WAF2021年7月13日クロスサイトスクリプティングとは?