インターネット接続できない AWS EC2 Windows Server 2016 に .NET Framework 3.5 をインストール

インターネットに接続できない AWS EC2 の Windows Server 2016 に .NET Framework 3.5 をインストールする方法をメモ。

やりたいこと

お堅い企業で AWS を使っているとそうそう簡単にインターネットにつながせてもらえないことがあります。

そんな中 EC2 Windows Server 2016 に .NET Framework 3.5 をインストールする必要があり、オフラインでの追加方法を調べていると、Windows Server 2016 では見つかりませんでしたが、Windows Server 2012 R2 での手順は Microsoft Docs にありました。

対象のコンピュータが Windows Update にアクセスできない場合は、[代替ソースパスの指定] リンクをクリックして、インストールメディアの \ ソース \ sxs フォルダへのパスを指定し、[ OK] をクリックします。 - 役割と機能の追加ウィザードを使用した .NET Framework 3.5 の有効化 | Microsoft Docs

インストールメディアだと!? そんなものどうやって…と思っていたら AWS ドキュメントにちゃんとありました。

Windows インスタンスにコンポーネントを設定、またはインストールするのに必要なファイルを持つインストールメディアの EBS スナップショットを提供します。 - インストールメディアを使用した Windows コンポーネントの追加 - Amazon Elastic Compute Cloud

とりあえずオフラインで EC2 Windows Server 2016 に .NET Framework 3.5 が入れられそうとわかったので、やってみます。

ちなみにオフラインかつインストールメディアなしで .NET Framework 3.5 のインストールを試みると以下のエラーの通りやっぱりインストールできません。

機能と役割の追加 - インストールの進行状況

エラー内容は以下の通り。

The request to add or remove features on the specified server failed. Installation of one or more role, role services, or features failed. The source files could not be found. Use the "Source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077. Error: 0x800f081f

(指定されたサーバーで機能を追加または削除する要求に失敗しました。1つ以上の役割、役割サービス、または機能をインストールできませんでした。ソースファイルが見つかりませんでした。機能の復元に必要なファイルの場所を指定するには、“Source” オプションを使用してください。ソースの場所の指定の詳細についてはhttp://go.microsoft.com/fwlink/?LinkId=243077を参照してください。エラー: 0x800f081f)

環境

Windows Server は以下を利用。

AMI ID
ami-0f7a38180c13bf4f2
AMI 名
Microsoft Windows Server 2016 Base

AWS EC2 に Windows インストールメディアをアタッチする方法

  1. https://console.aws.amazon.com/ec2/ で EC2 コンソールを開きます
  2. 左のナビゲーションペインで、スナップショット をクリックします EC2 コンソール
  3. パブリックスナップショット を選択し、所有者 フィルターを追加して、Amazon イメージ を選択し、説明 フィルターを追加して、Windows 2016 を入力し、Enter キーを押し、結果から該当する言語設定に合うスナップショットを選択します スナップショットフィルター
  4. アクション ボタンをクリックし、ボリュームの作成 をクリックします。 スナップショットボリュームの作成
  5. アベイラビリティーゾーン で Windows インストーラーを必要とするインスタンスと同じアベイラビリティーゾーンを選択し、タグキー Name にわかりやすく Windows 2016 とか付け、ボリュームの作成 をクリックします ボリュームの作成
  6. 作成したボリュームを選択し、アクション をクリック、ボリュームのアタッチ をクリックします ボリュームのアタッチ
  7. アタッチするインスタンスのインスタンス ID とデバイス名を入力し、アタッチ をクリックします ボリュームのアタッチ
  8. アタッチしたインスタンスを起動し、リモートデスクトップでログイン、Windows ボタンを右クリックし、Storage Manager (ディスクの管理) をクリックします ディスクの管理を開く
  9. アタッチされたディスクを右クリックし、Online (オンライン) をクリックします ディスクの管理
  10. ドライブが追加されていることを確認します ドライブの確認

Windows Server 2016 に .NET Framework 3.5 インストールする方法

EC2 に Windows インストールメディアをアタッチできたら、いよいよ .NET Framework をインストールします。

  1. Windows メニューから Server Manager (サーバーマネージャー) をクリックします サーバーマネージャーを開く

  2. Add roles and features (機能と役割の追加) をクリックします サーバーマネージャー

  3. Before you begin (開始する前に) 画面で Next (次へ) をクリックします 機能と役割の追加 - 開始する前に

  4. Select installation type (インストール種類の選択) 画面で Next (次へ) をクリックします 機能と役割の追加 - インストール種類の選択

  5. Select destination server (対象サーバーの選択) 画面で Next (次へ) をクリックします 機能と役割の追加 - インストール種類の選択

  6. Select server role (サーバーの役割選択) 画面で Next (次へ) をクリックします 機能と役割の追加 - サーバーの役割選択

  7. Select Features (機能の選択) 画面で .NET Framework Features (.NET Frameworkの機能) にチェックし、.NET Framework 3.5 (include .NET 2.0 and 3.0) (.NET Framework 3.5 (include .NET 2.0 and 3.0)) にチェックし、Next (次へ) をクリックします 機能と役割の追加 - 機能の選択

  8. Confirm installation selections (インストールオプションの確認) 画面の下のほうにある Specify an alternative source path (代替ソースパスの指定) をクリックします 機能と役割の追加 - インストールオプションの確認

  9. Specify an alternative source path (代替ソースパスの指定) 画面で PathD:\source\sxs を指定し、OK をクリックします 機能と役割の追加 - 代替ソースパスの指定

  10. Confirm installation selections (インストールオプションの確認) 画面に戻るので、Install (インストール) をクリックします

  11. Installation Progress (インストールの進捗) 画面でプログレスバーがすべて進めば完了です 機能と役割の追加 - インストールの進捗

あとがき

無事にインターネットに接続できない AWS EC2 環境で .NET Framework 3.5 をインストールすることができました。GUI ベースになる Windows の記事は画像がいっぱいになって長くなってしまいますね。