管理者ガイド

Apache Traffic Server™ はインターネットアクセスを加速させ、ウェブサイトのパフォーマンスを高め、かつて無いウェブホスティング性能を提供します。

Table of Contents:

Apache Traffic Server とは

Global data networking has become part of everyday life: Internet users request billions of documents and petabytes of data, on a daily basis, to and from all parts of the world. Information is free, abundant, and accessible. Unfortunately, global data networking can also be a nightmare for IT professionals as they struggle with overloaded servers and congested networks. It can be challenging to consistently and reliably accommodate society’s growing data demands.

Traffic Server は高性能なウェブプロキシーキャッシュです。頻繁にアクセスされる情報をネットワークの端でキャッシュすることによりネットワーク効率とパフォーマンスを改善します。これは物理的にエンドユーザーに近いコンテンツを届け、高速な配信と帯域使用量の削減を可能とします。Traffic Server は商用のコンテンツ配信やインターネットサービスプロバイダー( ISP )やバックボーンプロバイダーや巨大なイントラネットを現行の利用可能な帯域を最大化することで改善するようにデザインされています。

Traffic Server デプロイメントオプション

必要に応じて、Traffic Server はいくつかの方法で配置することができます。

  • ウェブプロキシーキャッシュとして

  • リバースプロキシーとして

  • キャッシュ階層の一部として

The following sections provide a summary of these Traffic Server deployment options. Please keep in mind that with every one of these options Traffic Server can be run as a single instance, or as a multi-node cluster.

ウェブプロキシーキャッシュとしての Traffic Server

ウェブプロキシーキャッシュとして Traffic Server はウェブコンテンツへのユーザーリクエストを受け取り、宛先のウェブサーバー(オリジンサーバー)へ届けます。Traffic Server がリクエストされたコンテンツを持っている場合、そのコンテンツを直接配信します。リクエストされたコンテンツがキャッシュから使えない場合、Traffic Server はプロキシーとして振る舞います。つまり、コンテンツをユーザーに代わってコンテンツを取得し、また将来のリクエストを満たすためにコピーを保持します。

Traffic Server は明確なプロキシーキャッシュを提供します。この場合ユーザーのクライアントソフトウェアは Traffic Server に直接リクエストを送るように設定されていなければなりません。明確なプロキシーキャッシュについては Explicit Proxy Caching の章で述べています。

Traffic Server can also be employed as a transparent caching proxy server, in which the client software needs no special configuration or even knowledge of the proxy’s existence. This setup is described in the 透過プロキシー section.

リバースプロキシーとしての Traffic Server

リバースプロキシーとして Traffc Server はユーザーが接続しようとするオリジンサーバーとして設定されています。(一般的に、オリジンサーバーとして公開されたホスト名は Traffic Server に解決され、実際のオリジンサーバーのように振る舞います。)リバースプロキシー機能はサーバーアクセラレーションとも呼ばれます。リバースプロキシーは リバースプロキシーと HTTP リダイレクト で詳しく述べられています。

キャッシュ階層での Traffic Server

Traffic Server は柔軟にキャッシュヒエラルキーに参加することができます。その中で1つのキャッシュからは満たされないインターネットリクエストは他の局地的なキャッシュに送られます。プロキシーサーバーの階層の中で Traffic Server は他のTraffic Server システムや似たキャッシングプロダクトの親や子として振る舞います。

Traffic Server supports ICP (Internet Cache Protocol) peering. Hierarchical caching is described in more detail in admin-hierarchical-caching.

Deployment Limitations

There are a number of deployment options that Traffic Server does not support right out of the box. Such functionality may be implemented in a plugin, but in some cases Traffic Server’s internal APIs or architectural restrictions won’t make it easy:

  • ロードバランシング - このための実験的なプラクインがあることに注意してください。 Balancer Plugin

Traffic Server Components

Traffic Server consists of several components that work together to form a web proxy cache you can easily monitor and configure.

The Traffic Server Cache

The Traffic Server cache consists of a high-speed object database called the object store. The object store indexes objects according to URLs and associated headers. Using sophisticated object management, the object store can cache alternate versions of the same object (perhaps in a different language or encoding type). It can also efficiently store very small and very large objects, thereby minimizing wasted space. When the cache is full, Traffic Server removes stale data to ensure that the most requested objects are readily available and fresh.

Traffic Server is designed to tolerate total disk failures on any of the cache disks. If the disk fails completely, then Traffic Server marks the entire disk as corrupt and continues to use remaining disks. If all of the cache disks fail, then Traffic Server switches to proxy-only mode. You can partition the cache to reserve a certain amount of disk space for storing data for specific protocols and origin servers. For more information about the cache, see admin-configuring-the-cache.

The RAM Cache

Traffic Server maintains a small RAM cache that contains extremely popular objects. This RAM cache serves the most popular objects as fast as possible and reduces load on disks, especially during temporary traffic peaks. You can configure the RAM cache size to suit your needs. For detailed information, refer to Changing the Size of the RAM Cache.

The Host Database

Traffic Server は Traffic Server がユーザーリクエストを満たすために接続するオリジンサーバーのドメインネームサーバー(DNS) のエントリを保存するデーターベースをホストします。この情報は将来のプロトコルインタラクションへの対応とパフォーマンスの最適化のために使われます。加えて、ホストデータベースは次の情報を保存します。

  • DNS information (for fast conversion of hostnames to IP addresses).
  • The HTTP version of each host (so advanced protocol features can be used with hosts running modern servers).
  • Host reliability and availability information (so users will not wait for servers that are not running).

The DNS Resolver

Traffic Server はホスト名から IP アドレスへの変換を統合するために、高速で非同期な DNS リゾルバも含んでいます。Traffic Server は遅くて月並みなリゾルバライブラリに渡すよりも、直接 DNS コマンドパケットを渡すことによって、DNS リゾルバをネイティブに実行します。多くの DNS クエリが並列で渡され、高速な DNS キャッシュがポピュラーなバインディングをメモリに保存することにより、DNS トラフィックは減ります。

Traffic Server Processes

Traffic Server contains three processes that work together to serve requests and manage, control, and monitor the health of the system.

  • traffic_server プロセスは Traffic Server のトランザクションプロセッシングエンジンです。コネクションをアクセプトしたり、プロトコルリクエストを処理したり、キャッシュやオリジンサーバーからドキュメントを提供することに責任を持ちます。

  • traffic_manager プロセスは Traffic Server への命令と管理機能です。起動や監視と traffic_server プロセスを再設定したりすることに責任を持ちます。 traffic_manager プロセスはプロキシオートコンフィギュレーションポートや統計のインターフェイスやクラスター管理とバーチャル IP フェイルオーバーについても責任を持ちます。

    traffic_manager プロセスが traffic_server プロセスが失敗していることを検知した場合、即座にプロセスを再起動するだけでなく、すべてのリクエストのコネクションキューをメンテナンスします。サーバーが完全に再起動する数秒前に到着したすべてのインカミングコネクションはコネクションキューに格納され、最初に来たものから順に処理されます。このコネクションキューはすべてのサーバーの再起動の際のダウンタイムからユーザーを守ります。

  • The traffic_cop process monitors the health of both the traffic_server and traffic_manager processes. The traffic_cop process periodically (several times each minute) queries the traffic_server and traffic_manager processes by issuing heartbeat requests to fetch synthetic web pages. In the event of failure (if no response is received within a timeout interval or if an incorrect response is received), traffic_cop restarts the traffic_manager and traffic_server processes.

次の図は Traffic Server の3つのイラストです。

Illustration of the three Traffic Server Processes

Illustration of the three Traffic Server Processes

Administration Tools

Traffic Server は次の管理オプションを提供しています。

  • The Traffic Line (traffic_line) command-line interface is a text-based interface from which you can monitor Traffic Server performance and network traffic, as well as configure the Traffic Server system. From Traffic Line, you can execute individual commands or script a series of commands in a shell.
  • Various configuration files enable you to configure Traffic Server through a simple file-editing and signal-handling interface. Any changes you make through Traffic Line is automatically made to the configuration files as well.
  • Finally, there is a clean C API which can be put to good use from a multitude of languages. The Traffic Server Admin Client demonstrates this for Perl.

Traffic Analysis Options

Traffic Server はネットワークトラフィックの分析と監視のためのいくつかのオプションを提供しています。

  • Traffic Line enables you to collect and process statistics obtained from network traffic information.

  • Transaction logging enables you to record information (in a log file) about every request Traffic Server receives and every error it detects. By analyzing the log files, you can determine how many clients used the Traffic Server cache, how much information each of them requested, and what pages were most popular. You can also see why a particular transaction was in error and what state the Traffic Server was in at a particular time. For example, you can see that Traffic Server was restarted or that cluster communication timed out.

    Traffic Server は Squid や Netscape などのいくつかの標準的なログフォーマットや固有のフォーマットをサポートしています。off-the-shelf 分析パッケージによって標準的なフォーマットのログを分析することができます。ログファイルの分析を助けるために、特定のプロトコルやホストの情報を含むようにログファイルを分割することができます。

トラフィック分析オプションは Monitoring Traffic により詳しく書かれています。

Traffic Server ロギングオプションは Working with Log Files に書かれています。

Traffic Server Security Options

Traffic Server は Traffic Server システムと他のコンピュータネットワーク間のセキュアな通信を確立することを可能にする多数のオプションを提供しています。セキュリティオプションを使うことによって、次のことが可能です。

  • Traffic Server プロキシーキャッシュにアクセスするクライアントの管理

  • あなたのサイトのセキュリティ設定に合わせて複数の DNS サーバーを使うような Traffic Server の設定。例えば Traffic Server はホストネームを解決する必要があるのがファイアーウォールの内側か外側かによって異なる DNS サーバーを使うことができます。これは透過的にインターネット上の外部サイトにアクセスすることを提供しつつ、インターナルネットワーク設定をセキュアに保つことを可能にします。

  • クライアントが Traffic Server キャッシュからコンテンツにアクセスできるようになる前に、クライアントが認証されていることを検証する Traffic Server 設定

  • SSL ターミネーションオプションを使うことによる、リバースプロキシーモードでのクライアントと Traffic Server 間と Traffic Server とオリジンサーバー間の安全な接続

  • SSL (Secure Socket Layer) によるアクセスの管理

Traffic Server セキュリティオプションは セキュリティオプション に詳しく述べられています。

Traffic Server のチューニング

Finally, this last chapter on Performance Tuning discusses the vast number of options that allow administrators to optimally tune Apache Traffic Server for maximum performance.