「Amazon CloudFront」はAWS上で提供されているコンテンツ配信ネットワーク(CDN)サービスです。S3やEC2から配信するコンテンツをキャッシュし、訪問者へ高速配信します。
Amazon CloudFrontの特徴
Amazon CloudFrontには以下のような特徴があります。
🌏 世界中に高速配信
AWSは国ごとのリージョンがあり、国内からのアクセスには国内のリージョンにあるインスタンスの方が表示速度で有利です。
CloudFrontを使うことで、海外からのアクセスがあった場合に最寄りのリージョンにキャッシュさせるため、リージョンによる表示速度の不利が無くなり、海外からの訪問者も快適にアクセスできるようになります。
🛡️ DDoS攻撃対策済み
CloudFrontを使うことで追加料金なく AWS Shield Standard が自動で適用されます。SSL(https)にも対応しており安全なコンテンツを訪問者へ届けられます。
💰 低コスト
CloudFrontは初期費用無料で初められ、「リクエスト数+転送量」の従量課金です。必要最低限の費用で安価に利用できます。
料金について詳しく後述します。
Amazon CloudFrontの利用シーン
CloudFrontの特徴を活かした利用シーンの例を紹介します。
落ちないウェブサイトの構築
S3をウェブサーバーとし、静的コンテンツで構成されたウェブサイトを公開することで膨大なアクセスがあっても高負荷やサーバーダウンすることなく安定してサイトを公開できます。
マス広告と連動し瞬間的なアクセス増が見込めるキャンペーンサイトなどに向いています。
越境サイトの構築
海外の人をメインターゲットとしたサイトは越境サイトと呼ばれ、国内独自の商品を海外の人へ販売するなど販路を海外に広げるECサイトが増えています。
日本国内のサーバーでサイトを公開しても海外の人は快適にアクセスできません。CloudFrontを使うことで各国のリージョンへキャッシュされるため、海外からでも快適なコンテンツ配信が行えます。
Amazon CloudFrontの越境効果
CloudFrontは「最寄りのリージョンにキャッシュして高速配信する」と公称されていますが、実際どの程度効果があるのか調べてみました。
計測条件
- 東京リージョンのS3に設置した、3MBの画像が置かれたHTMLページの表示速度を計測する
- CloudFrontのキャッシュの効果を見るため、キャッシュの有無で計測
- 東京リージョンのサーバーへ、国内からのアクセスと北米からのアクセスで計測
- 「WebPagetest」で回線速度を10Mbpsに設定し計測
以上の条件で3回ずつ計測しました。
計測結果
経路 | キャッシュ なし | キャッシュ あり |
---|---|---|
東京リージョンへ 国内からアクセス | 3.326s 3.594s 3.149s | 0.516s 0.492s 0.579s |
東京リージョンへ 北米からアクセス | 6.014s 6.920s 6.014s | 0.434s 0.464s 0.355s |
しっかりとCloudFrontの効果が出ました。
キャッシュなしでは明らかにリージョンの差が出ていますが、キャッシュありの時は北米の方が早くなったほどです。Amazon本拠地の北米の方がキャッシュサーバーの性能が良いのかもしれません。
Amazon CloudFrontの料金
CloudFrontは「リクエスト数 + 転送量」の従量課金です。
リクエスト数 | コンテンツへのリクエストごとに料金が発生 |
---|---|
転送量 | CloudFrontが送信した転送量に対して料金が発生 |
基本的にアクセス数に応じて料金が増えます。CloudFrontはEC2やS3のコンテンツをキャッシュして配信するため、稼働時間やストレージ容量への課金は発生しません。アクセスが無ければ0円です。
料金例
以下の条件を例にCloudFrontの料金を計算してみます。(2018年8月現在の料金)
- 前提:広告連動のキャンペーンサイトで月30万PVの集客に成功した
- SSL(https)対応済み
- 1PVあたり合計10回のリクエストが発生
- 1PVあたり合計3MBの転送量が発生
リクエスト数: 10回 x 300,000PV ÷ 10,000 x 0.0120USD = 3.6USD データ転送量: 3MB x 300,000PV = 900GB 900GB * 0.14USD = 126USD 合計: 3.6 + 126 = 129.6USD
概算ではありますが、上記の例だと月129.6USD(約14,400円)になります。
費用の9割以上は転送量のため、画像の数や容量を減らすなどファイルサイズの削減で費用を大幅に抑えられます。例えば2MBまで下げれば87.6USD(約9,700円)になります。
なおEC2やS3の料金は別途かかります。S3と併用した場合はリクエストと転送をCloudFrontが持つことになるため、ほぼストレージ料金のみ発生する形になります。
さいごに
今回は Amazon CloudFront の特徴から料金についてご紹介しました。
CloudFrontはウェブサイトの高速化に役立ちます。高速化はコンテンツの軽量化やEC2ならサーバーチューニングなど先にやるべきことがありますが、さらなる一手としてCloudFrontを検討するという流れが考えられます。
今回の内容がCloudFrontの利用について参考になれば幸いです。