質問: 手元の PC から、 AWS の VPC へ VPN 接続を行いたいです。具体的には: * プライベート IP をブラウザで指定しながら、 VPC 内インスタンスのウェブサービスに接続したい。(インターネットに公開されないウェブサービス. もろもろ管理画面などを想定) ssh + port forwarding で、特定のポートだけこじ開ける方法は分かりますが、それだと接続したサービスごとにポート・ホスト情報をひとつずつポートを開けていく必要があります。VPN 接続ができれば、そこの設定だけで、 VPC 内のインスタンスに IP 指定するだけで接続できるようになり、便利だと考えたので質問しています。 ### 質問 上記やりたいことを実現するのに利用できるツール・サービスなどはありますか? 公式ページ: VPN 接続 - AWS は見てみたのですが、何やらいろいろ書いてあるけれども結局上記やりたいことをどうやったらできるのかがパッと見わからないので質問しています。 ### 質問者の知識レベル VPN という概念は知識として知っているが (LAN を拡張するような技術)、実際に VPN クライアントなどは触ったことがない。 ### 補足 1. 手元の PC だけから接続できればよく、手元の LAN を VPC と VPN 接続したいわけではありません。 2. ウェブブラウザが VPC 内部へ http(s) できればよいのか、について、今今のやりたいことを考えると、下記が達成できればそれでよいと考えます。 * 「手元のPC」以外からは VPC 内部へ接続できない * 「手元のPC」はノートなので、違う LAN から接続しても、特に追加の設定変更は必要ない
回答: > > ssh + port forwarding で、特定のポートだけこじ開ける方法は分かりますが、それだと接続したサービスごとにポート・ホスト情報をひとつずつポートを開けていく必要があります。 > > > OpenSSHには `-D [address:]port` オプションがあります。 > > 今のところ SOCKS4 および SOCKS5 プロトコルが使われており、ssh は SOCKS サーバのようにふるまいます。 > > > また多くのWebブラウザーはSOCKSサーバーをproxyとして使用する機能があります。この2つを組み合わせることでVPNを使用しなくてもVPC内にアクセスできます。 * `ssh -D 1234`でVPC内のEC2に接続する * Webブラウザーのproxy設定で`localhost:1234`を指定する * WebブラウザーからVPC内のプライベートIPにアクセスする Webブラウザーのみであればこの方法が簡単かと思います。