マネージド AWS Windows AMI - Amazon Elastic Compute Cloud

マネージド AWS Windows AMI

AWS は、Windows Server のさまざまなバージョンと設定を含むマネージド Amazon マシンイメージ (AMI) を提供しています。一般に、AWS Windows AMI は、Microsoft のインストールメディアで使用されるデフォルトの設定で定義されています。ただし、カスタマイズも含まれています。たとえば、AWS Windows AMI には以下のソフトウェアとドライバーが付属しています。

  • EC2Config サービス (Windows Server 2012 R2 経由)

  • EC2Launch (Windows Server 2016 以降)

  • AWS Systems Manager

  • AWS CloudFormation

  • AWS Tools for Windows PowerShell

  • ネットワークドライバー (SRIOV、ENA、Citrix PV)

  • ストレージドライバー (NVME、AWS PV、Citrix PV)

  • グラフィックスドライバー (NVidia GPU、Elastic GPU)

  • スポットインスタンス ハイバネーション

その他のカスタマイズについては、「AWS Windows AMI の設定変更」を参照してください。

Windows インスタンスの更新

Windows インスタンスを起動した後、インスタンスに更新プログラムをインストールする必要があります。関心のある更新プログラムのみを手動でインストールすることも、現在の AWS Windows AMI から始めて、新しい Windows インスタンスを構築することもできます。現在の AWS Windows AMI を見つける方法については、「Windows AMI の検索」を参照してください。

注記

更新時にはインスタンスはステートレスである必要があります。詳細については、「大規模環境での AWS インフラストラクチャを管理する」を参照してください。

Windows インスタンスの場合は、以下のサービスやアプリケーションにアップデートをインストールできます。

更新をインストールした後、Windows インスタンスを再起動できます。詳細については、「インスタンスの再起動」を参照してください。

Windows Server の新しいバージョンへのアップグレードまたは移行

Windows インスタンスを Windows Server の新しいバージョンにアップグレードまたは移行する方法については、「より新しいバージョンの Windows Server に Amazon EC2 Windows インスタンスをアップグレードする」を参照してください。

Windows AMI 通知の受信

新しい AMI がリリースされたときや、以前にリリースされた AMI が非公開になったときに通知されるようにするには、Amazon SNS を使用して通知の受信登録をします。

Windows AMI の通知を受信するには

  1. Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. ナビゲーションバーで、必要に応じてリージョンを [米国東部(バージニア北部)] に変更します。購読する SNS 通知がこのリージョンで作成されているため、このリージョンを使用する必要があります。

  3. ナビゲーションペインで [Subscriptions] を選択します。

  4. [Create subscription] を選択します。

  5. [サブスクリプションの作成] ダイアログボックスで、次の操作を行います。

    1. [ARN のトピック] で、次の Amazon リソースネーム (ARN) のいずれかをコピーアンドペーストします。

      • arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-update

      • arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-private

      AWS GovCloud (米国) の場合:

      arn:aws-us-gov:sns:us-gov-west-1:077303321853:ec2-windows-ami-update

    2. [Protocol] で [Email] を選択します。

    3. [エンドポイント] では、通知を受信するために使用できる E メールアドレスを入力します。

    4. [Create subscription] を選択します。

  6. AWS Notification - Subscription Confirmation という件名の確認用 E メールを受信します。メールを開いて [Confirm subscription] を選択して受信登録を完了します。

Windows AMI がリリースされるたびに、ec2-windows-ami-update トピックの受信者に通知を送信します。リリースされた Windows AMI が非公開になるたびに、ec2-windows-ami-private トピックの受信者に通知を送信します。通知が不要になった場合は、次の手順で受信登録を解除します。

Windows AMI の通知の受信登録を解除するには

  1. Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. ナビゲーションバーで、必要に応じてリージョンを [米国東部(バージニア北部)] に変更します。SNS 通知はこのリージョンで作成されたため、このリージョンを使用する必要があります。

  3. ナビゲーションペインで [Subscriptions] を選択します。

  4. サブスクリプションを選択し、[アクション]、[サブスクリプションの削除] を選択します。確認のプロンプトが表示されたら、[削除] を選択します。

AWS Windows AMI の設定変更

以下の変更が各 AWS Windows AMI に適用されます。

クリーンアップと準備
変更 Applies to

保留中のファイル名変更や再起動の有無を確認し、必要に応じて再起動

すべての AMI

.dmp ファイルを削除

すべての AMI

ログを削除 (イベントログ、Systems Manager、EC2Config)

すべての AMI

sysprep の一時フォルダおよびファイルを削除

すべての AMI

最近の履歴をクリア ([スタート] メニュー、Windows Explorer など)

Windows Server 2012 R2 以前

ウイルススキャンを実行

すべての AMI

キュー内の .NET アセンブリを事前コンパイル (sysprep の前)

すべての AMI

Windows のメンテナンスツールを実行

Windows Server 2012 R2 以降

Internet Explorer のデフォルト値を復元

すべての AMI

EC2Config のデフォルト値を復元

Windows Server 2012 R2 以前

EC2Launch を次回起動時に実行するように設定

Windows Server 2016 以降

Windows の壁紙をリセット

すべての AMI

sysprep を実行

すべての AMI

インストールと設定
変更 Applies to

Amazon EC2 Windows ガイドへのリンクを追加

すべての AMI

拡張マウントポイントにインスタンスストレージボリュームをアタッチ

すべての AMI

最新の AWS Tools for Windows PowerShell をインストール

すべての AMI

最新の AWS CloudFormation ヘルパースクリプトをインストール

すべての AMI

最新の EC2Config および SSM エージェントをインストール

Windows Server 2012 R2 以前

最新の EC2Launch および SSM エージェントをインストール

Windows Server 2016 以降

最新の AWS PV、ENA、および NVMe ドライバーをインストール

Windows Server 2008 R2 以降

最新の SRIOV ドライバーをインストール

Windows Server 2012 R2 以降

最新の Citrix PV ドライバーをインストール

Windows Server 2008 SP2 以前

最新の EC2WinUtil ドライバーをインストール

Windows Server 2008 R2 以降

PowerShell 2.0 と 3.0 をインストール

Windows Server 2008 SP2 と R2

Microsoft SQL Server をインストールする場合:

  • サービスパックをインストール

  • 自動的に起動するように設定

  • BUILTIN\Administrators を SysAdmin ロールに追加

  • TCP ポート 1433 と UDP ポート 1434 を開く

すべての AMI

以下の hotfix を適用します。

Windows Server 2008 SP2 と R2

ファイアウォールを通過する ICMP トラフィックを許可

Windows Server 2012 R2 以前

ファイルとプリンターの共有を有効化

Windows Server 2012 R2 以前

Internet Explorer の RunOnce を無効化

すべての AMI

リモート PowerShell を有効化

すべての AMI

次のようにシステムボリュームでページングファイルを設定します。

  • Windows Server 2019 - システムによって管理されます

  • Windows Server 2016 - システムによって管理されます

  • Windows Server 2012 R2 - 初期サイズおよび最大サイズは 8 GB です

  • Windows Server 2012 以前 - 初期サイズは 512 MB、最大サイズは 8 GB です

すべての AMI

利用可能な場合は、システムで管理される追加のページングファイルを Z: で設定します。

Windows Server 2012 R2 以前

ハイバネーションを無効化し、ハイバネーションファイルを削除

すべての AMI

パフォーマンス最適化のためのパフォーマンスオプションを設定

すべての AMI

パフォーマンス向上のための電源設定を定義

すべての AMI

スクリーンセーバーのパスワードを無効化

すべての AMI

RealTimeIsUniversal レジストリキーを設定

すべての AMI

タイムゾーンを UTC に設定

すべての AMI

Windows Update の通知を無効化

すべての AMI

Windows Update を実行し、保留中の更新がなくなるまでの再起動

すべての AMI

すべての電力スキームでディスプレイを設定して、オフにならないようにする

すべての AMI

PowerShell 実行ポリシーを「無制限」に設定

すべての AMI

Windows Server 2016 以降の AMI の変更点

AWS では Windows Server 2016 以降の AMI が提供されています。これらの AMI に含まれる、以前の Windows AMI に対する変更の概要は次のとおりです。

他の違い

Windows Server 2016 以降の AMI で作成されたインスタンスの次の重要な違いについても留意してください。

  • デフォルトでは、EC2Launch はセカンダリ EBS ボリュームを初期化しません。EC2Launch が自動でディスクを初期化するよう設定するには、スクリプトの実行をスケジュール設定するか、ユーザーデータで EC2Launch を呼び出します。EC2Launch を使用してディスクを初期化する手順については、EC2Launch の設定 にある「ドライブとドライブ文字のマッピングの初期化」を参照してください。

  • 以前にローカル設定ファイル (AWS.EC2.Windows.CloudWatch.json) を使用してインスタンスで CloudWatch 統合を有効にした場合、Windows Server 2016 以降の AMI から作成したインスタンスで、SSM エージェントを操作するファイルを設定できます。

詳細については、Microsoft.com の「Windows Server 2019」を参照してください。

Windows Server 2016 インスタンスでの Docker コンテナの競合

Windows Server 2016 AMI で Docker サービスを実行する場合、このサービスはデフォルトの内部 IP アドレスのプレフィックス値とは異なる CIDR 値を使用するよう設定されます。デフォルト値は 172.16.0.0/12 です。Windows Server 2016 AMI は、デフォルトの Amazon EC2 VPC/サブネットとの競合を避けるため、172.17.0.0/16 を使用します。EC2 インスタンスの VPC/サブネット設定を変更しない場合は、何もする必要はありません。CIDR 値が異なるため、競合は基本的に回避されます。VPC/サブネット設定を変更する場合は、これらの内部 IP アドレスのプレフィックス値に注意して、競合の作成を回避します。詳細については、次のセクションを参照してください。

重要

Windows Server 2016 インスタンスで Docker を実行する予定の場合は、次の Amazon Machine Image (AMI) または Windows_Server-2016-English-Full-Containers を名前に使用して、このイメージに基づく AMI からインスタンスを作成する必要があります。上記を実行しない場合、別の Windows Server 2016 AMI を使用すると、Docker をインストールしてから Sysprep を実行する際に、インスタンスが正しく起動されません。

Hibernate Agent (2018.03.16 付の AMI) の問題

2018.03.16 付の Windows AMI のリリース後に、Amazon EC2 Hibernate Agent の設定で引用符に囲まれていないパスがあることがわかりました。このエージェントは Windows Server 2016 を通じて Windows Server 2008 用の AMI に含まれていました。この問題は、Windows Server 2003 用の AMI には影響しません。

AWS は、2018.03.16 の Windows AMI を削除しました。新しい Windows AMI が利用可能になったときに通知を受けるには、「Windows AMI 通知の受信」を参照してください。

問題を軽減するために、次のいずれかの手順を使用して、欠落している引用符を追加できます。エージェントが実行中の場合は、エージェントを再起動する必要もあります。または、2018.03.16 付の Windows AMI から起動されたインスタンスを削除し、別の AMI を使用して起動されたインスタンスに置き換えることができます。

Windows PowerShell

  1. Windows インスタンスで、Windows Powershell を開きます。

  2. 次のコマンドを使用して設定を更新し、欠落している引用符を追加します。

    cmd /c 'sc config EC2HibernateAgent binPath="\"%ProgramFiles%\Amazon\Hibernate\EC2HibernateAgent.exe\""'
  3. 次のコマンドを使用して、更新された設定を表示します。

    (Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EC2HibernateAgent\).ImagePath

    次の例に示すように、応答が引用符で囲まれていることを確認します。

    "C:\Program Files\Amazon\Hibernate\EC2HibernateAgent.exe"
  4. 次のコマンドを使用して、StatusRunning であるかどうか確認します。

    Get-Service EC2HibernateAgent

    エージェントが稼働中の場合は、変更が有効になるように、次のコマンドを使用してエージェントを再起動する必要があります。

    Restart-Service EC2HibernateAgent

コマンドプロント

  1. Windows インスタンスで、コマンドプロンプトウィンドウを開きます。

  2. 次のコマンドを使用して設定を更新し、欠落している引用符を追加します。

    sc config EC2HibernateAgent binPath="\"%ProgramFiles%\Amazon\Hibernate\EC2HibernateAgent.exe\""
  3. 次のコマンドを使用して、更新された設定を表示します。

    sc qc EC2HibernateAgent

    次の例に示すように、BINARY_PATH_NAME のパスが引用符で囲まれていることを確認します。

    "C:\Program Files\Amazon\Hibernate\EC2HibernateAgent.exe"
  4. 次のコマンドを使用して、STATERUNNING であるかどうか確認します。

    sc query EC2HibernateAgent

    エージェントが稼働中の場合は、変更が有効になるように、次のコマンドを使用してエージェントを再起動する必要があります。

    sc stop EC2HibernateAgent && sc start EC2HibernateAgent