CDP:Private Cache Distributionパターン

提供:AWS-CloudDesignPattern
移動: 案内, 検索
寄贈したアーキテクト

CDNを用いたプライベート配信

目次

解決したい課題

世界中のキャッシュロケーションを活用したコンテンツデリバリーのサービスを用いることで、世界中のユーザーに高速にデータを配信することが可能となった。しかし、特定のユーザーにのみコンテンツを配布する場合、利用者を認証する必要があり、そうした仕組みを構築するのは簡単ではない。

クラウドでの解決/パターンの説明

 コンテンツデリバリーで提供される「署名付きURL認証機能」を用いる方法がある。ユーザーがコンテンツをダウンロードするためにWebサイトにアクセスする際に、あらかじめ設定しておいた「アクセス元IPアドレス」「ダウンロード可能期間」「アクセス元地域」等に適合した場合のみ、「署名付きURL認証機能」を発行すれば良い。より高い精度での特定ユーザーへの配信が可能となる。 また署名付きURL以外にも、クッキーに対して署名を付与する「署名付きクッキー認証」を利用することもできる。

実装

署名付きURL認証機能の場合:

  • コンテンツデリバリーサービスである「CloudFront」の「apitool」やAWS SDKを準備する。
  • EC2上のWebサーバーに秘密鍵を登録しておき、署名付きURLの発行準備をする。
  • 自システムでユーザー認証を実施後、そのユーザーに公開する各コンテンツに対し、CloudFrontのAPIを用いて署名付きURL作成機能(公開鍵を登録)を利用してURLを作成する。
  • 署名付URLをHTMLなどでリンク(ダウンロード)先として利用する。

署名付きクッキー認証機能の場合:

  • コンテンツデリバリーサービスである「CloudFront」の「apitool」やAWS SDKを準備する。
  • 自システムでユーザー認証を実施後、そのユーザーに公開する各コンテンツにアクセス制御を行うよう、パスや署名が入ったCookieを発行する。
  • 発行されたCookieをもとに、CloudFrontからコンテンツをダウンロードする。

構造

6wNg0ISJczU5Pz1m-6A5B0.png

利点

  • IPアドレスと地域で特定されるユーザーのみが期限付で利用できるので、プライベートコンテンツの配布として使うことが可能。
  • 実際のコンテンツダウンロードは直接コンテンツデリバリーから行うので、負荷と障害に強い構成となる。

注意点

  • 認証システムや期限付きURL、Cookieを発行するサーバーが必要となる。
  • ユーザーの認証が切れていなくても、有効期限が失効してしまうとダウンロードできなくなってしまう。

その他

個人用ツール
名前空間
変種
操作
CDPメニュー
ツールボックス