
はじめに
こんにちは、品質管理部の立古です。
ある日、とあるAPIを Amazon Web Services(以下 AWSと表記)上に構築する案件があり、設計相談の過程で開発者とディスカッションしていました。 そのAPI は、Amazon API Gateway(以下 API Gatewayと表記) を用いて構築する予定なのですが、構成図として以下の2案が示されました。

この2案を見たときに、開発者から出た疑問が以下です。
- キャッシュが不要なのであれば、Amazon CloudFront(以下 CloudFrontと表記) を取り除いてリソースを減らすほうが適切ではないでしょうか?
皆さんはどう思われますか? 確かに、CloudFront はコンテンツをキャッシュできるサービスですが、今回はキャッシュが不要ということでしたので、特に何らかの処理を担っているようには見えません。 ただ通過するだけなら、リソースは少ないほうがコストの発生要因も減りそうですし、性能ボトルネックとして検討すべき事項が減るかもしれませんね。
ですが、実はこの CloudFront には隠れたメリットがあります。
そこで今回は、上記のような設計案件が出たとき、あえて CloudFront を挟むメリットについて考察してみたいと思います。
CloudFront とは
AWS の提供する CDN(Contents Delivery Network) サービスです。 aws.amazon.com
CDNとは、ユーザーに近い様々な箇所にキャッシュサーバーを設置し、それらを高い信頼性、低レイテンシー、高スループットのネットワークで接続することで、Webコンテンツをユーザーへ素早く届けるネットワークシステムです。
ただキャッシュが欲しいだけなら Amazon ElastiCache という別サービスも利用できそうですが、高い信頼性、低レイテンシー、高スループットのネットワークというのがポイントになってきそうです。 aws.amazon.com
性能考察
まずは性能面での影響を考察してみたいと思います。 最初の構成図では見えにくかったですが、CloudFrontを経由した場合のネットワーク経路を以下の通りイメージしてみることにします。

なお、上記の図は考察のためのイメージとなり、実際の経路は各サービスの設定や利用するネットワークの環境に依存します。 例えば、API Gateway単独でも「エッジ最適化エンドポイント」を設定している場合は CloudFrontと同等の経路が実現できます。
経路1 一般的な経路
CloudFrontを利用していない場合、AWS 側のサーバーまで一般的なインターネット通信と同じようにルーティングされます。
それ自体に大きな問題があるわけではありませんが、以下に示すCloudFront経由の場合と比べて、途中でどのようなISPを経由し、経路の回線状況がどうなっているかを読みづらそうです。
したがって、回路の品質を担保しづらく、通信の安定性においては劣る可能性があります。
経路2 CloudFrontを利用した場合の経路
CloudFront へアクセスした場合、通信はなるべく最寄りのエッジロケーションへルーティングされ、AWSが用意する高品質なバックボーンネットワークへ繋がります。
エッジロケーションへ到達して以降、API Gateway までの経路はAWS内で確保されているため、安定した品質が期待できそうです。
このように、最初の構成図では意味なく CloudFront を通過しているように見えましたが、実際は高品質な通信経路への誘導という役割を担っていたことがわかります。 これなら、あえて CloudFront を利用する意味も見出せそうですね。
コスト考察
次に、コストについても考察してみたいと思います。 なお、以下は2026年1月時点の考察になります。最新の情報は公式の料金表をご確認ください。 aws.amazon.com aws.amazon.com
料金の基本的な考え方
AWS上の各サービスについて、ネットワーク料金は Amazon EC2 のデータ転送レートと、個別サービスのコール数をベースに設定されていることが多いです。
特に、データ転送に関してはインバウンドを無料として、アウトバウンドのみ課金されます。
今回はAPI Gatewayを例に説明していますが、別のサービスにおいても多くは同じ概念で試算が可能です。
aws.amazon.com
AWSへのインバウンド通信

1 CloudFront へのアクセス
| データ転送レート | コール数 |
|---|---|
| 無料 | 1万あたり $0.0120 |
データ転送レートは掛からず、コール数による課金も極めて低額に抑えられます。 1,000 万件の無料枠もあるため、利用規模によっては完全に無料となります。
2 CloudFront から API Gateway への転送
| データ転送レート | コール数 | オリジンへのデータ転送 |
|---|---|---|
| 無料 | 100万あたり $4.25 | GBあたり $0.060 |
API Gateway のコール数は直接アクセスした場合と変わりません。 AWS内部通信のため、データ転送レートは無料になりますが、インバウンド通信は元々無料であるため影響ありません。 API Gateway へデータをPOSTしたりする場合に料金が掛かってきますので、その点は注意事項です。
3 API Gateway への直接アクセス
| データ転送レート | コール数 |
|---|---|
| 無料 | 100万あたり $4.25 |
データ転送レートは掛からず、コール数による課金も極めて低額に抑えられます。
インバウンド通信に関しては、(大きなPOSTデータなどが無い場合) CloudFront を経由したほうが「1 CloudFront へのアクセス」の料金分だけ高額になります。 ただし、元々が極めて低額であるため、影響は少なそうです。
AWSからのアウトバウンド通信

1 CloudFront からの返答
| データ転送レート |
|---|
| GBあたり ~ $0.114 |
一見してEC2の基本レートと同じですが、無償が1TBあり、ボリュームディスカウントがより細やかに設けられるため、結果的にEC2のレートと比べて低額になっています。
2 API Gateway から CloudFrontへの返答
AWS のあらゆるオリジンからのオリジン取得は無料です
3 API Gateway からの直接返答
| データ転送レート |
|---|
| GBあたり ~ $0.114 |
EC2のレートを利用することになるため、無償枠が 100GBで、ボリュームディスカウントも CloudFrontより控えめです。
アウトバウンド通信に関しては、CloudFront を経由したほうがレート上優遇されることになります。 小規模な構成ではほぼ影響しませんが、利用規模が大きくなると差が出そうです。
CloudFront Security Savings Bundle
さらに、CloudFront には CloudFront Security Savings Bundle という割引プランが存在します。
個別事例によって試算が必要にはなりますが、割引額が大きい(2026年1月現在は 30%)ため、上記で説明したようなインバウンド通信の追加コスト分を逆転できる可能性が高まります。
これらの組み合わせから、うまく利用すれば CloudFront を経由したほうがコスト上のメリットを享受できるケースがあります。 個別の構成にもよりますので、案件に合わせて計算してみてください。
注意点
管理対象リソースが増えることになるため、設計、運用管理、維持メンテナンスの視点で見れば、注意すべき点もあります。 特に、セキュリティ関連の考慮点には注意したいところです。
- 不適切なキャッシュ設定による情報漏えいインシデント
- アクセス制御の設計ミスによる想定外アクセス
- 通信コンプライアンス要件(海外を経由させないなど)の遵守漏れ
余談
CloudFront は通信プロトコルとして HTTPS の利用を前提にしています。 今回は REST API を構築するため、通信はすべて HTTPS を想定しています。
HTTPS に依存せず、TCPでエッジロケーションを利用したい場合、AWS Global Accelerator というサービスを利用できます。 aws.amazon.com
このとき、CloudFrontとは料金体系が異なりますので、コストに関しては別途の検討が必要な点に注意してください。
まとめ
このように、キャッシュが不要な場合でも、CDNサービスである CloudFront をあえて経由させることで、以下のようなメリットが考えられます。
- 通信経路の品質を担保しやすくなる可能性がある
- 割引施策によるコスト的なメリットを享受できる可能性がある
おわりに
プログラムコードと構成図だけを見ていると、今回のようなネットワーク挙動をつい忘れてしまうことがあります。 ネットワークサービスの開発時には、通信経路などもシミュレーションしながら設計を進めたいですね。
ご覧いただきありがとうございました。