導入
コンピュートやストレージのコストは意識しやすい一方、見落とされがちなのがデータ転送料金です。SAAでは「転送コストを下げる設計」がしばしば問われます。
説明
AWSのデータ転送は、経路によって課金の有無が大きく変わります。
| 転送経路 | 料金の目安 |
|---|---|
| 同一AZ内(同じサブネット等) | 無料 |
| 同一リージョン内・AZを跨ぐ(例: AZ-a ⇔ AZ-b) | 課金あり(送受信双方) |
| AWSへのインバウンド(インターネットから流入) | 無料 |
| AWSからのアウトバウンド(インターネットへ流出) | 課金あり(データ量に応じて最も高くつきやすい) |
| 同一リージョンでVPCエンドポイント経由(S3・DynamoDB等) | インターネットを経由せず、転送料を抑えられる |
flowchart TD
subgraph AZ-a
E1["EC2"]
end
subgraph AZ-b
E2["EC2"]
end
Internet(("インターネット"))
E1 -- "同一AZ内: 無料" --> E1
E1 -- "AZ跨ぎ: 課金" --> E2
E2 -- "アウトバウンド: 課金(高コスト)" --> Internet
転送コストを下げる設計の定石は次の3つです。
- 同一AZ・同一リージョンに構成をまとめる:頻繁に通信するリソースは近くに置く
- VPCエンドポイントを使う:S3・DynamoDBなどへのアクセスをインターネット経由にせず、AWS内部ネットワークで完結させる(第2章参照)
- CloudFrontでキャッシュする:オリジンへのアウトバウンド転送そのものを減らし、エッジからの配信で賄う(CloudFrontからインターネットへの転送はEC2直配信より有利な料金体系)
読んでみよう
「データ転送コストを削減したい」という問題文を見たら、まず「インターネットへのアウトバウンドが発生していないか」を疑ってください。答えの多くは、VPCエンドポイント・CloudFront・同一リージョンへの集約のどれかです。