cloudpackには「リダイレクトサービス」と「プロキシサービス」という
付加サービスがあり内部的にはVarnishを利用しています。
リダイレクトサービスとは、下記のようにwww無しのドメイン名(suz-lab.com)のみで
アクセスしてきたHTTPリクエストを、wwwの付いたURLにリダイレクトするサービスです。
リダイレクトサービスは、ELB、S3、CloudFrontを独自ドメインで利用する場合に、DNSに対して
CNAMEレコードで設定する必要があるのですが、ドメイン名(例:suz-lab.com)に対しては
CNAMEが利用することができないので、その対策としてのサービスです。
(現在、ELBに関してはRoute53で対応することができます。)
そして、Varnishでの実現方法は、Varnishでリダイレクト専用Webサーバの構築の記事で紹介した通りになります。
プロキシサービスはVarnishで実現できることを、共通のVarnishサーバで「if文」を用い、
個別(アクセスHost名ごとなど)に設定するものです。
今までの実績としては、下記のようなものがあります。
○キャッシュを使ったコンテンツの高速配信
キャッシュサーバであるVarnishの通常の使い方です。
場合によっては、ディレクトリや拡張子ごとに、キャッシュの設定を細かく設定して利用しています。
こちらの情報については本ブログでもVarnishでキャッシュ期限を指定の記事で紹介しています。
○FacebookアプリのコンテンツをS3に配置
Facebookアプリで利用するコンテンツをS3に配置した場合、
FacebookアプリはコンテンツをPOSTメソッドで取得しに来るのですが、
S3はGETメソッドにしか対応していません。
そこで、Varnishを経由させてPOSTメソッドをGETメソッドに変換して
FacebookアプリでもS3を利用できるようにしています。
こちらの情報については本ブログでもVarnish経由でS3のコンテンツをPOSTで取得(Facebookアプリ用)の記事
で紹介しています。
○S3(独自ドメイン設定)でHTTPSを利用
S3のコンテンツを独自ドメインで公開することは、現在HTTPは対応しているのですが、
HTTPSでは対応していません。
そこで、S3のコンテンツを独自ドメインにてHTTPSで公開する場合は、上記画像のように、
ELBでHTTPSのリクエストを受け、ELBのSSLターミネーションでHTTPSの処理を行い、
その後Varnish経由でS3にHTTPで接続する形で実現しています。
こちらの情報については本ブログでもELBを利用して1つのEC2で複数ドメインのHTTPS(SSL)の記事で
紹介しています。
○S3で携帯サイト(Softbank)の著作権保護
S3で独自ヘッダを付与することはできるのですが、x-amz-meta-XXXの形式のキーしか付与することができません。
これにより、Softbank携帯サイトでの著作権保護機能に必要なx-jphone-copyrightのようなヘッダは
直接S3で付与することができないので、アクセスをVarnish経由にしてVarnishでそのヘッダを付与するように
しています。
こちらの情報については本ブログでもS3のオブジェクトのユーザー独自ヘッダのキーの形式はx-amz-meta-XXX、
VarnishでS3のコンテンツにx-jphone-copyrightヘッダを付与の記事で紹介しています。
以上のように、cloudpackではAWSのサービスを補完するような形でVarnishを利用しています。