AWS / SAP-C02

SAP-C02-099 · セクション 11 / タスク 2.6

Data Transfer Costの構造

インターネットエグレス / Inter-AZ / Inter-Region / NAT Gateway / データ処理 / トラフィック パターン

AWSのデータ転送コストを考えるとき、

100 GB通信した
↓
100 GB分の料金

と単純には計算できません。

同じ100 GBでも、

インターネットへ送信したのか

別のアベイラビリティーゾーンへ送信したのか

別リージョンへ送信したのか

NAT Gatewayなどの
データ処理サービスを通ったのか

によって、課金される場所が変わります。

さらに1つの通信が、

Inter-AZ データ転送
+
NAT Gateway データ処理
+
インターネットエグレス

のように、複数の料金要素を同時に発生させる場合があります。

ゴール

最終的に、

通信元
↓
通信経路
↓
通信先

を見て、

インターネットエグレス

Inter-AZ

Inter-Region

データ処理

固定的なGateway料金

へ分解し、

どのトラフィックに
何の料金が
何GB分発生するか

を説明できることがゴールです。

1. データ転送コストは「経路のコスト」で考える

最初に見るのは、

EC2
S3
RDS

のようなサービス名だけではありません。

重要なのは、

送信元
↓
経路
↓
送信先

です。

例えば、

Amazon EC2
↓
インターネット

と、

Amazon EC2
↓
NAT Gateway
↓
インターネット

では、最終的な通信先が同じでも料金構造が異なります。

後者では、

データ転送

だけでなく、

NAT Gateway データ処理

も考える必要があります。

2. AWSのデータ転送を3つの境界に分ける

AWSでは、データ転送コストを考えるうえで代表的に次の3種類があります。

DTO
データ転送 Out to インターネット

DTAZ
データ転送 アベイラビリティーゾーン間

DTIR
データ転送 リージョン間

整理すると、

境界 通信
インターネットエグレス AWS → インターネット
Inter-AZ 同一リージョン・異なるAZ
Inter-Region 異なるAWS リージョン

最初に、

どの境界を越えているか

を確認します。

3. インターネットではイングレスとエグレスを分ける

インターネットとAWS間の通信では、

インターネット
→
AWS

と、

AWS
→
インターネット

を分けます。

一般的に、

インターネット
→
AWS

データ転送 In

は無料です。

一方、

AWS
→
インターネット

データ転送 Out

ではインターネットエグレス料金を評価します。

つまり、

受信量
+
送信量

をまとめてインターネットエグレスとして計算するのではありません。

4. インターネットエグレスは送信元リージョンと利用量を見る

インターネットエグレスでは、

何GB送信するか

だけではなく、

どのリージョンから送信するか

も確認します。

データ転送 Outの料金は、基本的に、

送信元 リージョン

を基準にします。

したがって、

東京リージョン
→ インターネット

と、

別リージョン
→ インターネット

で同じ料金とは限りません。

料金モデルでは、

送信元 リージョン
+
月間 エグレス 量
+
適用される料金階層

を確認します。

5. 100 GBの無料インターネットエグレスはリージョンごとではない

現在、AWS リージョンからインターネットへのデータ転送 Outには、

月100 GB

の無料枠があります。

中国リージョンとAWS GovCloudを除き、

AWSサービス
+
AWS リージョン

を横断して集計されます。

例えば、

Amazon EC2
60 GB

Amazon S3
50 GB

をインターネットへ送信すると、

60 + 50
=
110 GB

です。

EC2に100 GB
+
S3にも100 GB

ではありません。

また、

リージョン A
100 GB

リージョン B
100 GB

のようにリージョンごとに別々の100 GB無料枠が付くわけでもありません。

6. 無料利用枠とアーキテクチャ コストを混同しない

無料枠があるからといって、

インターネットエグレス
=
コスト要因ではない

とは考えません。

例えば、

月50 GB

では無料範囲に収まっていても、事業成長によって、

月5 TB
月50 TB

へ増える可能性があります。

したがってコストモデルでは、

トラフィック量
↓
無料枠
↓
有料対象量
↓
料金階層

という順で考えます。

7. 同じリージョンでもAZをまたげばInter-AZになる

次に、

同一AWS リージョン

だから無料とは限りません。

例えば、

AZ-A
EC2

↓

AZ-B
EC2

という通信は、

Inter-AZ

です。

AWSでは、対象サービスについて、

データ転送 In
+
データ転送 Out

の両側でリージョン内データ転送料金が発生する場合があります。

そのため、

100 GBの通信
=
常に100 GB分だけ課金

とは考えません。

どのリソースが計測対象なのかをサービス料金表で確認します。

8. Inter-AZはInter-Regionではない

次を混同しないようにします。

Tokyo
AZ-A
↓
Tokyo
AZ-B

は、

Inter-AZ

です。

一方、

Tokyo リージョン
↓
Sydney リージョン

は、

Inter-Region

です。

つまり、

リージョン境界

を越えたか、

AZ境界

だけを越えたかを区別します。

9. 同じリージョンの通信がすべて有料でもない

反対に、

別サービスへ通信した

だけで必ずデータ転送料金が発生するわけでもありません。

例えば同一リージョンで、

Amazon EC2
↔
Amazon S3

を直接通信する場合など、データ転送料金が無料となる組み合わせがあります。

同様に、

Amazon DynamoDB
Amazon SQS
Amazon SNS

など、一部サービスとの同一リージョン通信には無料となる組み合わせがあります。

したがって、

同一リージョン
=
必ず無料

でも、

AWSサービス間
=
必ず有料

でもありません。

10. Inter-Regionでは送信元リージョンを基準にする

異なるAWS リージョン間の通信では、

Inter-Region データ転送

を考えます。

現在の一般的な料金モデルでは、

送信元 リージョン

を基準にデータ転送料金が決まります。

例えば、

Tokyo
↓
Sydney

なら、

Tokyoから送信されたデータ

として料金を評価します。

請求上は、

Out
In

の両方の使用量情報が現れる場合がありますが、料金は送信元側のOutへ関連付けられる構造があります。

ここでは、

送信元リージョン
+
送信量

を中心にモデル化します。

11. NAT Gatewayには2種類の基本料金がある

NAT Gatewayを使用すると、

データ転送コスト

とは別にNAT Gateway自体の料金があります。

基本構造は、

NAT Gateway-hour

+

データ処理 per GB

です。

さらに通信内容によって、

標準AWSデータ転送料金

も加わります。

したがって、

NAT Gateway コスト
=
データ処理だけ

でも、

NAT Gateway コスト
=
時間料金だけ

でもありません。

12. NAT Gateway データ処理は通信先を問わない

NAT Gatewayのデータ処理料金は、

NAT Gatewayを
何GB通過したか

を基準にします。

例えば、

AWS
→ インターネット

だけではなく、NAT Gatewayを経由して、

AWSサービス

へ通信する場合でも、通過したデータにはデータ処理料金が発生します。

重要なのは、

送信先

ではなく、

NAT Gatewayを通過したデータ量

です。

13. リクエストと対応の両方向を数える

例えば、

リクエスト
2 GB

対応
18 GB

がNAT Gatewayを通過したとします。

NAT Gatewayが処理するデータ量は、

2 GB
+
18 GB
=
20 GB

として考えます。

一方、インターネットエグレスでは、

AWS
→ インターネット

の送信方向が対象になります。

つまり、

NAT データ処理 量

と、

インターネットエグレス 量

は同じとは限りません。

14. Zonal NAT Gatewayでは配置AZも経路に入る

Zonal NAT Gatewayは、

1 アベイラビリティーゾーン

に属します。

例えば、

AZ-A
EC2

↓

AZ-B
NAT Gateway

↓

インターネット

という経路では、

EC2
↔
NAT Gateway

の通信がAZ境界を越えます。

そのため、

NAT Gateway データ処理

に加えて、

Inter-AZ データ転送

が料金要素になる可能性があります。

さらにインターネットへ送信するなら、

インターネットエグレス

も別の料金要素です。

つまり同じ通信で、

Inter-AZ
+
NAT 処理
+
インターネットエグレス

が重なる可能性があります。

15. Regional NAT Gatewayの時間料金はAZ単位で見る

現在は、

Regional NAT Gateway

も利用できます。

Regional NAT Gatewayは、ワークロードの存在するアベイラビリティーゾーンへ自動的に展開できます。

料金構造では、

NAT Gateway-hour

を、

Regional NAT Gateway全体で
常に1時間分

と考えません。

Regional NAT Gatewayでは、

構成されているAZ
×
NAT Gateway-hour

として時間料金を考えます。

例えば3 AZへ展開されているなら、

3 NAT Gateway-hours / hour

として考えます。

さらに、

データ処理 per GB

も別に存在します。

16. データ転送とデータ処理は別料金

AWSネットワークでは、

データ転送

と、

データ処理

を分けることが重要です。

データ転送

代表例:

インターネットエグレス
Inter-AZ
Inter-Region

データ処理

代表例:

NAT Gateway
AWS Transit Gateway
AWS PrivateLink

など、トラフィックを処理するネットワークサービスです。

したがって、

1 GBの通信

があったとき、

1 GB × 1料金

とは限りません。

同じ1 GBが、

ネットワーク境界

と、

処理サービス

の両方で計測されることがあります。

17. 1 GBが複数回「課金対象」になる理由

例えば、

EC2
↓
NAT Gateway
↓
インターネット

では、

1 GB

の通信データそのものがコピーされて何倍にもなったわけではありません。

しかし料金上は、

NAT Gatewayで
1 GB処理した

+

インターネットへ
1 GB送信した

という別々の課金イベントになります。

さらにAZ境界を越えれば、

Inter-AZ

も追加される可能性があります。

つまり、

物理 データ量

と、

課金対象 計測量

を分けます。

18. トラフィック パターンは「月間GB」だけではない

データ転送コストを計算するとき、

月10 TB

だけでは情報不足です。

少なくとも、

方向

送信元

送信先

AZ

リージョン

リクエストサイズ

対応 サイズ

頻度

経路

を確認します。

例えば、

100万リクエスト

リクエスト
5 KB

対応
500 KB

なら、通信回数は同じでも、

対応 量

が総データ量の大部分を占めます。

19. 応答量が多い ワークロードではエグレスが大きくなりやすい

ウェブサイトやAPIでは、

クライアント リクエスト

より、

サーバー 対応

が大きい場合があります。

例えば、

リクエスト
10 KB

対応
1 MB

なら、インターネットエグレスを大きく左右するのは主に、

対応

です。

したがって、

リクエスト数

だけからデータ転送コストを推定してはいけません。

リクエスト数
×
平均リクエストサイズ

+

対応 回数
×
平均対応 サイズ

まで考えます。

20. 双方向トラフィックでは方向ごとに分ける

例えば、

アップロード
1 TB

ダウンロード
8 TB

のサービスがあるとします。

合計トラフィックは、

9 TB

です。

しかし、

インターネット イングレス
1 TB

インターネットエグレス
8 TB

として分離します。

インターネットエグレス コストの基準になるのは、

8 TB

側です。

一方、途中のGatewayがすべての通信を処理している場合、

データ処理
9 TB

として考える場合があります。

このように、

方向

によって各料金項目へ入るデータ量が変わります。

21. コストモデルはホップごとに作る

複雑な通信では、

開始
↓
ホップ1
↓
ホップ2
↓
送信先

へ分解すると整理できます。

例えば、

ホップ 確認するもの
EC2 → Gateway AZ境界、処理
Gateway → AWSサービス リージョン、サービス料金
Gateway → インターネット 処理、インターネットエグレス
リージョン A → リージョン B Inter-Region

各ホップについて、

量
×
適用単価

を計算します。

さらにGatewayなどに、

時間単位 料金

があれば別に加えます。

22. 月間コストを式にする

データ転送関連コストは概念的に、

データ転送コスト
=
Σ
(
各境界を越えるデータ量
×
その転送料金
)

さらに、

データ処理 コスト
=
Σ
(
各処理サービスを通過するデータ量
×
処理単価
)

固定料金がある場合は、

+
時間単位 / 固定 コスト

です。

つまり全体では、

ネットワークコスト

=
データ転送
+
データ処理
+
固定ネットワークサービスコスト

として考えます。

23. 同じトラフィックでも経路でコスト構造が変わる

例えば、

100 GB

という同じデータ量でも、

パターンA

同一AZ
↓
同一リージョン サービス

パターンB

別AZ
↓
同一リージョン サービス

パターンC

NAT Gateway
↓
インターネット

パターンD

別リージョン

では、課金される項目が異なります。

したがって、

月間 GB

だけでは比較できません。

24. サービス固有の例外を確認する

AWS データ転送には一般原則がありますが、

すべてのAWSサービス

が完全に同じ料金モデルではありません。

例えば、

同一リージョンで無料となる通信

独自のデータ処理料金を持つサービス

独自のデータ転送 料金を持つサービス

があります。

そのため最終的な料金見積りでは、

一般的なデータ転送分類
↓
実際に利用するAWSサービス
↓
サービス料金

の順で確認します。

25. 「パブリックIPを使った = インターネットエグレス」ではない

料金判断では、

IP アドレス タイプ

だけを見てはいけません。

重要なのは、

最終的な送信元 / 送信先
+
AWSが料金上どのトラフィックとして扱うか

です。

例えばAWS内の同一リージョン サービスへアクセスする通信が、

パブリック エンドポイント

を使用していても、必ず、

インターネットエグレス

として課金されるとは限りません。

料金は、

実際のAWSサービス
+
リージョン
+
トラフィック 経路

で判断します。

26. 代表的なアンチパターン

アンチパターン 問題
AWS内通信ならすべて無料と考える Inter-AZ / Inter-Regionを見落とす
同一リージョンならすべて無料と考える Inter-AZを見落とす
NAT Gateway料金を時間単位だけで計算する データ処理を見落とす
NAT データ処理だけ計算する 標準 データ転送を見落とす
インターネットの送受信量をまとめてエグレスにする イングレスとエグレスを混同
NAT Gatewayでは送信量だけを処理量とする 対応など戻り通信を見落とす
100 GB無料枠をサービスやリージョンごとに適用する 無料枠を過大評価
1 GB通信なら最大1回だけ課金されると考える 複数の課金レイヤーを見落とす
リクエスト数だけで見積もる リクエスト / 対応 サイズを無視
サービス名だけで料金を決める 実際のトラフィック 経路を無視

27. SAP-C02での判断フロー

通信元はどこか
↓
AWS / インターネット
リージョン
AZ

↓

通信先はどこか
↓
インターネット
同一AZ
別AZ
別リージョン
AWSサービス

↓

方向を分ける
↓
In
Out

↓

トラフィック量を計算
↓
リクエスト
対応
頻度

↓

どの境界を越える?
↓
インターネット
Inter-AZ
Inter-Region

↓

途中に処理サービスはある?
↓
NAT Gateway
Transit Gateway
PrivateLinkなど

↓

各ホップの
データ転送 料金を計算

↓

各サービスの
データ処理 料金を計算

↓

時間単位 / 固定 料金を加える

↓

無料枠
料金階層
サービス固有ルールを適用

↓

ネットワークコスト

まとめ

データ転送コストは、

GB
×
1つの料金

ではありません。

最初に、

送信元
経路
送信先

を確認します。

次に、

インターネットエグレス

Inter-AZ

Inter-Region

のどの境界を越えているかを確認します。

さらに、

NAT Gateway
Transit Gateway
PrivateLink

などを通る場合は、

データ処理

を別に考えます。

NAT Gatewayでは、

時間単位 コスト
+
データ処理
+
必要なデータ転送

を分けます。

トラフィック パターンでは、

方向
リクエストサイズ
対応 サイズ
頻度

を確認します。

最終的に、

ネットワークコスト

=
データ転送
+
データ処理
+
固定 コスト

として各ホップを合算します。

重要なのは、

どのサービスを使っているか

だけではなく、

データが
どこから
どこへ
どの経路で
何GB流れているか

です。

主要AWS公式資料

  • AWS Certified Solutions Architect - Professional SAP-C02 Exam Guide — Task 2.6
  • AWS Global Network FAQs — Data transfer charges
  • Amazon EC2 Pricing — Data Transfer
  • Amazon VPC Pricing — NAT Gateway
  • Amazon VPC User Guide — Pricing for NAT gateways
  • Amazon VPC User Guide — Regional NAT gateways
  • AWS Data Exports — Understanding data transfer charges
  • AWS Well-Architected Framework — Cost Optimization Pillar