Requests をフォワードプロキシ向けに設定すると、Lambda はまずそのリスナーに接続します。443 の HTTPS サイトは、3128 で待ち受けるプロキシを最初のホップのポート 443 に変えるものではありません。

Lambda code → configured VPC path → proxy listener → destination

EC2 上のプライベートプロキシでは、関数を想定した VPC サブネットとセキュリティグループに接続します。Lambda はその接続のネットワークインターフェイスを管理します。ルーティングとアクセス制御が許せば、別のサブネットでも動作します。

制御同一 VPC 内で直接ルーティングする構成における最初のホップの要件
関数のセキュリティグループプロキシリスナーへの外向き TCP
プロキシのセキュリティグループ想定した関数の送信元またはセキュリティグループからそのポートへの内向き TCP
プロキシプロセス到達可能なインターフェイスでクライアントアクセスを許可したリスナー

関数グループ側の内向きルールだけでは、この外向きのクライアント接続を許可できません。経路の確認にはルートテーブルとサブネットのネットワーク ACL を含めます。

Route 53 のプライベートなプロキシ名では、ホストゾーンの VPC 関連付けと DNS 設定を確認します。enableDnsHostnames と enableDnsSupport も対象です。ノート PC での名前解決の成功は Lambda の DNS の見え方を証明しません。失敗した名前がプロキシかウェブサイトかを記録します。ウェブサイトを数値 IP に変えてもプロキシ名の修正にはなりません。

このホップが通ったら、プロキシ自身の先の経路が必要です。Lambda をパブリックサブネットに接続してもパブリック IP は割り当てられず、直接のインターネットアクセスが自動で得られるわけではありません。2 つの接続それぞれについて外向き通信を別に決めます。

関連記事