プライベートサブネットにある EC2 Windows Server からプロキシサーバを経由したインターネット接続をやってみた
はじめに
テクニカルサポートの 片方 です。
プロキシ(Squid)環境下に存在する Windows Server の挙動について検証する機会があったため、構築例を紹介します。
構成
プロキシサーバは以下で構成します。
- サブネット : パブリック
- OS : Amazon Linux 2023
クライアント側は以下で構成します。
- サブネット : プライベート
- OS : Windows Server 2025

やってみた
以下の手順で実装します。
- プロキシサーバの構築
- クライアント側の設定
プロキシサーバの構築
お好みの方法で EC2 インスタンスへログイン後、コマンドを実行していきます。
本検証では Session Manager を利用しました。
プロキシサーバとして利用するために Squid をインストールします。
$ sudo dnf -y install squid
インストールが完了したら、起動設定を行います。
$ sudo systemctl start squid
$ sudo systemctl enable squid

ポート 3128 でリッスン(LISTEN)しているか、以下のコマンドを実行して確認します。
$ sudo lsof -Pi | grep squid
sh-5.2$ sudo lsof -Pi | grep squid
squid 26679 squid 7u IPv6 45466 0t0 UDP *:32829
squid 26679 squid 8u IPv4 45467 0t0 UDP *:39720
squid 26679 squid 11u IPv6 45470 0t0 TCP *:3128 (LISTEN)
sh-5.2$
次に Squid の設定ファイルを開きます。
$ sudo nano /etc/squid/squid.conf
今回の検証では、特定のドメインを拒否する設定を追加します。
Blacklist 用のテキストを作成し、拒否する方法で試します。
このようにすることで blacklist ファイルに記載されているドメインを拒否し、それ以外は許可するという設定が可能です。
.conf ファイルの一番上の行に以下を追加します。
※ http_access は上から順に評価されるため、deny ルールを先に記述しています。
#
# Blacklist
#
acl blacklist dstdomain "/etc/squid/blacklist"
http_access deny blacklist
http_access allow all

追加したら、保存してファイルを閉じます。
次はブラックリストを作成するために、新規にテキストを作ります。
$ sudo nano /etc/squid/blacklist
ここに接続を拒否したいドメインを記述します。
今回は検証用の例として、アクセス頻度が高く動作確認しやすいドメインとして yahoo (https://www.yahoo.co.jp/) を対象にしています。特定のサービスを否定する意図はありません。
.yahoo.co.jp

設定が完了したら Squid を再起動します。
$ sudo systemctl restart squid
これでプロキシサーバ側の設定は完了です。
必要に応じて、セキュリティグループのインバウンドルールでクライアント側の IP を許可してください。
お疲れさまでした!
クライアント側の設定
Windows サーバに RDP 接続し、プロキシの設定を行います。
今回は Fleet Manager を使用して接続しました。
そのため一時的に、起動中のプライベートサブネットへ マネージドノードに必要なアウトバウンド経路確保のため、以下 VPC エンドポイントを作成しています。
- com.amazonaws.ap-northeast-1.ssm
- com.amazonaws.ap-northeast-1.ssmmessages
[setting(設定)] > [Network & Internet(ネットワーク & インターネット)] を選択します。
その後、Manual proxy setup (手動プロキシ設定) を選択します。

プロキシサーバのプライベート IP とプロキシポートを記述します。
今回の場合は 10.0.24.140 と 3128です。

これで設定は完了です。
確認してみた
インターネットに繋がるか確認します。

本検証環境では、想定した挙動を確認できました。
それでは、プロキシサーバを経由してアクセスしているパブリック IP を確認します。


こちらも、問題なく出来ています。
続いて yahoo (https://www.yahoo.co.jp/) にアクセスして拒否されるか確認します。

設定したブラックリストに基づき、対象ドメインへのアクセスが Squid によって拒否されることを確認できました。
成功です!
まとめ
本ブログが誰かの参考になれば幸いです。
参考資料
- squid : Optimising Web Delivery
- 3.4. Squid でのドメイン拒否リストの設定 | Web サーバーとリバースプロキシーのデプロイ | Red Hat Enterprise Linux | 9 | Red Hat Documentation
- Systems Manager のために VPC エンドポイントを使用して EC2 インスタンスのセキュリティを強化する - AWS Systems Manager
- Windows でプロキシ サーバーを使用する - Microsoft サポート
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました






