カスタムWindowsイメージのインポート

コンピュート・サービスでは、Oracle Cloud Infrastructureの外部で作成されたWindowsベースのイメージをインポートできます。たとえば、オンプレミスの物理マシンや仮想マシン(VM)で実行されているイメージ、またはOracle Cloud Infrastructure Classicで稼働しているVMで実行されているイメージをインポートできます。その後、インポートしたイメージをコンピュート仮想マシンで起動できます。

Windowsイメージのライセンス要件の詳細は、Oracle Cloud InfrastructureでのMicrosoftライセンスを参照してください。

サポートされているオペレーティング・システム

次のWindowsバージョンで、カスタム・イメージのインポートがサポートされています:

  • Windows Server 2016: Datacenter、Standard、Standard Core
  • Windows Server 2019: Datacenter、Standard、Standard Core
  • Windows Server 2022: Datacenter、Standard、Standard Core
ノート

  • Oracle Cloud Infrastructureでは、前述のオペレーティング・システムのテストを行っています。これらのイメージから起動し、このトピックのガイドラインに従って構築したインスタンスにはRDPを使用してアクセスできることを保証します。
  • 前述していないOSエディションの場合、Oracle Cloud Infrastructureは、これらのイメージから起動されたインスタンスをRDPを介してアクセスできるようにするために、商業上合理的なサポートをお客様に提供します。
  • カスタムOSからのインスタンスの起動に関するOracle Cloud Infrastructureのサポートでは、そのインスタンスがオペレーティング・システム・ベンダーでもサポートされるかどうかは保証されません。

Windowsソース・イメージの要件

カスタム・イメージは、次の要件を満たす必要があります:

  • 最大イメージ・サイズは400GBです。

  • イメージは、BIOSブート用に設定する必要があります。ブートタイプはBIOSのままにすることも、イメージのインポート後にUEFIに変更することもできます。

  • ディスクは1つしかサポートされません。有効なマスター・ブート・レコード(MBR)とブート・ローダーを含むブート・ドライブであることが必要です。イメージのブート・ボリュームをインポートした後で、追加のデータ・ボリュームを移行できます。

  • ブート・ボリュームの最小サイズは256GBです。詳細は、カスタム・ブート・ボリュームのサイズを参照してください。
  • ブート・プロセスで、起動が正常に行われるためには、追加のデータ・ボリュームが存在していてはなりません。

  • ディスク・イメージは暗号化できません。

  • ディスク・イメージはVMDKまたはQCOW2ファイルであることが必要です。

    • イメージ・ファイルは、スナップショットの作成ではなくソース・ボリュームをクローニングして作成します。
    • VMDKファイルは、単一拡張可能タイプ(monolithicSparse)かストリーム最適化タイプ(streamOptimized)のいずれかであることが必要です。どちらも1つのVMDKファイルで構成されます。その他すべてのVMDK形式(複数のファイルを使用するもの、ボリュームを分割するもの、スナップショットを含むものなど)はサポートされません。
  • ネットワーク・インタフェースは、DHCPを使ってネットワーク設定を検出する必要があります。カスタム・イメージをインポートするとき、既存のネットワーク・インタフェースは再作成されません。既存のすべてのネットワーク・インタフェースは、インポート・プロセスの完了後に1つのNICで置換されます。インポートしたインスタンスの起動後に、追加のVNICをアタッチできます。

  • ネットワーク構成で、ネットワーク・インタフェースのMACアドレスをハードコードすることはできません。

インポートのためのWindows VMの準備

カスタムWindowsイメージをインポートする前に、イメージから起動されたインスタンスが正しく起動でき、ネットワーク接続が機能するように、イメージを準備する必要があります。

この項で説明するタスクは、実行中のソース・システムで実行できます。ライブ・ソース・システムの変更に懸念がある場合は、イメージをそのままエクスポートし、Oracle Cloud Infrastructureにインポートしてから、カスタム・イメージに基づいてインスタンスを起動できます。その後、VNCコンソールを使用してインスタンスに接続し、準備ステップを実行できます。

重要

Windowsがインストールされているシステム・ドライブはOracle Cloud Infrastructureにインポートされます。このドライブ上のすべてのパーティションは、インポートされるイメージと同様に処理されます。他のドライブはインポートされません。インポート後にインスタンスで再作成する必要があります。その後、システム・ドライブ以外のドライブ上のデータを手動で移動する必要があります。

インポートのためにWindows VMを準備するには:

  1. 組織のセキュリティ・ガイドラインに従って、Windowsシステムが保護されていることを確認します。これには次のタスクが含まれますが、これらのタスクのみに限定されません:

    • オペレーティング・システムおよびインストールされているアプリケーションに対して最新のセキュリティ更新をインストールします。

    • ファイアウォールを有効にし、必要なルールのみを有効にするように構成します。

    • 不要な特権アカウントを無効にします。

    • すべてのアカウントで強力なパスワードを使用します。

  2. イメージに対するリモート・デスクトップ・プロトコル(RDP)アクセスを構成します:

    1. イメージに対するリモート・デスクトップ接続を有効にします。
    2. Windowsファイアウォールのインバウンド・ポート・ルールを変更して、ネットワークの場所としてプライベートとパブリック両方のタイプにRDPアクセスを許可します。イメージをインポートすると、Windows Network Location Awarenessサービスは、ネットワーク接続をパブリック・ネットワーク・タイプとして識別します。
  3. 現在のWindowsライセンス・タイプがボリューム・ライセンスであるかどうかを、PowerShellで次のコマンドを実行して確認します:

    Get-CimInstance -ClassName SoftwareLicensingProduct | where {$_.PartialProductKey} | select ProductKeyChannel

    ライセンスがボリューム・ライセンスでない場合は、イメージをインポートした後で、ライセンス・タイプを更新します。

  4. インポートしたイメージを複数のVMインスタンスで起動する予定の場合は、ブート・ディスクの汎用イメージを作成します。汎用イメージは、一意識別子などコンピュータ固有の情報を取り除いたものです。汎用イメージからインスタンスを作成するときに、一意識別子が再生成されます。これにより、同じイメージから作成される2つのインスタンスが同じ識別子で競合することを回避できます。

  5. ルート・ボリュームのバックアップを作成します。

  6. VMにリモートでアタッチされたストレージ(NFSまたはブロック・ボリューム)がある場合は、このストレージに依存するすべてのサービスが手動で起動されるように構成します。リモートでアタッチされたストレージは、インポートされたインスタンスがOracle Cloud Infrastructureで初めて起動するときには使用できません。

  7. すべてのネットワーク・インタフェースがDHCPを使用しており、MACアドレスとIPアドレスがハードコードされていないことを確認します。システムのネットワーク構成を実行するステップは、システムのドキュメントを参照してください。

  8. Oracle VirtIO Drivers for Microsoft Windowsをダウンロードします。
  9. ドライバをインストールして、インスタンスを再起動します。

  10. VMを停止します。

  11. 停止したVMをVMDKまたはQCOW2ファイルとしてクローニングしてから、仮想環境からイメージをエクスポートします。ステップは、ご使用の仮想環境に対応するツールのドキュメントを参照してください。

WindowsベースのVMのインポート

インポートのためにWindowsイメージを準備したら、次のステップに従ってイメージをインポートします:

  1. イメージ・ファイルをオブジェクト・ストレージ・バケットにアップロードします。コンソールを使用するかコマンドライン・インタフェース(CLI)を使用してファイルをアップロードできます。CLIを使用する場合は、次のコマンドを使用します:

    oci os object put -bn <destination_bucket_name> --file <path_to_the_VMDK_or_QCOW2_file>
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「カスタム・イメージ」をクリックします。
  3. 「イメージのインポート」をクリックします。

  4. 「コンパートメントに作成」リストで、イメージのインポート先のコンパートメントを選択します。

  5. イメージの名前を入力します。機密情報の入力は避けてください。

  6. 「オペレーティング・システム」で、「Windows」を選択します。

  7. 「オペレーティング・システムのバージョン」リストで、Windowsのバージョンを選択します。

  8. Microsoftのライセンス契約に準拠しているオペレーティング・システム・バージョンを選択したことを確認し、準拠のチェック・ボックスを選択します。

    重要

    正しいバージョンとSKU情報を提供できないと、Microsoftライセンス契約の違反になる可能性があります。
  9. 「オブジェクト・ストレージ・バケットからインポート」オプションを選択します。

  10. イメージをアップロードしたバケットを選択します。
  11. 「オブジェクト名」リストで、アップロードしたイメージ・ファイルを選択します。
  12. 「イメージ・タイプ」で、イメージのファイル・タイプ「VMDK」または「QCOW2」を選択します。

  13. 「起動モード」領域で、「準仮想化モード」を選択します。

  14. タグ付けオプションの表示: リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
  15. 「イメージのインポート」をクリックします。

    インポートされたイメージがコンパートメントの「カスタム・イメージ」リストに「インポート中」という状態で表示されます。インポートが正常に完了すると、状態が「使用可能」に変わります。

    状態が変わらない場合、または「カスタム・イメージ」リストにエントリが表示されない場合、インポートは失敗しています。オブジェクト・ストレージ・オブジェクトへの読取りアクセス権があることと、サポートされるイメージがオブジェクトに含まれていることを確認します。

  16. インポート後のタスクを完了します。

Windowsイメージのインポート後のタスク

カスタムのWindowsベース・イメージをインポートした後で、次を行います:

  1. AMDまたはX6ベースのシェイプでイメージを使用する場合は、互換性のあるシェイプのイメージのリストにシェイプを追加します。
  2. カスタム・イメージに基づいてインスタンスを作成します。イメージ・ソースで「カスタム・イメージ」を選択してから、インポートしたイメージを選択します。
  3. コンピュート・インスタンスに対するリモート・デスクトップ・プロトコル(RDP)アクセスを有効にします。
  4. RDPを使用してインスタンスに接続します
  5. リモートでアタッチされたストレージ(ブロック・ボリュームファイル・ストレージなど)がインスタンスで必要な場合は、作成してアタッチします。
  6. 必要なセカンダリVNICを作成してアタッチします
  7. すべてのアプリケーションが予期したとおりに動作していることをテストします。
  8. 手動で起動されるよう設定されていたサービスをリセットします。
  9. 時間情報プロトコル(NTP)を使用するようにインスタンスを構成します。Oracle Cloud Infrastructure NTPサービスを使用することも、Windows Timeサービス(W32Time)を使用することもできます。
    ヒント

    Windows ServerでNTPを設定するときに時刻データが利用できなかったというエラー・メッセージが表示された場合は、Microsoftの既知の問題の記事で情報を確認してください。
  10. Oracle提供のキー管理サービス(KMS)サーバーにインスタンスを登録します:
    重要

    インスタンスをKMSサーバーに登録するには、インスタンスの時間がタイム・ゾーンと一致している必要があります。
    1. インスタンスで、管理者としてPowerShellを開きます。
    2. KMSエンドポイントを設定するには、次のコマンドを実行します:

      slmgr /skms 169.254.169.253:1688
    3. イメージの準備中に書き込んだWindowsライセンス・タイプがボリューム・ライセンスでない場合は、ライセンス・タイプを更新する必要があります。次のコマンドを実行します。

      slmgr /ipk <setup key>

      <setup key>は、インポートしたWindowsのバージョンに対応するKMSクライアント設定キーです:

      重要

      MicrosoftのKey Management Services (KMS)クライアントのアクティブ化および製品キー・ページに移動し、オペレーティング・システム・バージョンの<setup key>を取得します。エントリは次のようになります。

      Windows Server 2022標準: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

      VMの Windowsバージョンを確認するには、次のコマンドを実行します。

      DISM.exe /Online /get-currentedition
    4. Windowsをアクティブ化するには、次のコマンドを実行します:

      slmgr /ato
    5. ライセンス・ステータスを確認するには、次のコマンドを実行します:

      Get-CimInstance -ClassName SoftwareLicensingProduct | where {$_.PartialProductKey} | select Description, LicenseStatus

      LicenseStatus1の場合、インスタンスは適切にライセンスされています。ライセンス・ステータスの更新には最大48時間かかる可能性があります。