手当たり次第に書くんだ

飽きっぽいのは本能

EC2 は帯域確保サービスの基盤として使えるのか?NFV / 閉域接続の観点で読む baseline / burst / flow 制約

はじめに

AWS EC2 のインスタンスタイプには、Up to 10 Gbps25 Gigabit のようなネットワーク性能表記がある。

この表記は、一見すると「そのインスタンスで利用できる帯域」を示しているように見える。

しかし、通信キャリア NFV、閉域接続サービス、仮想 Firewall、IPsec gateway、NAT gateway、IDS/IPS のように、EC2 をネットワークサービスの処理基盤として使う場合、この読み方は危険である。

重要なのは、EC2 が高性能なネットワークを提供できるかどうかではない。

問題は、EC2 のネットワーク性能モデルを、帯域確保サービスの根拠として扱えるかどうかである。

結論から言えば、EC2 の Up to 表記を帯域確保の根拠として扱うことはできない。

一方で、baseline bandwidth については慎重に扱う必要がある。AWS 公式情報から確認できる範囲では、baseline を guaranteed bandwidth と明示している記述は見つからない。また、baseline そのものを一般論として not guaranteed と直接定義している記述も確認できない。

また、burst bandwidth については shared resource に依存する best effort と説明されている。

したがって、EC2 のネットワーク帯域は「カタログ上の最大値」ではなく、「baseline を選定上の基準値として扱いつつ、flow、経路、allowance、VNF 処理性能などの制約を差し引いた結果として成立する実効性能」として読むべきである。

論点は「最大帯域」ではなく「帯域確保に耐えるか」

EC2 のネットワーク性能を語るとき、Up to 10 Gbps のような最大値に注目しやすい。

しかし、帯域確保型サービスの観点では、最大値よりも次の問いが重要になる。

その帯域を、どの条件で、どの時間幅で、どの通信形態に対して、サービス仕様上の根拠として提示できるのか。

この問いに対して、EC2 の Up to 表記だけでは答えられない。

なぜなら、Up to は baseline と burst を含む条件付きの最大性能であり、常時利用可能な帯域を意味しないためである。

帯域確保型サービスで必要になるのは、瞬間的に出る最大値ではない。継続通信、単一 flow、トンネル、PPS、セッション数、経路、障害時の切替まで含めて、サービスとして説明可能な性能境界である。

キャリア NFV 文脈での問題

通信キャリア NFV の文脈では、この問題が最初から中心になる。

キャリアサービスでは、顧客に対して「最大帯域」「保証帯域」「閉域接続」「SLA」「帯域確保」といった表現を使う場合がある。

このとき、EC2 の Up to 表記をそのまま提供帯域の根拠にすると、意味がずれる。

文脈10 Gbps の意味
キャリアサービス側提供帯域または帯域確保の根拠
EC2 側baseline と burst を含む条件付き最大値。baseline は選定基準になり得るが、Up to 全体は帯域確保の根拠ではない

この 2 つを同じ意味として扱うと、設計、課金、SLA、責任分界の前提が崩れる。

AWS 上で NFV 的な構成を成立させるには、AWS 側の制約をサービス仕様へ写像する必要がある。

提供可能帯域は、少なくとも以下の最小値として考える必要がある。

評価対象内容
自社アクセス回線帯域顧客接続側や閉域網側で定義される帯域
Direct Connect / VIF / Gateway 側の制約AWS 接続経路側の上限
EC2 baseline bandwidthインスタンスタイプ選定の基準帯域
single-flow 上限単一 flow や tunnel 外側 flow の制約
PPS allowancepacket per second の上限
tracked connection allowanceconnection tracking の上限
VNF 処理性能ゲスト OS、アプライアンス、暗号化、Firewall 処理の上限

ここでの論点は、AWS で NFV が技術的に動くかどうかではない。

サービスとして提示している帯域の意味を、AWS のネットワーク性能モデルへ正しく写像できるかである。

EC2 の帯域表記と baseline の扱い

EC2 のインスタンスタイプに記載される network performance は、帯域確保を意味しない。

特に Up to 表記のインスタンスでは、network I/O credit mechanism により、baseline bandwidth を超えて burst できる場合がある。

この構造は、次のように整理できる。

要素意味
Up to bandwidthbaseline bandwidth と burst bandwidth を含む条件付き最大値
baseline bandwidthburst に依存しないインスタンスタイプ選定上の基準値
burst bandwidthnetwork I/O credit と共有リソース状況に依存する一時的な上振れ

baseline bandwidth は、AWS がインスタンスタイプ選定に使う性能属性である。

baseline bandwidth は、burst に依存しない基準値として扱える。

ただし、AWS が baseline を guaranteed bandwidth と明示しているわけではない。また、baseline そのものを一般論として not guaranteed と直接定義しているわけでもない。

確認できるのは、baseline が burst とは区別される値として扱われていること、EC2 SLA が帯域値を保証する形ではないこと、そして burst bandwidth は shared resource に依存する best effort と説明されていることである。

一方、burst bandwidth は network I/O credit と共有リソース状況に依存する一時的な上振れである。credit が残っていても、burst は shared resource に依存する best effort として扱われる。

したがって、Up to 10 Gbps と書かれていても、それは 10 Gbps の帯域確保を意味しない。

ここで分けるべきなのは、「設計基準にできる」「確保されると読めるか」「保証されると読めるか」という 3 つの意味である。

観点baseline bandwidth の扱い
設計基準burst に依存しない基準値として扱える
AWS 公式の位置づけguaranteed bandwidth とも not guaranteed とも明示されていない
SLA 上の扱いEC2 SLA は帯域値を保証する形ではない
burstshared resource に依存する best effort と明示されている
顧客提示の根拠単独で帯域確保サービスの保証値として提示するのは危険

AWS の EC2 SLA が対象にしているのは、Region-Level / Instance-Level の稼働率や external connectivity であり、baseline bandwidth を何 Gbps 以上保証する、という形ではない。

さらに、実効性能は baseline だけで決まらない。次に見る flow、経路、PPS、tracked connections、ENA allowance、アプリケーション処理性能が別の上限になる。

flow 制約は帯域確保型サービスで問題になりやすい

baseline を満たすインスタンスタイプを選んでも、それだけで提供可能帯域は決まらない。

EC2 のネットワーク性能では、インスタンス全体の帯域だけでなく、single-flow の上限が重要になる。

特に、IPsec、GRE、VPN、トンネル、バックアップ、レプリケーション、閉域接続、NFV のような用途では、通信が少数の外側 flow に集約されやすい。

TCP / UDP の場合、flow は一般に source IP、destination IP、source port、destination port、protocol の 5-tuple で分類される。

一方、GRE や IPsec のような通信では、外側ヘッダの source IP、destination IP、next protocol によって分類される。

この場合、トンネル内部に多数のユーザー通信が存在していても、AWS 側の flow 分類では少数 flow として扱われる可能性がある。

視点見え方
VNF / ゲスト OS から見た論理多数のユーザー通信、多数の TCP / UDP セッション
AWS 側の flow 分類外側ヘッダに基づく少数 flow
性能上の帰結multi-flow 帯域ではなく single-flow 上限に寄る可能性

これは、帯域確保型サービスにとって重要である。

サービス側で「多数ユーザーの合計帯域」として設計していても、AWS 側では外側トンネルの flow 制約に引っかかる可能性があるためである。

経路によって使える帯域は変わる

EC2 の available bandwidth は、すべての通信経路で同じように使えるわけではない。

VPC 内のインスタンス間通信、Internet Gateway 経由の通信、Local Gateway 経由の通信、Direct Connect 経由の通信では、それぞれ評価すべき制約が異なる。

つまり、インスタンス仕様上の available bandwidth は、そのまま特定経路の利用可能帯域にはならない。

インスタンス仕様上の available bandwidth と、特定経路で実際に利用できる帯域は区別して扱う必要がある。

帯域確保型サービスとして EC2 を使う場合、インスタンス単体の性能ではなく、通信経路全体で最小となる制約を見る必要がある。

Gbps だけでは評価できない

EC2 のネットワーク性能は Gbps だけでは決まらない。

小さいパケットが大量に流れる場合、PPS が先に上限になることがある。

多数のセッションを扱う場合、tracked connections が制約になることがある。

Firewall、NAT、IPsec gateway、IDS/IPS、VNF のような用途では、帯域よりも先に PPS、connection tracking、CPU、暗号化処理、カーネル処理、アプライアンス側の実装性能が上限になることがある。

したがって、帯域確保型サービスの設計では、少なくとも次の観点を分ける必要がある。

観点評価対象
帯域Gbps / baseline / available bandwidth
flowsingle-flow / multi-flow / tunnel 外側 flow
packetPPS / packet size / microburst
sessiontracked connections / NAT table / state table
経路VPC 内、IGW、LGW、DX、TGW、GWLB
処理VNF、暗号化、Firewall、OS、アプリケーション
観測CloudWatch、ENA metrics、Flow Logs、アプリケーションログ

EC2 の帯域設計は引き算で読む

EC2 のネットワーク帯域は、カタログ値を足し算で読むものではない。

最大値を見て「ここまで使える」と考えるのではなく、各制約を順に適用して、最後に残る性能を見る必要がある。

設計上は、以下の制約の最小値として読むのが安全である。

制約内容
available bandwidthインスタンス仕様上の最大性能
baseline bandwidthburst に依存しない選定上の基準帯域
single-flow 上限単一 flow や tunnel 外側 flow の上限
multi-flow の経路制約通信経路によって変わる aggregate 側の上限
IGW / LGW / DX / TGW 側の制約AWS 接続経路や gateway 側の上限
PPS allowancepacket per second の上限
tracked connection allowanceconnection tracking の上限
ENA allowanceENA が示す instance-level network allowance
VNF / アプリケーション側の処理性能ゲスト OS、アプライアンス、暗号化、Firewall、アプリケーションの処理上限

この整理は厳密な AWS 内部実装の表現ではない。

設計者が EC2 のネットワーク性能を読むための考え方である。

EC2 の帯域は、最大値を根拠にするのではなく、制約の最小値として評価する必要がある。

EC2 は帯域確保サービスの基盤として使えるのか

ここで、最初の問いに戻る。

EC2 は帯域確保サービスの基盤として使えるのか。

答えは、条件付きである。

EC2 を使って高帯域な通信処理を行うことはできる。大きいインスタンス、適切な ENA、Placement Group、複数 flow、適切な経路設計、十分な PPS / conntrack 余力、VNF 側の処理性能が揃えば、高い実効性能を出せる。

しかし、EC2 の Up to 表記や baseline を、そのまま帯域確保の根拠として使うことはできない。

baseline は設計上の基準値としては使えるが、顧客向けの保証帯域として提示するには、flow、経路、PPS、tracked connections、ENA allowance、VNF 処理性能、実測値を含めてサービス仕様へ写像する必要がある。

帯域確保サービスとして扱うには、少なくとも次をサービス仕様へ明示的に取り込む必要がある。

項目明示すべき内容
baselineburst に依存しない設計基準値として扱えるが、guaranteed bandwidth と明示されているわけではないこと
burst一時的な上振れであり、保証帯域ではないこと
flowsingle-flow / multi-flow / tunnel flow の上限
経路DX、TGW、GWLB、IGW、LGW など経路ごとの制約
PPS小パケット時の上限
sessiontracked connections / NAT / Firewall state の上限
観測CloudWatch だけでなく ENA metrics などを見ること
VNF 性能EC2 ではなくゲスト OS / アプライアンス側の処理上限
SLAAWS 側性能モデルと自社サービス仕様の責任分界

このように制約を明示し、提供帯域を各制約の最小値として定義するのであれば、EC2 を含むクラウド基盤上で帯域サービスを設計する余地はある。

一方で、オンプレミスやキャリア回線サービスの「帯域確保」の意味をそのまま EC2 に持ち込むと、説明が成立しにくい。

まとめ

EC2 の Up to 10 Gbps は、帯域確保を意味しない。

Up to 表記のインスタンスでは、baseline bandwidth と burst bandwidth を分けて読む必要がある。baseline は burst に依存しない設計基準値として扱える一方、burst は network I/O credit と共有リソース状況に依存する一時的な上振れである。

ただし、baseline を guaranteed bandwidth と明示している AWS 公式記述は確認できない。また、baseline そのものを一般論として not guaranteed と直接定義している記述も確認できない。

また、EC2 のネットワーク性能は Gbps だけでは決まらない。single-flow、multi-flow、トンネル外側 flow、経路制約、PPS、tracked connections、ENA allowance、VNF / アプリケーション側の処理性能が別の上限になる。

したがって、EC2 の帯域設計は、カタログ値や baseline だけで読むのではなく、制約を順に差し引いて読む必要がある。

帯域確保型サービスとして EC2 を使う余地はある。しかし、それは Up to 表記や baseline をそのまま保証帯域として扱うことではない。

EC2 を帯域確保サービスの基盤として扱うには、baseline をインスタンスタイプ選定の入口にしつつ、提供帯域を flow、経路、allowance、VNF 処理性能、実測で確認できる安定値へ写像し、その最小値として定義する必要がある。

EC2 のネットワーク性能は、最大帯域ではなく、制約を適用した後に残る実効性能として読むべきである。

EC2 は帯域確保サービスの基盤として使えるのか?NFV / 閉域接続の観点で読む baseline / burst / flow 制約

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る