どうもSPCデザイナーAです。
今回はコンテンツ配信サービスを実装するのに適した『Amazon CloudFront』についてみていきます。
目次
Amazon CloudFrontとは?
Amazon CloudFrontは、Amazon Web Services(AWS)のCDN(コンテンツデリバリネットワーク)サービスで、コンテンツファイルをオリジンサーバから直接配信せず、ユーザーのアクセスに対し最寄りのエッジサーバを介して配信するサービスです。
こうすることで、IoT、AI、セキュリティ、アプリケーション、ストレージなど、あらゆるITインフラを効率化できたり、Web機能を同じサービスでまとめたいときに重宝します。
具体的な仕組み
配信するオリジナルのファイルを置いておくサーバ『オリジンサーバ』からコンテンツを取得し、ユーザーからリクエストされた配信をサーバ『エッジサーバ』で行います。
エッジサーバは世界各地に配置されており、今現在2020年6月時点で42か国84都市に216台設置されております。
日本には東京と大阪に設置されているようですね。
そしてユーザーからのリクエストを最も近いエッジサーバに誘導し、そこから発信することで配信を高速化する仕組みです。
さらにエッジサーバでキャッシングを行うことでオリジンサーバに掛かる負担も抑えることができます。
Amazon CloudFrontを利用するメリット
安全性の高いCDN
CloudFrontはセキュリティ面も長けており、システムを備えたCDNなので、安心してサービスを利用できます。
SSL機能が自動で有効になったり、独自SSL証明書を発行できたり、アクセス制限など行い安定性を保つなど、有益なシステムが備わっています。
さらに、AWSの各種機能と連携して、DDoS攻撃等のトラブルに対し階層化されたセキュリティシステムが備わっています。
安定してコンテンツを提供し続ける環境が整っているので、運用の際セキュリティに関する心配事は皆無です。
低レイテンシでサービスを提供できる
CloudFrontは世界中にエッジサーバを設置してあるので、あらゆる場所からのアクセスにも最寄りのエッジサーバへ自動アクセスし、柔軟に対応することができます。
アクセスを分散させることにもなりますのでサーバにも負担が掛かりにくく、レイテンシも抑えた状態でユーザーにコンテンツを提供できます。
CloudFrontはサーバからコンテンツをキャッシュできるので、サービスをより安定した形に整えることもでき、コンテンツが大規模なサービスであるほど、CloudFrontの低いレイテンシが活きます。
コストの削減
CloudFrontは利用した分だけ料金を支払うことになるので必要最低限の支払いで済ませる事ができます。
また、無料枠も設けられているので、仮実装してみて検証することもできます。
運用コストを最小限に抑えられるので、利益を追及しやすいです。
可用性を向上させる
DDoS攻撃の対策やトラフィックの分散という点からサービスの可用性も良く、信頼されるシステムの構築に貢献してくれます。
エラーやトラブルが起こるWebサービスにおいて可用性の高さはプラスになります。
CloudFrontはエッジロケーションにコンテンツをキャッシュして、必要なときだけ配信の元となるオリジンサーバで利用することもできます。
オリジンサーバの負荷を低減させることで可用性を高めることもできるので、さらに使いやすいサービスを作ることができます。
Amazon CloudFrontを利用してできること
コンテンツ配信
静的ファイルや動的コンテンツを、ユーザーの最寄りのサーバから配信できます。
サーバは自動選択されるため、特別設定する必要もありません。
ストリーミングデータの配信
動画や音声のメディアストリーミングデータの配信が可能で、Adobe Media Serverなど複数のサービスにも対応しています。
エッジサーバ経由のデータ送信
エッジサーバから配信されたコンテンツからのPOST(子リソース作成)やPUT(リソースの更新)、DELETE(リソースの削除)をサポートできます。
リクエストは元のサーバに転送され、通常通りに処理されます。
コンテンツのキャッシュ
初回アクセス時に、元となるサーバから取得したコンテンツをキャッシュします。
以降は、キャッシュの有効期限が切れるまでコンテンツを返すことができます。
※設定によっては全くキャッシュしないことも可能です。
アクセス分析機能
キャッシュが使われた割合やエラー率などの統計データをレポート機能で監視できます。
頻繁にアクセスするコンテンツや、ユーザーのアクセス環境についても把握できます。
ジオターゲティング機能
ユーザーがどの国・地域からアクセスしてきているかを検出することができます。
まとめ
いかがでしょうか?
新しい配信サービスを検討している企業様など、初期費用もかからず試せますので環境構築の参考にしていただければ。