Instiq
第3章 · 高性能なアーキテクチャの設計·v2.1.0·更新 2026/6/28·読了目安 約9分

変更要約: in-scope サービス網羅: 機械学習(SageMaker AI/Comprehend/Kendra/Polly/Rekognition/Textract/Transcribe/Translate)・ストレージ(FSx/Storage Gateway)・メディア(Elastic Transcoder/Kinesis Video Streams)・フロントエンド/API(API Gateway/Amplify/Device Farm)・分析(Kinesis Data Streams/Data Firehose/MSK/Glue/Lake Formation/Athena/EMR/OpenSearch/QuickSight/Data Exchange)・追加DB(Aurora Serverless/DocumentDB/Keyspaces)を各節に追加

3.2キャッシュとコンテンツ配信

この節の要点

Amazon CloudFront(CDN)によるエッジ配信と Amazon ElastiCache によるインメモリキャッシュで、レイテンシを下げ性能を高める設計を理解します。

レイテンシを下げる定番は キャッシュ です。配信は CloudFront(エッジ)、データベースの前段には ElastiCache(インメモリ)を置きます。

3.2.1キャッシュと配信

Amazon CloudFront(CDN:エッジロケーションでコンテンツをキャッシュし、世界中のユーザーへ低遅延配信)と、Amazon ElastiCache(インメモリキャッシュ Redis/Memcached:DB の負荷を下げ読み取りを高速化)を対比した図。
CloudFront(配信)と ElastiCache(DB 前段)
  • Amazon CloudFront:エッジロケーションでコンテンツをキャッシュし、ユーザーに近い場所から低遅延で配信する CDN。S3/ALB/EC2 などをオリジンにできる。
  • Amazon ElastiCache:Redis/Memcached のインメモリキャッシュ。DB の前段に置き、頻出の読み取りを高速化し DB 負荷を下げる。
  • Global Accelerator:エニーキャスト IP で TCP/UDP の通信を AWS バックボーン経由に乗せ、動的トラフィックの遅延を下げる(CDN とは別)。

レイテンシ削減の定番は「よく使うものを近く/速い場所に置く(キャッシュ)」です。配信(コンテンツ)には CloudFront:世界中のエッジに静的/動的コンテンツをキャッシュし、オリジン(S3 や ALB)への往復を減らします。データベースの前段には ElastiCache:頻繁に読まれる結果をインメモリに保持し、DB への問い合わせ回数と応答時間を削減します。両者は層が違う(ネットワーク端 vs データ層)ため、しばしば併用します。なお、キャッシュではなく動的通信そのものの経路最適化が要るなら Global Accelerator が候補です。

やりたいことサービス
コンテンツを世界中へ低遅延配信CloudFront(CDN)
DB の読み取りを高速化・負荷軽減ElastiCache(インメモリ)
動的通信の経路を最適化Global Accelerator

シナリオ:グローバルな読み取り重視アプリ。 静的アセット(画像/JS/CSS)は S3+CloudFront で各地のエッジから配信、API レスポンスのうち頻出のものは ElastiCache にキャッシュして RDS の負荷を軽減。これでユーザー体感のレイテンシと DB 負荷の両方を下げられます。配信=CloudFront、DB 前段=ElastiCache と役割を分けます。

注意

混同に注意:
CloudFront=コンテンツ配信(CDN・エッジ)/ElastiCache=DB 前段(インメモリ)——層が別。
②CloudFront は静的だけでなく動的コンテンツもキャッシュ/高速化できる。
Global Accelerator は CDN ではない(キャッシュせず、経路最適化)。
④ElastiCache は読み取り高速化が主目的(書き込みのスケールとは別)。

補足

Q. CloudFront と ElastiCache の違いは? CloudFront はエッジでのコンテンツ配信(CDN)、ElastiCache は DB 前段のインメモリキャッシュ。Q. CloudFront と Global Accelerator は? CloudFront はキャッシュ型の CDN、Global Accelerator はキャッシュせず動的通信の経路を AWS バックボーンで最適化。Q. S3 静的サイトの高速配信は? S3 オリジン+CloudFront。

試験ポイント

「静的/動的コンテンツを世界中へ低遅延配信=CloudFront」「DB の読み取りを高速化/負荷軽減=ElastiCache」「動的通信の経路最適化=Global Accelerator」の対応が頻出です。CloudFront と Global Accelerator の違い(キャッシュの有無)に注意。

3.2.2その他の主要 in-scope サービス(メディア・フロントエンド/API)

コンテンツ配信の周辺には、メディア変換とフロントエンド/API のマネージドサービスがあります。AWS Elemental MediaConvert動画/音声のフォーマット変換(トランスコード)を行い、配信先のデバイスに合わせた形式・解像度へ変換したいときに選びます(※従来の Amazon Elastic Transcoder は新規利用受付を終了し廃止予定で、現在は MediaConvert が標準)。Amazon Kinesis Video Streamsカメラ等からの動画ストリームを取り込み・保存・再生/分析するサービスで、監視カメラや IoT 動画をリアルタイムに扱うときに選びます。

API とフロントエンドでは、Amazon API GatewayREST/HTTP/WebSocket API のフルマネージドな入口で、認証・スロットリング・キャッシュを備え、バックエンド(Lambda など)の前段に置きたいときに選びます。AWS AmplifyWeb/モバイルのフロントエンドをホスティングし、認証や API などのバックエンドと一体で構築/デプロイするためのサービスで、フロントエンド中心のアプリを素早く立ち上げたいときに選びます。AWS Device Farm実機のスマートフォン/タブレットでアプリをテストするクラウドサービスで、多様な実端末での動作確認が要るときに選びます。

やりたいことサービス
動画/音声のフォーマット変換AWS Elemental MediaConvert(旧 Elastic Transcoder は廃止予定)
カメラ等の動画ストリーム取り込み/分析Amazon Kinesis Video Streams
マネージドな API の入口Amazon API Gateway
Web/モバイルのフロントエンド構築/ホスティングAWS Amplify
実機でのアプリテストAWS Device Farm

3.2.3この節のまとめ

  • CloudFront(CDN・エッジ配信)/ElastiCache(インメモリ・DB 前段)/Global Accelerator(経路最適化)
  • キャッシュで体感レイテンシと DB 負荷の両方を下げる。配信=CloudFront、DB 前段=ElastiCache

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 世界中のエッジロケーションでコンテンツをキャッシュし低遅延配信するサービスはどれですか?

Q2. 読み取りが多いデータベースの前段に置き、インメモリで読み取りを高速化するのはどれですか?

Q3. S3 に置いた静的サイトを世界中へ高速に配信したい場合に組み合わせると良いのはどれですか?

理解度を確認第3章「高性能なアーキテクチャの設計」の問題を解く