60

現在、別のVPSプロバイダーからAmazonEC2に移行しています。私たちはあなたの典型的なウェブサーバー/データベースサーバーのニーズを持っています。データベースサーバーの前にあるWebサーバー。データベースサーバーには、インターネットから直接アクセスすることはできません。

インスタンスを作成し、セキュリティグループを使用してそれらをファイアウォールで保護するのではなく、これらのサーバーをAWS Virtual Private Cloud(VPC)に配置する理由があるのではないかと思います。

私たちは、典型的なWebアプリだけで特別なことは何もしていません。

VPCを使用する理由またはVPCを使用しない理由はありますか?

ありがとう。

4

6 に答える 6

58

注:AWSの新しいアカウントは、「デフォルトのVPC」をすぐに有効にして起動し、「EC2-Classic」を使用できなくなります。そのため、この質問と回答は、2012年8月よりも意味がなくなりました。「EC2-Classic」とVPC製品ラインのフレームの違いに役立つため、回答はそのままにしておきます。詳細については、 AmazonのFAQを参照してください。

はい。セキュリティを意識している場合、CloudFormationのヘビーユーザーである場合、または自動スケーリングを完全に制御したい場合(Beanstalkは、その特定の側面を抽象化しますが、スケーリングパラメーターへの完全なアクセスを提供します)、VPCを使用します。このブログ投稿は、長所と短所の両方を要約した素晴らしい仕事をしています。ブログ投稿(kiip.meによって書かれた)からのいくつかのハイライト:

EC2の何が問題になっていますか?

すべてのノードはインターネットでアドレス指定できます。これは、グローバルインターネット上に存在する理由がないノードにはあまり意味がありません。例:データベースノードには、パブリックインターネットホスト名/IPを含めないでください。

すべてのノードは共有ネットワーク上にあり、相互にアドレス可能です。つまり、ユーザー「Bob」によって起動されたEC2ノードは、ユーザー「Fred」によって起動されたEC2ノードのいずれかにアクセスできます。デフォルトでは、セキュリティグループはこれを許可していませんが、特にカスタムセキュリティグループを使用している場合は、この保護を簡単に元に戻すことができます。

パブリックインターフェイスとプライベートインターフェイスはありません。パブリックホスト名のすべてのトラフィックを無効にしたい場合でも、できません。ネットワークインターフェースレベルでは、各EC2インスタンスには1つのネットワークインターフェースしかありません。パブリックホスト名とElasticIPは、「プライベート」ネットワークにルーティングされます。

VPCの優れている点

何よりもまず、VPCはEC2と比較して信じられないほどの量のセキュリティを提供します。VPC内で起動されたノードは、グローバルインターネット、EC2、またはその他のVPCを介してアドレス指定できません。これは、セキュリティを忘れることができるという意味ではありませんが、EC2と比較してはるかに安全な出発点を提供します。さらに、プライベートノードは単に「プライベートネットワークからのトラフィックを許可する」と言うことができるため、ファイアウォールルールがはるかに簡単になります。ノードを起動してからWebサーバーが完全に実行されるまでの時間は、ファイアウォールの変更の伝播を回避するために節約された時間だけのために、20分から約5分に短縮されました。

DHCPオプションセットを使用すると、新しいノードがVPC内で起動されたときに使用するドメイン名、DNSサーバー、NTPサーバーなどを指定できます。これにより、カスタムDNSの実装がはるかに簡単になります。EC2では、同じ効果を得るには、新しいノードを起動し、DNS構成を変更してから、ネットワークサービスを再起動する必要があります。内部ノード解決のためにKiipで独自のDNSサーバーを実行しており、DHCPオプションセットを使用すると簡単に実行できます(10.101.84.22ではなくeast-web-001と入力する方がはるかに理にかなっています)。

そして最後に、VPCははるかに現実的なサーバー環境を提供するだけです。VPCはAWS独自の製品であり、AWSに「ロックイン」しているように見えますが、VPCが採用するモデルは、独自の専用ハードウェアの実行を開始することにした場合に似ています。事前にこの知識を持ち、それを取り巻く実際の経験を積み上げることは、自分のハードウェアに移行する必要がある場合に非常に貴重です。

この投稿には、VPCに関するいくつかの問題も記載されています。これらはすべて、多かれ少なかれルーティングに関連しています。VPCからインターネットゲートウェイまたはNATインスタンスを取得する、VPC間で通信する、データセンターへのVPNを設定する。これらは時々非常にイライラする可能性があり、学習曲線は簡単ではありません。それでも、セキュリティ上の利点だけでもおそらく移動する価値があり、Amazonのサポート(お金を払っても構わないと思っている場合)は、VPC構成に関して非常に役立ちます。

于 2012-08-15T13:29:36.750 に答える
13

現在、VPCにはEC2に比べて次のようないくつかの便利な利点があります。

  • インスタンスごとに複数のNIC
  • NICごとに複数のIP
  • 'deny'-セキュリティグループのルール
  • DHCPオプション
  • 予測可能な内部IP範囲
  • インスタンス間でNICと内部IPを移動する
  • VPN

おそらくAmazonはこれらの機能のいくつかでEC2をアップグレードするでしょうが、現在はVPCのみです。

于 2012-12-07T13:49:12.897 に答える
2

VPCは、アプリがEC2の外部のサーバーにアクセスする必要がある場合、たとえば、独自の物理データセンターでホストされ、インターネット経由でアクセスできない共通のサービスがある場合に役立ちます。すべてのWebサーバーとDBサーバーをEC2に配置する場合、VPCを使用する理由はありません。

于 2012-08-14T22:01:10.473 に答える
2

現在、VPCは内部ロードバランサーを使用する唯一の方法です

于 2013-04-22T21:09:26.763 に答える
1

データベースサービスを提供するためにRDSを選択した場合、特定のEC2セキュリティグループからのデータベース接続を許可するようにDBセキュリティグループを設定できます。EC2クラスターに動的IPアドレスがある場合でも、RDSは自動的にファイアウォールルールを作成して許可します。インスタンスからの接続のみで、この場合はVPSのメリットが減少します。

一方、VPSは、EC2インスタンスがローカルネットワークにアクセスする必要がある場合に最適です。その後、VPSとローカルネットワークの間にVPN接続を確立し、IP範囲、サブネットワーク、ルート、および送信ファイアウォールルールを制御できます。あなたが探しているものではありません。

また、 Elastic Beanstalkを試してみることを強くお勧めします。これは、PHP、Java、および.Netアプリケーション用にEC2クラスターを簡単にセットアップできるコンソールを提供し、Auto ScalingElastic Load Balancer、および自動アプリケーションバージョン管理を有効にして、不適切なデプロイメントから簡単にロールバックできるようにします。 。

于 2012-08-15T11:15:17.293 に答える
0

あなたはここで良い懸念を提起しました。

コスト面での実行可能性に焦点を当てたいと思います...

コスト要因はどうですか?

私はあなたが1時間あたりそのサーバーの代金を払うことになると思います。月に20ドルから50ドルのインスタンスを選んだとしても、それはサーバーの残りの寿命を支払うものになります。VPNサーバーは、古いハードウェアに非常に安価に簡単に設定でき、オープンソースソリューションでも無料で利用できるものです。

既存のAWSサーバーパークにVPNを追加することは理にかなっていますが、AWSに単独のVPNサーバーを設定することは意味がありません。私はそれが最良の費用対効果の高い選択肢ではないと思いますが、それは私の意見です。

ありがとう、

アリサ

于 2019-06-13T06:25:52.390 に答える