私には、出張してIPアドレスを絶えず変更しているリモート開発者がいます。 EC2のインスタンスで実行されているVPNに接続できるようにしたいと思います。キーを使用してVPNに接続すると、VPNを使用してトラフィックをRDSサーバーに中継できます。開発者ごとにセキュリティグループの設定を毎日絶えず変更することはできません。
OpenVPNを調べたところ、VPNをホストしているインスタンスへのVPN接続を直接作成できます。 RDSが返信をRDSインスタンスにルーティングする方法を知らないため、ルートが機能していないと思います。
非常に簡単な解決策は、SSHトンネルを使用してSQLトラフィックを伝送することです。 EC2インスタンスで実行しているOSについては言及していないため、Linuxを実行していると想定します(Linuxを実行していない場合は、この目的のためにt1.micro
インスタンスを起動するだけです。このタイプのトラフィックには十分な馬力が提供されます)。つまり、Linuxサーバーがあれば、このセットアップは非常に簡単です。各開発者はそのサーバーにアカウントが必要であり、開発者は自分用のキーペアを生成し、サーバーアカウントに展開するための公開キーを提供する必要があります。
ユニキシーOSを使用している場合は、次のようなコマンドを実行します。
$ ssh user@ec2-Host -L3306:a.b.c.d:3306
...ここで、「a.b.c.d」はRDSインスタンスのIPアドレスです。各ユーザーが、SSH接続しているec2ホストから接続するために、RDSデータベースに適切な許可を持っていることを確認する必要があります。
これを行った後、開発者はtheir localhost、ポート3306に接続し、そのトラフィックはRDSインスタンスにトンネリングされます。
(私は実際にRDSを使用したことはありませんが、MySQLのドロップイン代替として構築されているため、ポート3306を使用しているという私の仮定は正しいと思います。別のポートを使用している場合は、最後にポート番号を変更してください上記のコマンドの)
ええ、あなたは少しいじくり回さずにこれを行うことはできないでしょう。最も簡単な解決策は、ゲートウェイがRDSに送信するときにVPNトラフィックをNATすることです。これにより、RDSは、トラフィックをゲートウェイに送り返す前に、NATをファイルして送信します。 VPNをバックアップします。 mightが機能するもう1つの方法は、VPCを使用することです。私はこれをRDSで使用したことはありません(または、正直に言うと、まったく使用していません)が、VPCネットワーキングの仕組みを理解しているので、RDSがVPCにフックする可能性があるため、可能性がありますゲートウェイを使用できます。ただし、NATが最も簡単なオプションになると思います。