「サーバー」という概念については、おそらく多くの方がご存知でしょう。サーバーとは、デバイスを使ってアクセスするウェブサイトやファイル、サービスをホストするコンピュータです。エッジサーバーも基本的には同じ仕組みですが、ネットワーク内の異なるポイントからアクセスするのが特徴です。
最近のネットワークでは、サーバーを1箇所に置くのではなく、ネットワークの両端、つまり「エッジ」にある複数の分散した場所にサーバーを配置する、分散型のアプローチが主流です。エッジサーバーは、ユーザーからのリクエストに迅速に応え、ネットワークのセキュリティを強化します。
今回はエッジサーバーの仕組みに迫ります。エッジサーバーアプリケーションや、他のネットワークモデルとの違いなども見ていきましょう。
エッジサーバーとは
集中型ネットワークでは、クライアントデバイスを1箇所にあるサーバーに接続します(または複数のマシン)。サーバーはクライアントのリクエストを処理し、ユーザーが要求する情報を提供します。
このモデルは、シンプルなウェブサイトやアプリケーションには有効ですが、プロジェクトによっては、エッジサーバーを採用する方が良いことがあります。
エッジサーバーとは、ネットワークの末端、つまり「エッジ」に存在するコンピュータです。このエッジはエンドユーザーのより近くにあります。
例えば、Kinstaのように、コンテンツデリバリネットワーク(CDN)を使用して訪問者にコンテンツを提供しているホスティングもあります。この場合は、CDNがエッジサーバーとなり、できる限り訪問者の近くに配置することで、レイテンシを抑えてリクエストを素早く処理し、読み込み時間を改善して、オリジンサーバーの負担を軽減することができます。
CDNはあくまでエッジサーバーの一例です。エッジサーバーにはあらゆる用途に使用されています。
エッジサーバーの用途
エッジサーバーを導入するメリットは、すでにいくつか触れました。しかし、エッジサーバーアプリケーションの利点は、読み込み時間の短縮だけにとどまりません。
例えば、インターネットバンキングサーバーを提供するとします。セキュリティの観点から、すべての利用者にオリジンサーバーへのアクセスを提供するのは避けたいところです。代わりに、ユーザーのリクエストを処理するエッジサーバーを使用し、オリジンサーバーに接続して特定のデータを取得し、エンドユーザーに提供することができます。
また、石油掘削施設のような遠隔地で機器を稼動または監視するような状況では、エッジサーバーを使用してデータを処理し、オリジンサーバーに接続します。エッジサーバーを使用することで、リクエストを一元化し、より効率的にオリジンサーバーに中継することができます。
より多くのデバイスがインターネットに対応するにつれ(IoT、モノのインターネットの普及)、エッジサーバーの使用もより普遍的になります。エッジサーバーの用途は多岐にわたるため、標準的でかさばるサーバーやラックを使用することはできません。そのため、従来のサーバーとは異なり、あらゆる形やサイズがあります。
エッジサーバーの仕組み
ここまでで、エッジサーバーがどのようなもので、どのような用途に使用されるかがわかりました(驚くほど適応性が高いことも)。続いて、エッジサーバーの仕組みをまとめてみます。
オリジンサーバーとエンドサーバーの両方があるネットワークを想定します。
- ユーザーがサイト、サービス、またはアプリに接続
- ユーザーに最も近いエッジサーバーがリクエストを処理
- エッジサーバーがオリジンポイントに接続し、必要なデータを取得
- ユーザーがエンドサーバーからリクエストしたデータを受け取る
状況によっては、エンドサーバーは重要なデータ、あるいはウェブサイト全体をキャッシュします。CDNは、サーバーの負担を軽減することで、サイトやサービスのパフォーマンスを向上することを目的として設計されたエッジサーバーと言えます。
エッジサーバーの長所と欠点
エッジサーバーの利点についてはすでにいくつか述べていますが、改めて長所と欠点を見てみましょう。まずはメリットから。
- オリジンサーバーよりも多くのリクエストを処理できる
- 特定のリクエストを処理するように設定できる
- 分散型ネットワークにより高い安全性を確保できる
- ユーザーがサイトを表示したり、データを受信したりするスピードが速くなる
- さまざまな形やサイズがあり、遠隔地への設置も容易
エッジサーバーには当然利点だけでなく、欠点もあります。地理的にさまざまな場所にあるサーバーを扱うことになるため、それらのデバイスを監視、保守管理、更新するプロセスが必要になります。企業はエッジコンピューティングサービスにこのタスクを一任するのが一般的であり、追加の予算と調整上の課題が生じます。
また、サーバーが増えるということは、ネットワーク内のエントリポイントが増えることを意味します。エッジサーバーを適切に設定、保守管理していなければ、ハッカーなどが侵入し、機密情報が漏えいする可能性が高まります。
自社でエッジサーバーの設定と保守管理を行う専門知識、人材を確保できない場合は、外部サービスを利用するのが賢明です。
他のネットワークモデルとの違い
エッジサーバーの仕組みを押さえたところで、他のネットワークモデルとの違いも見ていきます。
エッジサーバーとオリジンサーバーの違い
従来のネットワークでは、エンドユーザーが直接接続できるオリジンサーバーが1つまたは複数あります。このモデルでは、ユーザーのリクエストは以下のような単純な経路を辿ります。
- ユーザーがサーバーに接続し、サイトやアプリ、サービスにアクセス
- サーバーがリクエストを処理し、リクエストされた情報を返す
- エンドユーザーがブラウザ、アプリ、または別の種類のアプリを通じてデータを取得、レンダリング
このプロセスは、ユーザーがどのプロトコル(HTTP、HTTPS、またはFTP)を介して接続するかによって、より複雑になる可能性があるものの、ネットワークの構造は依然として単純です。
ここにエッジサーバーを導入すると、ネットワークがどのようにリクエストを処理するかは、サーバーの設定によって異なります(上記「エッジサーバーの仕組み」セクション参照)。
エッジサーバーとクラウドコンピューティングの違い
クラウドコンピューティングという言葉は、聞いたことがあるかもしれませんが、どのようなものかを理解していない人は少なくありません。
先ほどご紹介した集中型ネットワークでは、オリジンサーバーの物理的なロケーションは1箇所。クラウドコンピューティングでは、クラウドを介して複数のサーバーに接続します。つまり、複数の場所にサーバーがある分散型ネットワークを確立することができます。
クラウドコンピューティング最大の利点は、ほぼ無限に拡張できる点にあります。サーバーを追加することで、いつでもネットワークを「成長」可能。集中型ネットワークでは、スペースや物理的な場所に制限があります。
クラウドコンピューティングサービスによりますが、通常は必要に応じてネットワークを拡張し、使用した分だけ料金を支払うことができます。そのため、クラウドコンピューティングは、従来のデータセンターを利用するよりも、はるかに柔軟でコスト効率に優れています。
エッジサーバーは、クラウドコンピューティングのモデルに組み込むことができ、集中型ネットワークと同じ機能を持ちながら、クラウドコンピューティングのメリットも享受可能です。
まとめ
多くのオンラインプラットフォームやアプリケーションは、より高速にデータを提供するためにエッジサーバーを採用しています。エッジサーバーはまた、すべてのデータを1箇所のデータセンターに集中させるのではなく、分散させることでより安全なアプローチをとっています。シンプルなWordPressサイトであっても、CDNを利用してエッジサーバーを活用し、パフォーマンスを改善可能です。
Kinstaでは、すべてのプランでCloudflare統合を提供しています。Cloudflareアカウントをお持ちでなくても、ワンクリックで有効化できます。