目次
はじめに
皆さんこんにちは!
早いものでもう12月22日ですね!
小学生の頃はもうすぐサンタさんがプレゼントを持ってくるとワクワクしていたものです(^^)
きっと今年も来てくれることでしょう!楽しみです💓
前回は自己紹介ブログだったので、技術のブログを書くのは初めてでなにを書こうかすっごく悩んだのですが、今回は実際の業務で検証してみた内容について書いていきます!
■ 検証内容
アウトバウンド443番ポートのみ許可した状態のWindowsサーバで、Windowsアップデートはできるのか
こちらについて実際に検証してみた結果をまとめてみました!
検証の詳細について
■ 目的
Windowsアップデートがセキュリティ要件の厳しい環境(HTTPSのみ許可)で正常に実行できるのかを検証する
■ 背景
顧客のセキュリティ要件
- 必要なポートのみを開放
- 通信はTLS による暗号化が必須
Windows アップデート通信要件
- 一般的に80番ポートと443番ポートが必要とされている
■ 検証環境構成
- VPC(パブリックサブネット・プライベートサブネット)
- NAT Gateway(プライベートサブネット用のアウトバウンド通信)
- EC2 Windowsサーバ(プライベートサブネットに配置)
- RDP 接続方法:SSM Fleet Managerを使用
■ 構成図

検証の詳細についてはこんな感じになっています!
必要なポートのみを開放する必要があるので、443番ポートのみで実行できるのなら80番ポートを開放したくないってことですね!
結論
先に結論を言いますと、443番ポートのみではWindowsアップデートは不可能でした。
やはり80番ポートも許可が必要なようです。
検証の手順を説明していきます
まず、AWSコンソールでVPCと検索してVPCへ移動
VPC作成
- 「VPCを作成」をクリック
- 「VPCのみ」を選択
- 名前タグに任意の名前を入力(今回は
windows-update-test-vpc) - IPv4 CIDRに
10.0.0.0/16を入力 - IPv6 CIDR ブロックなしを選択
- テナンシーは「デフォルト」のまま
- 「VPCを作成」をクリック

サブネット作成
パブリックサブネット(NAT Gateway用)
- 左メニュー「サブネット」をクリック
- 「サブネットを作成」をクリック
- VPCに作成したVPCを選択(今回は
windows-update-test-vpc) - サブネット名に任意の名前を入力(今回は
windows-update-test-public-subnet) - アベイラビリティーゾーンは「ap-northeast-1a」を選択
- IPv4 サブネット CIDR ブロックに
10.0.1.0/24を入力 - 「サブネットを作成」をクリック

プライベートサブネット(Windows Server用)
- 「サブネットを作成」をクリック
- VPCに作成したVPCを選択(今回は
windows-update-test-vpc) - サブネット名に任意の名前を入力(今回は
windows-update-test-private-subnet) - アベイラビリティーゾーンは「ap-northeast-1a」を選択
- IPv4 サブネット CIDR ブロックに
10.0.2.0/24を入力 - 「サブネットを作成」をクリック

インターネットゲートウェイ作成
- 左メニュー「インターネットゲートウェイ」をクリック
- 「インターネットゲートウェイの作成」をクリック
- 名前タグに任意の名前を入力(今回は
windows-update-test-igw) - 「インターネットゲートウェイの作成」をクリック

- 作成したインターネットゲートウェイを選択して「アクション」をクリックし、「VPCにアタッチ」を選択

- 作成したVPCを選択して「インターネットゲートウェイのアタッチ」をクリック

NATゲートウェイ作成
- 左メニュー「NAT ゲートウェイ」をクリック
- 「NAT ゲートウェイを作成」をクリック
- 名前に任意の名前を入力(今回は
windows-update-test-nat) - アベイラビリティーモードはゾーナルを選択
- サブネットに今回作成した
windows-update-test-public-subnetを選択 - 接続タイプは「パブリック」を選択
- 「Elastic IP を割り当て」をクリック
- 「NAT ゲートウェイを作成」をクリック

ルートテーブル設定
パブリックサブネット用ルートテーブル
- 左メニュー「ルートテーブル」をクリック
- VPCのデフォルトルートテーブルを選択
- 名前を変更(今回は
windows-update-test-public-rt) - 「ルート」タブ⇒「ルートを編集」⇒「ルートを追加」
- 送信先は「0.0.0.0/0」、ターゲットは「インターネットゲートウェイ」、作成したIGWを選択
- 「変更を保存」をクリック

- 「サブネットの関連付け」タブ⇒「サブネットの関連付けを編集」
windows-update-test-public-subnetを選択- 「関連付けを保存」をクリック

プライベートサブネット用ルートテーブル
- 「ルートテーブルを作成」をクリック
- 任意の名前を入力(今回は
windows-update-test-private-rt) - VPCに作成した
windows-update-test-vpcを選択 - 「ルートテーブルを作成」をクリック

- 作成後、「ルート」タブ⇒「ルートを編集」⇒「ルートを追加」
- 送信先は「0.0.0.0/0」、ターゲットは「NAT ゲートウェイ」、作成したNAT ゲートウェイを選択
- 「変更を保存」をクリック

- 「サブネットの関連付け」タブ⇒「サブネットの関連付けを編集」
windows-update-test-private-subnetを選択- 「関連付けを保存」をクリック

セキュリティグループ作成
- 左メニュー「セキュリティグループ」をクリック
- 「セキュリティグループを作成」をクリック
- 任意のセキュリティグループ名を入力(今回は
windows-update-test-sg) - 説明を入力
- VPCに作成した
windows-update-test-vpcを選択 - アウトバウンドルールを以下のルールに変更
デフォルトルール(すべてのトラフィック、0.0.0.0/0)を削除
以下のルールを追加:
HTTP TCP 80 0.0.0.0/0
HTTPS TCP 443 0.0.0.0/0
DNS(UDP) UDP 53 0.0.0.0/0 - 「セキュリティグループを作成」をクリック

IAM ロール作成
IAMへ移動
- 左メニュー「ロール」をクリック
- 「ロールを作成」をクリック
- 信頼されたエンティティタイプに「AWSのサービス」を選択
- ユースケースにEC2を選択⇒「次へ」をクリック

- 許可を追加に「AmazonSSMManagedInstanceCore」を検索して選択⇒「次へ」

- ロール名に任意の名前を入力(今回は
windows-update-test-role) - 「ロールを作成」をクリック

443番ポートと80番ポート両方許可した場合
443番ポートと80番ポート両方許可した場合の検証を先に実施します!
EC2インスタンス作成
EC2へ移動
- 左メニュー「インスタンス」をクリック
- 「インスタンスを起動」をクリック
- 任意の名前を入力(今回は
windows-update-test) - Amazon マシンイメージ (AMI)に、「ami-02cf4003c39627e50」と入力し検索
- 「Windows_Server-2025-Japanese-Full-Base-2025.10.15」を選択

- インスタンスタイプは「t3.medium」を選択
- キーペアを選択
- ネットワーク設定は以下の設定
VPCに作成したwindows-update-test-vpcを選択
サブネットはwindows-update-test-private-subnetを選択
パブリック IP の自動割り当ては「無効化」
ファイアウォール (セキュリティグループ)は「既存のセキュリティグループ」を選択
共通のセキュリティグループはwindows-update-test-sgを選択

- 高度な詳細は以下の設定
IAM インスタンスプロフィールに作成したwindows-update-test-roleを選択 - 「インスタンスを起動」をクリック

Fleet Manager
Systems Managerへ移動
- 左メニュー「フリートマネージャー」をクリック
- 「使用を開始する」をクリック
windows-update-testを選択- ノードアクション⇒接続⇒リモートデスクトップで接続

- 認証タイプは「キーペア」を選択
- ファイルを選択で、EC2インスタンス作成時に指定したキーペアを選択
- 「接続」をクリック

- 接続できたら、Windows PowerShellを管理者として実行

- 以下のコマンドを実行し、接続のテストを実施
Test-NetConnection windowsupdate.microsoft.com -Port 80
Test-NetConnection windowsupdate.microsoft.com -Port 443
80番ポート、443番ポートで接続できることを確認

- Windows Updateを以下の方法で実施
スタートメニュー⇒設定⇒Windows Update⇒更新プログラムのチェック
Windows アップデートが可能なことを確認

この検証により、
80番ポート、443番ポートを許可している場合、Windows アップデートが可能なことを確認できました!
443番ポートのみ許可した場合
次は443番ポートのみ許可した状態でWindows アップデートが可能か検証していきます。
セキュリティグループ作成
VPCへ移動
- 左メニュー「セキュリティグループ」をクリック
- 「セキュリティグループを作成」をクリック
- 任意のセキュリティグループ名を入力(今回は
windows-update-test-443only-sg) - 説明を入力
- VPCに作成した
windows-update-test-vpcを選択 - アウトバウンドルールを以下のルールに変更
デフォルトルール(すべてのトラフィック、0.0.0.0/0)を削除
以下のルールを追加:
HTTPS TCP 443 0.0.0.0/0
DNS(UDP) UDP 53 0.0.0.0/0 - 「セキュリティグループを作成」をクリック
EC2インスタンスを作成
EC2へ移動
- 左メニュー「インスタンス」をクリック
- 「インスタンスを起動」をクリック
- 任意の名前を入力(今回は
windows-update-test-443only) - Amazon マシンイメージ (AMI)に、「ami-02cf4003c39627e50」と入力し検索
- 「Windows_Server-2025-Japanese-Full-Base-2025.10.15」を選択
- インスタンスタイプは「t3.medium」を選択
- キーペアを選択
- ネットワーク設定は以下の設定
VPCに作成したwindows-update-test-vpcを選択
サブネットはwindows-update-test-private-subnetを選択
パブリック IP の自動割り当ては「無効化」
ファイアウォール (セキュリティグループ)は「既存のセキュリティグループ」を選択
共通のセキュリティグループはwindows-update-test-443only-sgを選択 - 高度な詳細は以下の設定
IAM インスタンスプロフィールに作成したwindows-update-test-roleを選択 - 「インスタンスを起動」をクリック
Fleet Manager
Systems Managerへ移動
- 左メニュー「フリートマネージャー」をクリック
- 「使用を開始する」をクリック
windows-update-test-443onlyを選択- ノードアクション⇒接続⇒リモートデスクトップで接続
- 認証タイプは「キーペア」を選択
- ファイルを選択で、EC2インスタンス作成時に指定したキーペアを選択
- 「接続」をクリック
- 接続できたら、Windows PowerShellを管理者として実行
- 以下のコマンドを実行し、接続のテストを実施
Test-NetConnection windowsupdate.microsoft.com -Port 80
Test-NetConnection windowsupdate.microsoft.com -Port 443
443番ポートのみ接続可能なことを確認

- Windows Updateを以下の方法で実施
スタートメニュー⇒設定⇒Windows Update⇒更新プログラムのチェック

エラーになり、Windows アップデートが不可能なことを確認
この検証により、443番ポートのみではWindows アップデートは不可能ということが確認できました。
さいごに
Windows アップデートには80番ポートも必要なようですね…!
Windows_Server-2022で試してみても同じ結果になりました。
検証してみないとわからなかったので、検証してみるって大事ですね。
勉強になりました!
最後までお読みいただきありがとうございました💚
それではよいクリスマスをお過ごしください♪
アーキテクト課で唯一の女子です。
好きなものは旅行と犬。
一人前のエンジニアになれるよう頑張ります。