AWS EC2 上で Proxy.py を使用して軽量 HTTP プロキシサーバーをセットアップする方法
岩佐 孝浩
3 min read
EC2 Proxy.py Python
はじめに
URL Copied!
Proxy.py
は、迅速かつ効率的にデプロイ可能な 軽量 HTTP プロキシサーバー です。このチュートリアルでは、AWS EC2 インスタンス 上に Proxy.py をセットアップし、ウェブサイトや API へのアクセスを可能にする方法を解説します。
2022 年 5 月 27 日、AWS はリモートホストへの Port Forwarding をサポートしました。特定のユースケースでは、こちらがより適した代替手段となる場合があります。
AWS-StartPortForwardingSessionToRemoteHost
セッションマネージャードキュメントを使用して CLI からポートフォワーディングセッションを開始できます。
前提条件
URL Copied!
以下を準備してください。
- 実行中の AWS EC2 インスタンス
- EC2 インスタンスへの SSH アクセス
- インスタンス上にインストールされた Python と
pip
ステップ 1: Proxy.py のインストール
URL Copied!
以下のコマンドを使用して Proxy.py をインストールします。
pip install proxy.py
ステップ 2: Proxy.py の起動
URL Copied!
以下のコマンドで Proxy.py を起動します。
proxy --port 8080
起動後、ターミナルに以下のようなログが表示されるはずです。
pid:3330 [I] plugins.load:85 - Loaded plugin proxy.http.proxy.HttpProxyPlugin
pid:3330 [I] tcp.listen:82 - Listening on 127.0.0.1:8080
pid:3330 [I] pool.setup:108 - Started 1 acceptors in threaded mode
...
SSH セッションを終了しても Proxy.py が動作を続けるようにするには、以下のコマンドを使用してください。
nohup proxy --port 8080 > /dev/null &
ステップ 3: プロキシサーバーのテスト
URL Copied!
EC2 インスタンスへの SSH トンネルを確立します。
ssh -L 8080:localhost:8080 -i .ssh/YOUR_PRIVATE_KEY ec2-user@YOUR_HOST
以下のコマンドを使用して Google へのリクエストを送信し、プロキシをテストします。
curl www.google.com -x http://localhost:8080
プロキシが正常に動作している場合、Google の HTML レスポンスを受信します。
まとめ
URL Copied!
Proxy.py は、特に Nginx などの複雑なソリューションが不要なシナリオにおいて、軽量プロキシのニーズに対応する汎用的かつ効率的なツールです。最小限のセットアップとシンプルな構成で済むため、開発者やシステム管理者にとって優れた選択肢となります。
より詳しい情報は、公式の Proxy.py ドキュメント をご参照ください。
Happy Coding! 🚀