KINTO Technologies Advent Calendar 2021 - Qiita の6日目の記事です。
はじめに
単一地域だけではなく、世界中のユーザーに向けたAPIを提供する際、ユーザーの地域によってはAPIの応答時間が遅くなってしまう事があります。
地域毎にエンドポイントを分割したり等色々な解決方法はあると思いますが、CloudFrontを利用したシンプルなアーキテクチャで応答時間を短縮する方法を記載します。
キャッシュさせないCloudFrontを利用する
下記の図の用にCloudFrontを経由してオリジンサーバにアクセスさせます。
CloudFrontはキャッシュを利用した静的コンテンツの高速配信としてよく利用されると思いますが、
この時CloudFrontはキャッシュをさせず、あくまで経由だけの為に利用します。
キャッシュさせないCloudFrontを利用する事により当然CDN最大の特徴である、キャッシュを利用しての応答時間高速化の恩恵は受ける事ができません。
ですが、ユーザーに近いエッジサーバを経由したアクセスを行う事ができ、複数の地域からでも応答速度の改善を行う事ができます。
■キャッシュさせないCloudFrontを利用する事により受けられる恩恵
・世界中に配置された300以上のエッジロケーションにより最短距離で応答を返す事がきる
・エッジサーバとオリジンサーバの通信はAWS ネットワークバックボーンを介しているため、高速で通信される
キャッシュさせないCloudFrontを利用すると良いこと
・APIを提供する地域が増えてもインフラ構成を変更・追加する必要が無い
・ インフラ構成が肥大化しないため、保守・運用コストも増加しない
・CloudFrontで提供されているセキュリティ機能を使う事ができる
当社では、トヨタ車のサブスク「KINTO」等の企画/開発を行っており、エンジニアを募集中です。
KINTO Technologies コーポレートサイト