web-dev-qa-db-ja.com

単一のVPN接続を介して複数のAWSVPCに接続する

既存のAWSセットアップをロックダウンすることを検討しています。現時点では、すべてが単一のデフォルトVPC(テスト、ステージング、本番)内にあり、すべてパブリックサブネット内にあります。

私の計画は、パブリックサブネットとプライベートサブネットを利用して、3つの環境を3つの異なるVPCに分離することです。

また、現在サーバーにはパブリックIPがあり、誰でもアクセスできるため、サーバーへのアクセスを制限したいと考えています。理想的にはIPホワイトリストを作成するだけですが、これはリモートチームであり、あらゆる場所で機能するため、動的IPを使用して対処する必要があります。

私の計画は、OpenVPNインスタンスを使用して、それを介して人々を接続させることです。私の非常に限られた理解(ソフトウェアエンジニアの経歴、非常に限られたネットワーク経験)から、これはうまくいくはずです。

私の質問は、3つのVPCがあり、VPNインスタンスはそのうちの1つに存在する必要があります。 VPN経由で他の2つのVPCへのアクセスを許可するにはどうすればよいですか?それが最善のアプローチ(直接アクセス)ですか、それともVPCごとにVPN接続が必要ですか。後者はやり過ぎのようですが、よくわかりません。

ありがとう。

編集:または別のオプションは、単一のVPCを使用することですが、サブネットを使用してテスト、ステージング、および本番環境を分離しますか?理想的ではありませんが、これを行う人は数人いると読みました。

3
Stephen Melrose

最善のオプションは、AWSがVPCセットアップにすでに含めているVPNを実際に利用することです。あなたがやろうとしていることをすでに設定していることから言えば。ユーザーをオフィスやデータセンターなどの中央の場所に接続させることはオプションです。そうでない場合は、以下のセットアップの拡張バージョンが機能し、ユーザーが接続するための別のVPNインスタンスが追加されます。

VPCが相互に通信する必要がある場合は、複数のVPNインスタンスをセットアップする必要があります。VPCごとに少なくとも1つ、できれば冗長性のために複数のインスタンスを設定しますが、そのためには、 AWSのルーティングテーブルをフェイルオーバーして新しいパスで更新します。

オプション1:

トラフィックを他のVPCにルーティングするためにトンネルが作成されたAWSでユーザーが接続するための中央VPNサーバー。 VPNトンネルを作成するには、個別のVPCに他のインスタンスが必要になります。

オプション2:

ユーザーがAWSで接続するための中央VPNサーバー。他のVPCに接続するためのトンネルでセットアップされたVPCごとの1つ以上の他のVPNインスタンス。

オプション3:

ユーザーVPNが設定されているセントラルオフィスまたはデータセンターへのAWSVPN機能。 VPC間の接続用にトンネルが設定されたAWSの1つ以上のVPNインスタンス。

残念ながら、AmazonにはVPC間のVPNの設定がないため、トンネルを提案する場合は、少なくとも、トンネルの設定ごとにインスタンスのセットが必要になります。

4
Craig

私は実際に答えがこのAWSドキュメントにあると思います: CIDRブロック全体へのルートを持つ構成

この構成に従って、単一のVPNインスタンスを実行することができました

アクセスしたいボックスが存在するピアリングされたVPCのサブネットと同じように、VPNボックスを持つサブネットに関連付けられたルートテーブルにピアリング接続のルーティングを追加します

私は問題なくそれらのボックスにsshすることができました

1
Hafiz