アプリケーションホスティングに1つのVPCを使用するか、複数のVPCを使用するかに関して、何が良いプラクティスであるかについての具体的なガイダンスを見つけることができません。リンクこの問題には触れていますが、かなり古く、実際のところ答えは提供されていません。
現在、約 50 個のアプリと 2 つのデータベース ファーム (SQL Server と Oracle) で構成される従来ホスト環境の AWS への移行に取り組んでいます。総資産は約 250 台の Windows サーバーです。現在、各アプリは基本的に独自の /24 サブネット上にあります。
各アプリとデータベース ファームは、それぞれ独自の AWS アカウントと VPC 内に配置するようにという指示を受けましたが、このアプローチの賢明さ、特にアプリとデータベースを分離する部分については確信が持てません。
アカウントについては、請求に関する問題なので、あまり心配していません。しかし、VPC に関しては、次のような違いを理解しようとしています。
- 1 つの VPC 内で環境全体を複製するのに対し、
- 同じ数のアプリ/サーバーをホストするために 50 個の VPC を導入します。
(1) と (2) のどちらか、あるいはその中間の妥協案を決める際に考慮すべきことは何でしょうか。AWS のドキュメントを確認しましたが、このトピックに関する明確なアドバイスは見つかりませんでした。
私が考える主な違いは、ネットワーク トラフィックがすべて VPC 内であるか、VPC 間であるかという点です。これは次のことを意味します。
- VPC 間トラフィックにはコストがかかりますが、VPC 内トラフィックにはコストがかからないため、追加コストが発生します。
- ピアリングやトランジット ゲートウェイなどの VPC 間メカニズムを選択、セットアップ、管理する必要があるため、さらに複雑になります。
しかし、上記のいずれも、どちらか一方を実行する明確な理由にはなりません。50 個の VPC はかなり多いですが、たとえば、問題となっている数はピアリングの制限内に十分収まります。
他に考慮すべきことはありますか?
- VPC 内トラフィックと VPC 間トラフィックなどのパフォーマンス特性はどうですか?
その他の考慮事項:
- 衝突を避けるために、CIDR ブロックは VPC 全体で管理する必要があります。
- ピアリングの最大MTUは1500バイトです
- デフォルトでは、VPC 間トラフィックは暗号化されません。
- DNS の複雑さ。
ご協力いただきありがとうございます。
答え1
見るAWS ランディングゾーンそしてAWS コントロールタワーベストプラクティスのため。
私はいくつかのエンタープライズ AWS ネットワークを設計してきましたが、ここでは、質問されている領域に多くのワークロードがある場合の一般的な推奨事項を示します (ランディング ゾーン設計の完全な推奨事項は、私が顧客向けに実施している 2 日間のワークショップです)。
- アプリケーションごと、環境ごとに 1 つのアカウント (例: app1 には開発、pre-prod、prod のアカウントがあり、app2 には独自のアカウントがあるなど)
- アプリケーション サーバー、データベース サーバーなどの各アプリケーションのすべてのリソースは、そのアカウントに格納されます。アプリケーション サーバーとデータベースを複数のアカウントに分割すると、実質的なメリットがないままコストが増加します。
- 共有サービスアカウントは、ほとんどのアプリケーションに必要なADなどに使用できます。
- セキュリティアカウントは警備業務、セキュリティ機器などを熟知している必要があります
- 通信用のトランジット ゲートウェイとオンプレミス接続 (ネットワークに関する質問に対応)
- オンプレミス、AD サービス、Azure AD など、任意のディレクトリ サーバーにフェデレーションします。
- AWS 組織を使用し、高レベルの権限のためのサービスコントロールポリシーと、IAM ロールを使用して、ユーザーが必要な操作のみを実行できるようにします。つまり、セキュリティ サービスを無効にしたり、インターネット ゲートウェイや VPN などの境界を変更したりできないようにします。
- 使用を検討する共有VPC帯域幅のコストを削減する - ただし、これは扱いにくい問題なので注意してください
これにより、分離が適切に行われ、影響範囲が狭くなりますが、アカウントが 150 個になるため、適切な自動化が必要になります。アカウントは、課金と VPC のコンテナーにすぎません。帯域幅には追加料金がかかります。
帯域幅コストを削減する代替案としては、すべてを 1 つの VPC にまとめることです。これにより、分離、制御、および影響範囲が問題になります。
答え2
さらに、私の製品では、本番環境 (RDS、S3 など) のバックアップ用に、本番環境が稼働しているのとは別のリージョンにある、厳重にロックダウンされた別のアカウントを使用しています。ロックダウン アカウントでの災害復旧テストは、バックアップが機能することを確認するために 15 日ごとに行われます。