目次
流れ
フォワードプロキシ(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 も併せて入れることが多いです。
関連の記事