近年では、画像の高画質化や動画などの容量の大きなコンテンツが増えたことでコンテンツのリッチ化が進み、Webサイトへの負荷は以前よりも大幅に増加しています。Webサイトの負荷増大によるコンテンツ表示速度の遅延やWebサイトの停止は大きな機会損失になりかねません。この負荷の問題を解決してくれるのが、CDNサービスです。本記事では、AWSが提供するCDNサービス「Amazon CloudFront」についてご紹介します。
目次
AWSのCDNサービス「Amazon CloudFront」とは?
Amazon CloudFrontの説明の前に、まずCDNについてご紹介します。
CDN(Content Delivery Network)とは
CDN(Content Delivery Network)とは、オリジナルのコンテンツが保管されているサーバー(オリジンサーバー)からではなく、世界中に配置されている、オリジンサーバーを複製したキャッシュサーバーを介してコンテンツを配信するサービスです。
※Amazon CloudFront [AWS Black Belt Online Seminar] p.15より引用
ユーザーがWebサイトへアクセスするとき、物理的に距離が離れている場合やアクセスが集中している場合には、コンテンツの表示に時間がかかります。Webページが表示されるのに時間がかかると、ユーザーが待てずにWebページを閉じて離脱してしまう恐れがあります。CDNは、このようなアクセス集中への対策となるサービスです。CDNでは、ユーザーの近くにあるキャッシュサーバーからコンテンツが配信されるため、たとえアクセスが集中した際にも負荷を分散し、高速なコンテンツ配信を行えます。
また、オリジンサーバーの負荷も軽減でき、アクセス集中時に遅延が起こる可能性が低くなります。加えて、不特定多数の場所から大量のアクセスを行って、システムダウンに追い込むサイバー攻撃「DDoS攻撃」の対策にもなりえます。
Amazon CloudFrontとは?
Amazon CloudFrontは、AWSが提供しているCDNサービスです。Amazon CloudFrontでは、「エッジロケーション」という、世界中にあるデータセンターの集まりを活用します。アクセスしたユーザーから最も近いエッジロケーションにあるサーバーから配信を行うため、静的・動的コンテンツの配信を高速化することが可能です。また、オンプレミス環境をオリジンサーバーに指定することもできます。
Amazon CloudFrontを利用するメリット
Amazon CloudFrontを利用するメリットとしては、以下のような点が挙げられます。
他のAWSサービスとのシームレスな連携
Amazon CloudFrontは、他のAWSサービスとの連携が容易です。Amazon EC2やAmazon S3、Amazon Route 53などの連携可能なサービスは、Amazon CloudFrontと同じ管理コンソールで管理できます。また、コスト面でも利点があり、Amazon S3やAmazon EC2をオリジンサーバーとした場合、オリジンサーバーからAmazon CloudFrontへのデータ転送量は無料になります。
強固なセキュリティ
Amazon CloudFrontはAWSのセキュリティサービスとも連携できるため、セキュリティを強固なものにできます。たとえば、下記のようなサービスと連携可能です。
- AWS IAM:AWSのアクセス権限を管理するサービス
- AWS WAF:脆弱性攻撃からWebアプリケーションを保護するサービス
- AWS Shield:サーバーをDDoS攻撃から保護するサービス
なお、AWS Shield Standardは標準搭載されており、追加料金なしで利用できます。
低レイテンシー(低遅延)
Amazon CloudFrontは、アクセス場所から最も近いエッジロケーションからコンテンツを配信するため、世界のどの地域でも低レイテンシー(低遅延)を実現可能です。エッジロケーションの数は、2024年時点で約600あります。
Amazon CloudFrontのユースケース
続いて、Amazon CloudFrontのユースケースを3つご紹介します。
グローバル企業
Amazon CloudFrontの特長の1つは、世界中に存在するエッジロケーションを利用して、アクセスを高速化できる点にあります。そのため、日本以外の国々にもWebサービスを展開している場合には、世界のユーザーに対して満足度を高めることが可能です。
一時的なアクセス集中が起きやすいWebサイト
一時的なアクセス集中が起きやすいと予測されるWebサイトも、CDNサービスを利用するのが効果的です。たとえば、WebサイトがTVやSNSで紹介された場合やECサイトのセール時期などは、そのWebサイトへ一時的にアクセスが集中することがあります。Amazon CloudFrontの豊富なエッジロケーションを活用すれば、コンテンツ配信の遅延を防げます。
ライブコンテンツのストリーミング
AWS上で動画配信を行うサービスである「AWS Media Services」などとAmazon CloudFrontを連携すれば、ライブストリーミングも可能です。AWS Media ServicesはMPEG-DASHやHLS、Microsoft Smooth Streaming、CMAFなどの動画ファイル形式に対応しており、さまざまなデバイスでライブコンテンツのストリーミングができます。
Amazon CloudFrontの活用事例
続いて、Amazon CloudFrontを活用している事例を2件ご紹介します。
本田技研工業株式会社(Honda)
世界的な自動車・オートバイメーカー「本田技研工業株式会社(以下、Honda)」の事例です。Hondaでは数年ごとに、利用中の情報システムを再評価しています。当時HondaはすでにCDNサービスを利用していましたが、上述した再評価の結果、Amazon CloudFrontへ移行が決定しました。決め手となったのは、Amazon CloudFrontのパフォーマンスや管理のしやすさでした。
インフラもAWSに移行済みであったことから、Amazon CloudFrontへの移行は想定よりもスムーズに完了。インフラとCDNサービスをAWSに一元化できたことにより、システムの可用性や信頼性も向上し、インフラの管理時間の短縮やプロビジョニングコストの最適化が実現できました。
株式会社ecbeing
株式会社ecbeingは、同名のECサイト構築プラットフォーム「ecbeing」を提供している企業です。Amazon CloudFront導入を検討していた時期には、コンテンツのリッチ化や大規模サイトへの導入が増加したことにより、オリジンサーバーの負荷増大が問題となっていました。さらに、DDoS攻撃の増加も懸念点として挙がっていました。
同社ではDDoS攻撃からサイト全体を守るため、AWS ShieldとAmazon CloudFrontを導入。さらに、AWS WAFとも連携してセキュリティ面を強化し、1,000サイトに対して約11か月の期間でスムーズにサービス群を適用しました。結果的に、オリジンサーバーへの負荷は大幅に軽減でき、インフラ全体のコストも最適化できました。
Amazon CloudFrontの料金体系
最後に、Amazon CloudFrontの料金体系についてご紹介します。
料金設定の対象となる項目
Amazon CloudFrontで発生する料金は、基本的にAmazon CloudFrontからクライアントへのデータの転送量、Amazon CloudFrontへのHTTP/HTTPリクエスト件数によって設定されます。利用するサービスによっては、関連費用も支払う必要があります。
〈料金が発生する項目〉
- 送信データ転送: Amazon CloudFront エッジロケーションから転送されたデータの量によって料金が決定されます
- HTTP/HTTPSリクエスト:リクエストの数とタイプ(HTTPまたはHTTPS)、およびリクエスト元のリージョンで料金が決まります
- 無効化リクエスト:コンテンツに更新があった場合などになされる処理です。毎月1,000パス以降の無効化リクエストは、パスごとに0.005 USDが課金されます
- フィールドレベル暗号化リクエスト:フィールドレベル暗号化による暗号化リクエスト10,000件ごとに0.02 USDが課金されます
- 専用IPの独自SSL:独自SSL証明書を利用する場合、SSL証明書ごとに毎月600 USD発生します
無料利用枠の内容
Amazon CloudFrontには無料利用枠があり、下記の内容が含まれます。
- 送信データ転送:1か月あたり 1TB
- HTTP/HTTPSリクエスト:1か月あたり 10,000,000件
- CloudFront関数呼び出し:1か月あたり 2,000,000件
- CloudFront KeyValueStore の読み取り:1か月あたり 2,000,000回
- 無料の SSL 証明書
※SSL証明書はAmazon CloudFrontの無料枠で発行できるものではなく、Amazon Certificate Managerで発行します。
料金例(イメージ)
簡単な料金例をご紹介します。
◆料金例1:静的なWebサイト 月額合計0.10 USD
1か月あたりの送信データ転送が100 GB、HTTPSリクエストが1,000,000件とします。どちらも無料枠内に収まるため無料です。関連する処理として、CloudFrontディストリビューションにおいて関数を利用しているため、その関数分の費用が発生し、月額合計0.10 USDとなります。
◆料金例2:動的なeコマースアプリ 月額合計 5.10 USD
1TBの送信データ転送、10,000,000件のHTTPSリクエスト、2,000個の無効化リクエストとなるケースです。送信データ転送とHTTPSリクエストは無料ですが、1つのリクエストで1つのログが発行され、ログ1,000,000行ごとに0.01 USDかかるため、今回のケースでは合計0.1 USD発生します。また、無効化リクエストは無料分の1,000件を除き、残りのパス1,000件に対して料金5 USDが発生。したがって月額合計は5.10 USDとなります。
詳しくはAWSの料金ページをご参照ください。
参考:料金|Amazon CloudFront
まとめ
Amazon CloudFrontは、急なアクセスの増加があっても、負荷を分散して高速なコンテンツ配信を実現できるサービスです。また、世界中にエッジロケーションがあるため、世界のどの場所からのアクセスでも高速化が図れます。貴社のWebサイトにアクセス集中が懸念される場合には、Amazon CloudFrontの導入を検討してみてはいかがでしょうか。AWS関連の導入や移行でお悩みの方は、TOKAIコミュニケーションズまでお気軽にご相談 ください。
関連サービス
おすすめ記事
-
2020.06.23
Amazon Connectで在宅勤務でも対応できる問合せ窓口を立ち上げてみた
-
2020.08.17
Datadogで実現するモニタリングとオペレーションのオートメーション化
-
2020.04.27
Amazon FSx for Windows ファイルサーバーへの移行と活用方法
-
2020.06.11
Amazon WorkSpacesとは?その特長をまとめてみた
-
2020.06.23
AWSのDevOpsサービスと当社マネージドサービスを活用したDevOpsの実装①~概念編~