3層アーキテクチャでVLANまたはVPCを使用してアプリケーションを保護する方法

3層アーキテクチャでVLANまたはVPCを使用してアプリケーションを保護する方法

VPC によるネットワーク分離は、社内コラボレーションの実現や機密情報の適切な保存など、多くのセキュリティ上の利点をもたらします。

開発作業の面では、ネットワーク分離を使用して、多層 Web アプリケーションの展開を実装することもできます。アプリケーションを階層化することで、パブリック インターネットにアクセスできるアプリケーションとアクセスできないアプリケーションを異なるセグメントに分割できます。たとえば、データベース層は通常、このようにしてパブリック インターネットから分離され、パブリック インターネットに直接アクセスせずに上位層からパッチやソフトウェア更新を取得できるようになります。このアプローチは、攻撃対象領域を減らすだけでなく、複数リージョンへの展開も容易にします

Akamai クラウドコンピューティングの詳細を読む

海外のクラウドサービスならAkamai Linodeをお選びください!

多層アプリケーションを実行する方法は多数ありますが、多くの場合、最大限のスケーラビリティ、セキュリティ、信頼性を実現するために、いくつかの基本的な形式に依存しています。 3 層アーキテクチャは最も一般的な設計形式であり、特にクラウド環境で一般的です。

3 層アプリケーションは通常 3 つの層で構成され、多くの場合は異なるサーバーに配置され、高度に独立した方法で開発および保守できます。 3 つのレイヤーは次のとおりです。

  • プレゼンテーション層:ユーザーとアプリケーション間の外部インターフェイスを管理します。通常は、HTML と Web 開発コードを実行する Web サーバーで構成されます。
  • アプリケーション層:アプリケーションを「接着」するために必要なビジネス ロジックを提供するカスタム アプリケーション。
  • データ層:アプリケーションで使用されるデータを保存および取得するために使用されるデータベース システム。

これら 3 つのコンテンツ レイヤーは、ネットワーク ベースの API を介して通信する必要がある独立したサービスです。セキュリティとパフォーマンス上の理由から、アプリケーション層とデータ層は通常、同じローカル ネットワーク内に、同じファイアウォールの背後に配置する必要がありますが、各層を分離することで、各コンポーネントを異なるハードウェアに、さらには異なる地理的な場所に展開することもできます。実際に実現できる柔軟性は、アプリケーションの特定のニーズに大きく依存します。

次の図は、実際の基本的な 3 層 Web アプリケーションを示しています。プレゼンテーション層の Web サーバーは、ブラウザ ウィンドウ内のユーザーに対話型インターフェイスを提供します。もう一方の端にあるデータ層はデータベースであり、これは別個のシステムである場合もあれば、ネットワーク内の単一のエンティティによって表されるクラスターである場合もあります。データベース層で人気のあるオープンソースのオプションとしては、MySQL、MariaDB、PostgreSQL for SQL、MongoDB、Cassandra for NoSQL などがあります。

図 1: 3 層アーキテクチャでは、Web アプリケーションをプレゼンテーション層、アプリケーション層、およびデータ層に分割します。

Web サーバーとデータベースの間にはアプリケーション層もあり、開発作業のほとんどはこのあたりで行われることになります。アプリケーション層には、アプリケーションが目的を達成するために必要なカスタム コードとビジネス ロジックが含まれています。フロントエンドでは、Web サーバーがアプリケーション層にクエリを送信し、アプリケーション層は Web サーバーに応答し、Web サーバーはデータをフォーマットしてユーザーに表示します。バックエンドでは、アプリケーション層がデータベースにクエリを実行し、データを受信し、受信したデータを処理して、ユーザーが必要とする情報や結果を生成します。

非常に単純な例として、データベースは会社の売上記録を保存する記録帳と考えることができます。ユーザーは、特定の期間における特定の場所の特定の製品の平均日次売上を取得するリクエストを入力します。 Web サーバーはアプリケーション層にリクエストを送信します。アプリケーション層はデータベース クエリを構築し、生データを受信し、必要な計算を実行してから、応答を Web サーバーに返します。

図2: ユーザーはプレゼンテーション層に情報セットを要求し、アプリケーション層はその要求をデータベースクエリに変換します。

アプリケーション層の場合、Apache Web サーバーはおそらく最も便利なプレゼンテーション層ソリューションであり、MongoDB はおそらく最も便利なデータ層ソリューションです。アプリケーション層のカスタム コードは、Python、PHP、Ruby などの言語で記述されることが多いです。また、いくつかの既成のプログラミング フレームワークの助けを借りて、より効率的に独自のコードを書き始めることができます。たとえば、Python 開発の場合は Django、Ruby 開発の場合は Rails、PHP 開発の場合は Symfony を選択できます。

理論上は、アプリケーション層をプレゼンテーション層と組み合わせることができ、この目的のためには、データベースを直接照会するために必要なコードのみを Web サーバーに提供する必要がありますが、ほとんどの複雑なビジネス ロジックの場合、このアプローチは現実的ではなく、アプリケーション パーティショニングの利点も相殺してしまいます。

上記の「利点」の中で最も重要なのは、攻撃対象領域を減らしてセキュリティを向上できることです。図 1 に示すように、3 層ソリューションでは、ファイアウォールの外側に配置する必要があるアプリケーション コンポーネントが最小限に抑えられます。 Web サーバーは安全な API を介して通信でき、その他のすべてのアクティビティはファイアウォールの内側で行われ、さらに重要なことに、プライベート アドレス空間で行われるため、インターネットからアクセスすることはできません。これにより、SQL インジェクションを含む多くの潜在的なリスクを抑制できます。結局のところ、SQL インジェクションは最も一般的で最も破壊的な脆弱性です。幸いなことに、これらのリスクは通常、データベースを分離し、すべての直接通信を保護することで軽減できます。

3 層アプリケーションがもたらすもう 1 つの利点は信頼性です。各層が別々のサーバー、異なる物理ハードウェア、または完全に異なるデータ センターで実行される場合、1 つの層で障害が発生しても他の層に影響が及ぶ可能性は低くなります。これにより、スケーラビリティがさらに向上します。独立して実行されるこれらのコンポーネントは、独立してスケーリングすることもできるためです。たとえば、データベース アクセスでパフォーマンスのボトルネックが発生した場合、全体的な操作への影響を最小限に抑えながら、データベース クラスターにノードを追加できます。

3 層アプローチは開発プロセスの最適化にも役立ちます。レイヤーを接続する API は、効率的な分業をサポートする方法でさまざまなコンポーネントを分離します。 Web 開発者および管理者は Web サーバーを操作および管理でき、データベース開発者および管理者はデータベース システムを実行できます。その間に、アプリケーション層で使用されるフレームワーク テクノロジに精通した専門家は、アプリケーション コードのみに集中できます。たとえば、DevOps シナリオでは、アプリケーション開発者はアプリケーション コードの新しいバージョンをオフラインで構築およびテストし、運用への影響を最小限に抑えながらアプリケーション コードを簡単に変更できます。

Web アプリケーションを開発する場合は、最初から 3 層アーキテクチャを採用することを検討できます。今日のコンテナおよびクラウド環境では、さまざまなコンポーネントをさまざまなシステムに簡単に分離できます。その利点は明らかで、信頼性が高く、安全で、スケーラブルなアプリケーションを簡単かつ迅速に構築できます。

この記事の内容は大丈夫でしょうか?今すぐ Linode プラットフォームで試してみませんか?今すぐ登録すると、100 ドル相当の無料クレジットを獲得できることをお忘れなく。早速、この記事で紹介した機能やサービスを実際に体験してみましょう↓↓↓

海外のクラウドサービスならAkamai・Linodeをお選びください

高可用性 MySQL/MariaDB リファレンス アーキテクチャと豊富なアプリケーション例について学ぶには、 Akamaiをフォローしてください


<<:  トップクラスのマネージドクラウドサービスプロバイダーの選び方

>>:  K8S PV / PVC / StorageClass をわかりやすい言葉で説明する (理論 + 実践)

推薦する

新たな金融インフラの構築、テンセントクラウドが中国銀聯の銀聯クラウド構築を支援

5月18日、テンセントクラウドと中国銀聯は「銀聯クラウド」構築プロジェクトで正式に協力に達した。今回...

SEOの秘密兵器: 人気のキーワードを正確に予測する方法

最近、Baidu Space を使って SEO 実験を行っており、多くの成果を上げています。 Bai...

外国貿易製品を宣伝するにはどうすればいいですか?まず製品のセールスポイントを理解する

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています外国貿易製...

gcorelabs: インドの VPS、月額 4.99 ユーロ、KVM/512M メモリ/1 コア/20g SSD/500g トラフィック、PayPal/Alipay

インドの VPS は、アジア市場で依然として非常に重要です。有名なサーバー商人である gcorela...

今すぐToutiaoにゲーム広告を掲載するための操作ガイドを入手してください!

広告は選択のプロセスである広告は実際には選択のプロセスです。オプティマイザーは経験とデータ分析を活用...

Vaicdn: 登録/実名CDNは不要、帯域幅が大きく、防御力が高く、攻撃がレイテンシに影響を与えない

vaicdn はインテリジェントな加速とセキュリティ保護サービスを提供しており、1S 内で悪意のある...

Baidu で新しいウェブサイトの内部ページを数秒でインデックスする方法

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますBaidu...

iQiyiの地域ブランドマーケティングを1枚の写真で理解しましょう!

大画面時代を迎え、スマートテレビが大人気。デジタルマーケティングの生命線をどう掴むのか?ブランドイメ...

多くの消費者還元サイトは犯罪の疑いがあり、公安部などが警告を発している。

Chinanews.com、8月17日。公安部のウェブサイトによると、公安部、国家工商行政管理総局、...

再入荷: virmach-128M メモリ VPS は年間 4 ドルから

virmach.comの特売品が再入荷しました(発売後しばらくは品切れとなります)。お買い得品好きの...

プログラマーは「流行に敏感な人」になりたいのでしょうか? AWS Builder Clubを利用してみませんか

[51CTO.comより引用] 2019年、モノのインターネット、クラウド、人工知能などのテクノロジ...

ブラック 5: boltvm-年間 18 ドル/メモリ 2g/スワップ 2g/SSD 100g/トラフィック 2T/ロサンゼルス

彼らは逃げるか、ロバに頭を蹴られたかのどちらかです。いずれにせよ、100G SSD は年間 18 ド...

毎日の話題: Toutiao の 5 億ドルの評価額はニュースの盗作か著作権侵害か?

A5ウェブマスターネットワーク(www.admin5.com)は6月5日、今週の最もホットなニュース...

Vancl の Web サイトを開くことができません。ページにドメイン名の有効期限が切れていることが表示されます。

eName.cnは5月14日、午前9時頃、一部のネットユーザーがVancl.comの公式サイトにログ...