Amazon CloudFrontで高速なコンテンツ配信を実現

はじめに

WEBサイトやECサイトなどを運用している方や、動画データや画像データを配信している方の中には、「よりスピーディーにかつサーバーへの負荷を極力なくしてユーザーにコンテンツを配信したい!」という方もいらっしゃるかと思います。本記事ではそうした要望に応えるAWSサービス「Amazon CloudFront」を紹介したいと思います。近年では動画配信などの”オンデマンド”なサービスが増加しています。Amazon CloudFrontもそうしたサービスを支えておりますので、是非どういうものかを一読し、理解を深めて頂けたらと思います。では、さっそく見ていきましょう。

CloudFrontとは?

CloudFrontとは、動画や画像、ドキュメントなどの配信をCDN(コンテンツデリバリネットワーク)を介して、ユーザーに届けるサービスです。低レイテンシーの高速転送でオンデマンドに対応します。HULUやAmazonVideoはVODやストリーミングなどの動画コンテンツ配信を、Spotifyは音楽コンテンツの配信を、このCloudFrontで実現させています。他にもゲーム、eコマース、ソーシャルメディア、セキュリティ、デジタル広告、金融サービス、公共機関など様々な業界でCloudFrontが利用されております。CloudFrontの特徴について見ていきましょう。

CloudFrontの特徴

仕組み

CloudFrontはエッジサーバーとオリジンサーバーで構成されます。オリジンサーバーは提供したいアプリケーションやコンテンツの配信元になりますので、EC2やS3、またはオンプレミスサーバーを設定します。エッジサーバーとは、ユーザーと配信元に配置されているサーバーで全世界で212個設置されております。ユーザーからのリクエストは、まずこのエッジサーバーを経由します。この際、ユーザーの位置から最も近いエッジサーバーに自動でルーティングされるようになっています。エッジサーバでは要求されたコンテンツがキャッシュ上にあるかを確認します。あればそのままエッジサーバーからユーザーにコンテンツを配信します。無かった場合は、オリジンサーバへ問い合わせてコンテンツを取得します。このようにエッジサーバーでキャッシュを保存しておくことで、低レイテンシーの高速転送が可能となります。またコンテンツがキャッシュに保存されている場合、オリジンサーバにアクセスしませんので、オリジンサーバへの負荷を軽減することが可能になります。

セキュリティ

CloudFrontではネットワークとアプリケーションを守ってくれるAWS Shieldを利用することが可能です。AWS Shieldではネットワークフローの監視や、レイヤー3やレイヤー4(OSI参照モデル)を狙ったSYNフラッドやUDPリフレクションなどの一般的なDDoS攻撃から保護してくれます。また追加料金を払いAWS Shield Advancedを利用すれば、レイヤー7に対するトラフィックの監視、DDoS攻撃からの保護が可能になります。またDDoS履歴の詳細なレポートや攻撃発生時の各種支援などが行えるようになります。AWS WAFとの併用も可能ですので、アプリケーションの脆弱性を狙ったサイトスクリプティングやSQLインジェクションなどの攻撃からの保護も可能になります。また、無料でAWS Certificate Manager (ACM) を利用することができるので、簡単にSSL 証明書を発行することができ、セキュアな通信が可能となります。

カスタマイズ

Lambda@Edgeを利用すれば、エッジロケーション(エッジサーバーの設置されている地域)に応じて表示させるコンテンツを変えることができたり、アクセス元のIPアドレスによって表示させるコンテンツを変えたり(アクセス元が自社でない場合、Basic認証を表示させる)など様々な用途に合わせたカスタマイズが可能になります。またLambdaではNode.js、Java、C#、Go、Pythonの実行環境が用意されているので、好きな言語を選んで開発、実行させることが可能です。そして世界のエッジロケーションにプログラムしたコードを拡張可能ですので、ユーザーへの応答性も高くなります。

その他

エッジサーバー上のキャッシュ保持時間を任意に設定することが可能となります。デフォルトでは24時間となっており、最小で0秒まで可能です。0秒の場合はキャッシュさせません。キャッシュ保持時間を長くする方がユーザーへのレスポンスは早くなりますし、オリジンサーバへの負荷も軽減できますが、定期的な更新が必要になるコンテンツは適切なキャッシュ時間を設定するのが良いでしょう。またCloudFrontでは、POSTやPUT、DELETEなどのHTTPメソッドをサポートしていますので、数量の変更や入力フォームの送信などがあるECサイトなどにも適しています。

CloudFrontの料金体系

CloudFrontの料金体系は以下になります。

データの転送料1ヵ月あたり(最初の10TB)は0.14 USD/GBとなります。

以下2つが対象になります。

  • エッジサーバーからユーザーに転送されるデータ量
  • エッジサーバーからオリジンサーバーへのデータ転送量(POSTなど)
リクエスト量・HTTPリクエスト料金が0.009 USD/1万リクエスト
・HTTPSリクエスト料金が0.012 USD/1万リクエストとなります。

以下が対象です。

  • ユーザーからエッジサーバーへのリクエスト量

AWSのオリジンサーバー(EC2やS3)からエッジサーバーへのデータ転送料は無料となります。また新規ユーザーは、12ヵ月50GBのデータ送信と2000000回のHTTP/HTTPSリクエストが無料になります。具体的な見積もりは直接問い合わせるのをお勧めします。

最後に

いかがでしたでしょうか?
コンテンツ配信サービスであるAmazon CloudFrontの特徴を紹介しました。
エッジサーバーを利用した低レイテンシなレスポンスを実現することができ、ネットワーク、アプリケーション両方ともセキュリティを高く運用できますし、支援サービスも充実しています。用途に合わせた柔軟なカスタマイズも可能なので、きっと要望を満たしてくれるでしょう。Amazon CloudFrontで高速なデータ転送を実現されてはいかがでしょうか?

以上です。ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です