マネージド 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」を参照してください。

AWS Windows AMI バージョンの詳細

公式の AWS Windows AMI の内容

AWS は、Windows オペレーティングシステムのすべてのサポートされているバージョンに対して、さまざまな設定の AMI を提供しています。これらのイメージのそれぞれについて、AWS では次の操作を行います。

  • Microsoft が推奨するすべての Windows セキュリティパッチをインストールします。毎月 Microsoft のパッチが入手可能になった直後にイメージを公開します。

  • ネットワークおよびディスクドライバー、トラブルシューティング用の EC2WinUtil、および選択した AMI の GPU ドライバーを含む AWS ハードウェアの最新のドライバーをインストールします。

  • Server 2012 R2 以前向けの EC2Config サービスを使用した Windows インスタンスの設定 または Server 2016 以降向けの EC2Launch を使用した Windows インスタンスの設定 などの AWS ヘルパーソフトウェアが含まれています。

  • Windows インスタンスの時刻の設定 を使用するよう Windows の時刻を設定します。

  • すべての電力スキームを変更して、ディスプレイが消灯しないように設定します。

  • 軽微なバグ修正 - 通常 1 行のレジストリが変更され、AWS のパフォーマンスを向上させるために、発見された機能を有効または無効にします。

上記の調整以外にも、AMI はデフォルトのインストールに可能な限り近づけています。これは、「手元の」PowerShell または .NET フレームワークのバージョンをデフォルトにして、Windows の機能をインストールせず、通常は AMI を変更しないことを意味します。

AWS が提供する Windows AMI を決める方法

各 AMI は、一般に公開される前に広範にテストされます。当社は、お客様の選択を簡素化し、コストを削減するため、AMI の提供を定期的に合理化しています。

  • 新しい AMI 製品は、新しい OS リリース用に作成されています。英語やその他の広く使用されている言語で、「Base」、「Core/Container」、「SQL Express/Standard/Web/Enterprise」製品をリリースしている AWS をご利用できます。基本サービスとコアサービスの主な違いは、基本サービスにはデスクトップ/GUI があるのに対し、コアサービスには PowerShell コマンドラインのみである点です。Windows Server Core の詳細については、「https://docs.microsoft.com/en-us/windows-server/administration/server-core/what-is-server-core」を参照してください。

  • 新しいプラットフォームをサポートするための新しい AMI 製品が作成されています。たとえば、Deep Learning や GPU ベースのインスタンスタイプ (P2 および P3、G2、G3 など) を使用してお客様をサポートするための「NVidia」AMI が作成されています。

  • あまり人気のない AMI は削除される場合があります。特定の AMI が全ライフサイクルでわずか数回しか起動しない場合は、より広く使用されているオプションを優先して削除します。

ご覧になりたい AMI のバリアントがある場合は、クラウドサポートのチケットを申請するか、当社の確立されたいずれかのチャネルを介してフィードバックを提供してください。

パッチ、セキュリティの更新、および AMI ID

AWS は、Microsoft の火曜パッチ (毎月第 2 火曜日) の 5 営業日以内に、更新されパッチが全面的に適用された Windows AMI を提供します。この新しい AMI は、Amazon EC2 コンソールの [Images] ページからすぐに入手できます。新しい AMI は、リリースの数日以内に AWS Marketplace およびインスタンス起動ウィザードの [Quick Start] タブで入手できます。

注記

最新の Windows Server 2019 AMI から起動したインスタンスには、「Some settings are managed by your organization (一部の設定は当組織によって管理されています)」で始まる Windows Update ダイアログメッセージが表示される場合があります。 このメッセージは Windows Server 2019 内の変更の結果として表示され、Windows Update の動作やお客様による更新設定管理能力には影響を及ぼしません。

この警告を解決するには、「一部の設定は当組織によって管理されています」を参照してください。

お客様がデフォルトで最新のセキュリティ更新を受けられるように、AWS は Windows AMI を 3 か月間使用可能にしています。新しい Windows AMI の公開から 10 日以内に、AWS は公開から 3 か月を経過した Windows AMI を非公開にします。AMI が非公開になった後、その AMI から起動されたインスタンスをコンソールで表示すると、[AMI ID] フィールドに "ami-xxxxx の詳細をロードできません (Cannot load detail for ami-xxxxx)" と示されます。You may not be permitted to view it" と表示されます。 ただし、AWS CLI または AWS SDK を使用してその AMI ID を取得することはできます。

Windows AMI はリリースごとに新しい AMI ID を持ちます。したがって、ID ではなく名前で、最新の AWS Windows AMI を見つけるスクリプトを作成することをお勧めします。詳細については、次の例を参照してください。

半期チャネルのリリース

AWS は、AWS のスケール、パフォーマンス、および伸縮性を Windows Server の半期チャネルリリースバージョンの新しい機能に組み合わせた Windows Server 半期チャネルリリースを提供します。

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 インスタンスの更新

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

注記

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

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

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

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

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

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. サブスクリプションを選択し、[アクション]、[サブスクリプションの削除] を選択します。確認のプロンプトが表示されたら、[削除] を選択します。

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