勉強前のイメージ
エッジロケーションとかいうのがキーワード
世界規模でコンテンツを配信したいときには候補に挙がるサービス
(実際にどんな機能があるのか、アーキの候補までは浮かばない)
結論
世界規模で配信でき、配信元のオリジンサーバ周りではいくつかのアーキ候補がある
★AWS SAA(C03版)では人気者なサービスなので要チェック!
まずエッジロケーションとは
・エッジロケーションというのは一言でいうとキャッシュサーバのこと
・ユーザはまず、このエッジロケーションに対してアクセスし次の順序でコンテンツを取得する
①エッジロケーションにリクエスト対象のコンテンツが存在していればそれを取得しレスポンスとして返す
②エッジロケーションになければ次はエッジロケーションの背後の”リージョン別エッジキャッシュ”にコンテンツを探しに行く。コンテンツがあればそれをレスポンスとして返す
③ ②でもなければリージョン別エッジキャッシュ背後のオリジンサーバにコンテンツを取りに行く
よく候補となるオリジンサーバ
→これはコンテンツがいつアクセスしても内容が一定の静的なものか、アクセスごとにコンテンツを構成して返す動的なものかで別れる
静的コンテンツの場合:S3(画像とかHTMLファイルとかを表示したいとき)
動的コンテンツの場合:EC2などのアプリケーションサーバ(ELB配下に配置する等)
CloudFrontの機能
・接続形式はHTTPSが基本
(URLをカスタムすることも可能、この際にHTTPS通信をさせる場合にはACMで証明書を管理)
・特定の地域にのみコンテンツの取得を許可することが可能
・接続時に機密性の高い情報を扱う場合にはフィールドレベル暗号化という機能を使えば通信上やり取りする情報を外界から守ることができる、、らしい
(単なるHTTPSと何が違うんだ・・)
・オリジンサーバから取得したコンテンツをキャッシュしておく期間を決めて利用する
(cache-controllのageディレクティブにて設定)
※S3でコンテンツ配信する際にはパブリックアクセスを許可させる必要があるが、この際にはcloudfrontのOAI(Origin Access Identity)というアクセス制御機能を用いて特定のユーザにのみ、特定のコンテンツを配信することが可能