オフィス狛 技術部のJoeです。
最近担当したプロジェクトで、開発用に用意した複数のAmazon WorkSpaces(Windows)から、外部の開発用VPNへ接続する必要があったのですが、 VPNに接続可能なIPアドレスが1つという制限がありましたので、EC2でプロキシサーバーを構築することにしました。
AWSであれば、NAT(インスタンス、ゲートウェイ)でも実現可能ですが、 今回の開発環境では、一部ネットワークの接続制限がありましたので、プロキシサーバーを選択しました。
最低限の設定にはなりますが、手順をご紹介します。
※VPC、サブネット等は、事前に作成されている前提です
1.EC2インスタンス作成(Linux)
プロキシサーバー用のEC2インスタンス(Linux)を作成します。細かい手順は省略させていただきますが、注意点としては以下のようになります。
・インスタンスタイプは最小を選択
・「インスタンスの詳細の設定」で、「自動割り当てパブリックIP」は「無効化」に設定
※後で「Elastic IPアドレス」を関連付けます
2.Elastic IPアドレスの割り当てとEC2への関連付け
EC2サービスの「Elastic IP」から、プロキシサーバー用の固定IPアドレスを割り当てます。・スコープ:VPC
・パブリックIPv4 アドレスプール:Amazon の IPv4 アドレスプール
続けて、割り当てたIPアドレスを選択して、Actionの「Elastic IP アドレスの関連付け」から、1.で作成したEC2に関連付けます。
3.Squidの設定
プロキシサーバー用のEC2インスタンス(Linux)に、プロキシサーバーソフトの「Squid」を、以下の手順で設定します。①Squidインストール
sudo yum install -y squid
②Squid有効化
sudo systemctl enable squid
③有効化の確認(squid.serviceがenabledであること)
sudo systemctl list-unit-files -t service | grep squid
④Squid設定ファイル修正
設定ファイルに、プロキシサーバーに接続するIPアドレスを設定します。
※注意
必ず、「http_access deny all」の記述より「上」に設定してください。
(上記は「そのほかのアクセスはすべて拒否する」という意味になりますので、下に設定してしまうと有効になりません)
sudo vim /etc/squid/squid.conf
【追記内容】
# 接続したいIPアドレスを指定(複数指定可能) acl myip src [IPアドレス1]/32 acl myip src [IPアドレス2]/32 # 接続したいIPを許可 http_access allow myip
⑤Squidリロード
設定ファイルを反映する場合、再読み込みを行います。
sudo systemctl reload squid
⑥squidアクセスログ確認
ログでアクセス状況を確認することもできます。
sudo cat /var/log/squid/access.log
4.WorkSpaces(Windows)側の設定
最後に接続側の設定です。インターネットオプションから、「接続」タブの「LANの設定」ボタン押下します。
続けて「プロキシサーバーを使用する」をチェックして、
・アドレス:2.で割り当てたElastic IPアドレス
・ポート:Squid設定ファイルにの「http_port」に定義されているポート番号(デフォルトは3128)
※プロキシサーバーを使用したくない接続先がある場合は、「詳細設定」ボタンから、例外を指定してください。
以上が、必要最低限の設定になります。
接続側のグローバルIPを確認(確認くん など)すると 「2.Elastic IPアドレス」のIPアドレスが、表示されると思います。
AWS , EC2
0 件のコメント:
コメントを投稿