AWS EC2 AからEC2 Bのプロキシ(Squid)を通すイメージ例

目次

流れ

フォワードプロキシ(HTTP/HTTPSだけ通過)

EC2 A (client) ──TCP:3128──> EC2 B (Squid) ──> IGW/NATGW ──> Internet

 

ネットワーク

・EC2 Aと EC2 Bは同じ VPC(または到達性あり)。

・EC2 Bは外向き経路あり。

 

セキュリティグループ

・EC2 AのSGは、 Outbound で EC2 BへのSG:3128 を許可。

・EC2 BのSGは、Inbound TCP 3128 を EC2 Aから許可。Outbound 80/443, 53(DNS) 許可。

・EC2 Bにsquid(スクイッド)をインストール。squidはプロキシの機能を持つソフトです。

 

Linuxのシェル(bash)で接続する場合

EC2 A (client)

export http_proxy=http://<EC2 Bのプライベート名またはIP>:3128
export https_proxy=http://<EC2 Bのプライベート名またはIP>:3128
# バイパス
export no_proxy=169.254.169.254,127.0.0.1,localhost,.internal,<VPC CIDR>

 

Windowsのブラウザから見るときの設定

EC2 AのWindows 10/11(Chrome/Edgeは既定でシステム設定を使用)

設定 → ネットワークとインターネット → プロキシ

手動プロキシ セットアップ を オン

アドレス:proxy.internal.example.com

ポート:3128

以下の例外(バイパス) を入力
もしくは「インターネットオプション」→ 接続 → LANの設定 → 詳細設定 → 例外欄に入力

169.254.169.254;127.0.0.1;localhost;*.internal;10.0.0.0/8;172.16.0.0/12;192.168.0.0/16

 

バイパスとは

「バイパス」は直訳で“迂回”。既定の経路・設定・仕組みを通さずに実行することを指します。

169.254.169.254

AWSの インスタンスメタデータサービス(IMDS) の固定IPです(主要クラウドで共通)。ここをプロキシ経由にするとメタデータ/IAMロール資格情報の取得が失敗したり、最悪漏えいの危険があるため 必ず直通(バイパス) にします。
(ECSなら 169.254.170.2 もバイパス候補)

127.0.0.1 / localhost

ループバック(自分自身)。ローカルのエージェントやデーモンへアクセスするときにプロキシを通すとループや失敗の原因になるため 直通。

.internal

末尾が「.internal」の 社内・VPC内ドメイン をまとめて直通にするためのサフィックス指定(先頭の「.」はサブドメイン全体にマッチ)。Route 53のPrivate Hosted Zoneなどを想定。

10.0.0.0/8

RFC1918の プライベートアドレス帯。社内宛の通信はプロキシを介さず 直接 到達させる意図です。実運用では 172.16.0.0/12 や 192.168.0.0/16 も併せて入れることが多いです。

 

関連の記事

プロキシサーバとリバースプロキシサーバの違い

△上に戻る