Amazon CloudFront を利用するメリットとS3との違いについて

はじめに

Amazon CloudFront は、AWS が提供するコンテンツデリバリーネットワーク(CDN)サービスとして有名です。今回はこの Amazon CloudFront について、どのようなことができるのか、利用することによるメリットにどのようなものがあるかなどをまとめていきます。

Amazon CloudFront とは

Amazon CloudFront は、AWS が提供する高速コンテンツ配信ネットワーク(CDN)サービスです。世界中の主要都市のほとんどにエッジサーバーが設置されており、ユーザからのリクエストは最寄りのエッジサーバーが使用されることにより、コンテンツファイルの高速な配信を可能とします。また、一度オリジンサーバーから取得したコンテンツファイルをエッジサーバーにキャッシュすることでオリジンサーバーの負担を減らすことができます。

Amazon CloudFront を構成する主な要素としては以下の通りです。

  • オリジンサーバー
    コンテンツのオリジナルファイルが配置されているサーバーを指します。オリジンサーバーには、Amazon EC2 や Amazon S3 など(AWSオリジン)の他に、オンプレミスサーバーを指定することが可能です。初回アクセス時やキャッシュ失効時には、このオリジンサーバーからコンテンツを取得します。
  • エッジサーバー
    世界中に設置されているエッジロケーション(ネットワーク拠点)を構成するサーバーです。ユーザーからリクエストがあった際に、そのユーザーから最も近いエッジサーバーが自動的に選ばれてコンテンツの配信を行います。

静的コンテンツの場合は、オリジンサーバーにファイルの最終バージョンを格納します。これらは Amazon S3 バケットにすることができます。

動的コンテンツの場合は、Amazon EC2 もしくはその他のウェブサーバーをオリジンサーバーとして使用することができ、Amazon CloudFront を通じて配信されるコンテンツを格納または生成します。

Amazon CloudFront は以下のような特徴があります。

・高パフォーマンス
世界中の主要都市のほとんどに設置されているエッジロケーションを介してコンテンツ配信を行うことで、利用者に最高のパフォーマンスを提供しています。
・可用性の向上
エッジロケーションを通してコンテンツ配信を行うことにより、オリジンサーバーのワークロードを減らし、アプリケーションの可用性を高めることができます。また、オリジンサーバーを複数設定することで、フェイルオーバー機能を使用することもできます。
・信頼できるセキュリティ
高度な SSL 機能が自動的に有効でとなっており、コンテンツに対するアクセス制限を設けたり、AWS の各種機能(例えば、AWS Shield や AWS Web Application Firewall (WAF)など)と連携することで、DDoS 攻撃などの攻撃に対応することができます。
・コストの削減
Amazon CloudFront は、前払い料金や長期契約を必要としない従量課金制で、使用した分のみの支払いとなります。なお、Amazon S3 や Amazon EC2 など(AWSオリジン)を使用している場合、それらのサービスと Amazon CloudFront 間のデータ転送に料金は発生しません。

Amazon CloudFront と Amazon S3 の違いについて

そもそもファイルのダウンロードを目的とした場合、わざわざ Amazon CloudFront を利用せずとも、例えば Amazon S3 だけでも事足りるように思えます。それでは、Amazon CloudFront を利用した際のメリットはどの程度あるのでしょうか。この点については、CDN を利用する理由にも当たります。大まかにまとめると、コンテンツ配信の際に Amazon CloudFront を利用した場合と、Amazon CloudFront を利用しないで直接 Amazon S3 などのオリジンサーバーからオブジェクトを取得した場合を比較したとき、一番大きな特徴がエッジデリバリーによるメリットの有無となります。

Amazon CloudFront を利用することで、世界各地に設置してあるエッジサーバーからコンテンツの配信を行うことができます。こうすることで、例えば海外から国内サーバーにあるファイルのダウンロードをしようと試みた際に、わざわざ国外の遠いサーバーからダウンロードを行わずとも自動でユーザーから一番近いエッジサーバーにアクセスしてファイルのダウンロードを行うため、ユーザーへのレスポンスを早め、ダウンロードを速くすることができます。この点については動画や大きな画像などの重いファイルのダウンロードを速くする効果もあります。

また、ユーザーに対してエッジサーバーからコンテンツの配信を行うことで、コンテンツのオリジナルファイルを置いているサーバーへトラフィックが集中することも防ぐことができ、結果としてサービスの耐障害性を高めることにもつながります。

上記の他にもコスト面において、ユーザーがコンテンツに頻繁にアクセスする場合は Amazon CloudFront のデータ転送の価格は Amazon S3 データ転送の価格より低くなり、コスト効率の向上を期待することができます。

まとめ

コンテンツ配信における Amazon CloudFront を利用した際のメリットについてまとめました。Amazon CloudFront を利用することで、サーバーから直接コンテンツのダウンロードを行う運用よりもパフォーマンスや可用性に優れ、オリジンとして Amazon S3 等の AWS オリジンを使用している場合にはコスト削減も可能です。特にグローバルなサイト運営を行うことが多い昨今においては、魅力的なサービスと言えるでしょう。

コメントを残す

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

前の記事

Amazon CloudFront について

次の記事

AWS Configの技術紹介と導入例