Windows Server 2016 で稼働中の EC2 インスタンスで EC2Launch v1 から EC2Launch v2 へアップデートしてみた

Windows Server 2016 で稼働中の EC2 インスタンスで EC2Launch v1 から EC2Launch v2 へアップデートしてみた

2026.05.07

はじめに

テクニカルサポートの 片方 です。
既存の Windows Server 2016 ベースの EC2 インスタンスでは、EC2Launch v1 が動作しているケースもまだあるのではないでしょうか。
今回は、Windows Server 2016 で稼働中の EC2 インスタンスに対して、EC2Launch v1 から EC2Launch v2 へアップデートする手順を試してみました。

本ブログでの検証環境

検証では、以下の環境で実施しました。

項目 内容
OS Windows Server 2016
Amazon Machine Image (AMI) ami-0a8933b0a3e5604ac (Windows_Server-2016-English-Full-Base-2026.04.15)
サブネット パブリックサブネット
EC2Launch EC2Launch v1 がインストール済みの状態
アップデート先 EC2Launch v2
実施方法 AWS 公式ドキュメントに記載の PowerShell 手順
接続方法 SSM Fleet Manager 経由の RDP でインスタンスへ接続
使用シェル Windows PowerShell
作業ユーザー 管理者権限ユーザー

今回の環境では、EC2Launch v1 がすでに導入されている Windows Server 2016 の EC2 インスタンスを用意し、そこに対して AWS 公式ドキュメントに沿って EC2Launch v2 をインストールしました。
以降では、実際に実施した手順を順番に見ていきます。

やってみた

それでは実際に、Windows Server 2016 の EC2 インスタンスに対して EC2Launch v2 をインストールしてみます。
今回は、AWS 公式ドキュメントに記載されている PowerShell を利用した手順に沿って進めました。
事前に対象インスタンスへ RDP で接続し、管理者権限で Windows PowerShell を起動しておきます。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2launch-v2-install.html

  1. 作業用ディレクトリを作成する
    まずは、ダウンロードしたインストーラーを保存するための作業用ディレクトリを作成します。
New-Item -Path "$env:USERPROFILE\Desktop\EC2Launchv2" -ItemType Directory

検証時では、インストールされている EC2Launch v1 のバージョンも確認しています。

Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version

01

  1. TLS 1.2 を有効化する
    Windows Server 2016 では、Invoke-WebRequest によるダウンロード時に TLS のバージョンが原因でエラーになる場合があります。
    そのため、今回は先に PowerShell セッションで TLS 1.2 を有効化しました。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  1. EC2Launch v2 のダウンロード URL を設定する
    続いて、EC2Launch v2 の MSI インストーラーの URL を変数に設定します。今回は AWS 公式ドキュメントで案内されている Amazon S3 の URL を使用しました。
$Url = "https://s3.amazonaws.com/amazon-ec2launch-v2/windows/amd64/latest/AmazonEC2Launch.msi"

02

  1. インストーラーをダウンロードする
    次に、設定した URL を使って EC2Launch v2 の MSI ファイルをダウンロードします。
$DownloadFile = "$env:USERPROFILE\Desktop\EC2Launchv2\" + $(Split-Path -Path $Url -Leaf)
Invoke-WebRequest -Uri $Url -OutFile $DownloadFile

03

ダウンロード完了後、作業用ディレクトリ配下に AmazonEC2Launch.msi が保存されました。

04

  1. EC2Launch v2 をインストールする
    ダウンロードした MSI ファイルを使って、EC2Launch v2 をインストールします。
msiexec /i "$DownloadFile"

コマンド実行後、インストーラーが起動しました。画面の案内に従ってインストールを進めます。
例): [Next] ⇒ [Install] ⇒ [Finish]

05
06
07

OS の再起動や停止/起動は必要なく、手順としてはこれで終了です。
お疲れさまでした。

確認してみた

インストール完了後、EC2Launch v2 が正しく導入されているか確認します。
EC2Launch v2 バージョン確認コマンドを実行します。

& "C:\Program Files\Amazon\EC2Launch\EC2Launch.exe" version

EC2Launch v1 のバージョン確認コマンドを実行してエラーとなるかも確認します。

Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version

08

念のため、EC2Launch v2 設定ダイアログボックスが表示されるか確認します。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2launch-v2-settings.html

09

成功ですね。

ユーザーデータ利用

ユーザーデータ入力を使用して EC2 インスタンスを起動するときに EC2Launch v2 を インストールしたい場合は、以下をご参考ください。

<powershell>
$ErrorActionPreference = 'Stop'
$ProgressPreference = 'SilentlyContinue'

$WorkDir = 'C:\Temp\EC2Launchv2'
$MsiUrl = 'https://s3.amazonaws.com/amazon-ec2launch-v2/windows/amd64/latest/AmazonEC2Launch.msi'
$MsiPath = Join-Path $WorkDir 'AmazonEC2Launch.msi'
$MsiLog  = Join-Path $WorkDir 'AmazonEC2Launch-install.log'
$OutLog  = Join-Path $WorkDir 'userdata-install-output.log'

New-Item -Path $WorkDir -ItemType Directory -Force | Out-Null
Start-Transcript -Path $OutLog -Append

try {
    # Windows Server 2016 以前では必要になる場合がある
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

    Write-Host "Downloading EC2Launch v2 installer..."
    Invoke-WebRequest -Uri $MsiUrl -OutFile $MsiPath

    Write-Host "Installing EC2Launch v2..."
    $proc = Start-Process -FilePath 'msiexec.exe' -ArgumentList @(
        '/i', "`"$MsiPath`"",
        '/qn',
        '/norestart',
        '/l*v', "`"$MsiLog`""
    ) -Wait -PassThru

    if ($proc.ExitCode -ne 0) {
        throw "msiexec failed. ExitCode=$($proc.ExitCode)"
    }

    $Ec2LaunchExe = Join-Path $env:ProgramFiles 'Amazon\EC2Launch\EC2Launch.exe'
    if (-not (Test-Path $Ec2LaunchExe)) {
        throw "EC2Launch v2 executable not found: $Ec2LaunchExe"
    }

    $Version = & $Ec2LaunchExe version
    $Version | Out-File -FilePath (Join-Path $WorkDir 'EC2Launch-version.txt') -Encoding utf8

    Write-Host "EC2Launch v2 installation completed."
    Write-Host $Version
}
catch {
    Write-Error $_
    throw
}
finally {
    Stop-Transcript
}
</powershell>

※ 適宜修正のうえでご利用ください

まとめ

Windows Server 2016 の EC2 インスタンスに対して、AWS 公式ドキュメントに沿って EC2Launch v2 をインストールし、EC2Launch v1 からアップデートできることを確認しました。
作業自体は PowerShell から実施でき、インストール後はバージョン確認によって更新状態も確認できました。
一方で、Windows Server 2016 では TLS 1.2 の有効化が必要になる場合がある点や、既存の EC2Launch v1 がアンインストールされる点には注意が必要です。
一例としては、インスタンスストアボリュームの自動マッピング設定などが考えられます。
同様のアップデートを検討している方は、事前に検証環境で確認したうえで実施してみてください。
本ブログが誰かの参考になれば幸いです。

参考資料

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事