Amazon S3とSSL

今朝のエントリーの書き忘れ。

S3は独自ドメインじゃなければ、SSLでも接続できます。*.s3.amazonaws.comのSSL証明書が入っているようです。

というわけで、

https://[bucket_name].s3.amazonaws.com/[file_name]

でもアクセスできるのだけど、

bucketnameにピリオドが入るとダメなんですよね(*の入ってる証明書って、そういうもの?)。

CloudFrontのほうはSSLでは接続できず。

SSLと非SSLを混在させたくないときにも使えるかなあと思ったんですけど、その場合はS3でs3.amazonaws.comを使えということですね。


Amazon CloudFrontを使ってみた

AmazonがAmazon CloudFrontというCDNを始めました。

9月中旬に一部の顧客で試しているという案内が来たので、始まったら知らせて欲しいとエントリーしていたら、メールが来ました。忙しいと、ニュースチェックが遅れるので、ありがたいです。

メールが来てビックリしました。エッジサーバ、アメリカは8箇所、ヨーロッパは4箇所ですが、さらにアジアは、香港と日本。日本ですよ。

そんなわけで試してみました。

○CloudFrontの概要

CDNに乗せたいファイルをAmazon S3に設置して、配信のための設定をするだけです。

S3 Firefox Organizer for Amazon (S3Fox)というFirefoxのアドオンを使えば、右クリックと左クリック1回ずつで配信できちゃいます。

○Amazon S3

CloudFtontとは関係ないんですが、S3においたファイルは、http://[bucket_name].s3.amazonaws.com/[file_name]という形でアクセスするのですが、DNSでCNAMEを設定すれば、 独自ドメインでもOKなことを今日知りました。

s3.octava.jpというサブドメインで運用したいときは、s3.octava.jpというbucketを作成して、DNS側でCNAMEにs3.octava.jp.s3.amazonaws.comを設定するだけです。

詳しくは、Virtual Hosting of BucketsのCustomizing Amazon S3 URLs with CNAMEsを参照。

○Amazon CloudFront

続いて、本題のCloudFront。

S3Foxでファイルを選んで、右クリックからManage Distributionsを選択。

Amazonが用意しているXXXXXXX.cloudfront.netというドメインでよければ、そのまま Create Distributionをクリックすると、配信準備が始まります。そこそこ時間がかかります。In ProgressがDeployedになったら完了。

独自ドメインを使いたい場合は、CNAMEを入力する欄に入力します。たとえば、edge.octava.jpとか。カンマ区切りで、複数指定することもできます。あとは、DNSの設定をするだけ。

○速度は?

10KB弱の小さいファイルなんですが、数回ab -n 100 -c 10 して試してみました。

S3のときは、400〜600msで、ごく稀に4000〜5000msになることもありました。

CloudFrontでは、50〜80ms。かなり、快適になりそうな感じ。

ほかの試した方を探してみました。

Amazonが従量課金制のCDNサービス「Amazon CloudFront」を開始・・・したので試してみた

ファイルサイズが大きい場合、キャッシュの効果もきちんと出ているようです。

ちなみに、料金は日本のEdgeサーバを使う場合が一番高いんですが、それでも最初の10TBまでは$0.221 per GB(一案安いアメリカとヨーロッパは$0.170)。今回はちょっと試してみただけなので、S3に$0.04、CloudFrontに$0.02でした。

前の会社では、アカマイを使ってたんで、EdgeJavaとかESIとか、Web Application AcceleratorとかSureRouteとか、単なるCDN以上におもしろいのですが、スタートアップ企業には敷居が高いですよね。その点、Amazonは従量課金なので、導入しやすいですね。