【要約】【実験】ECSのサービス間を繋ぐ6つの繋ぎ方、実際どれくらい速さが違うのか [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
ECSを利用するエンジニアが、サービス間通信の接続方式を選定する際に、パフォーマンスへの影響を正確に把握できないという課題がある。具体的には以下の問題に直面している。
- ・接続方式(L3到達性と接続先指定方式)の組み合わせによるレイテンシの差が不明確である。
- ・Service Connectのサイドカーによるリソース競合や、PrivateLinkの接続コストが未知数である。
- ・AZを跨ぐことによるネットワーク遅延の影響を定量的に把握できていない。
// Approach
著者は、接続方式ごとのレイテンシ差を定量的に評価するため、東京リージョン内に複数のネットワーク経路を構築した。検証には以下の手法を採用している。
- ・ECS Managed Instancesを用い、1インスタンス1タスクの構成で物理的な分離を確保した。
- ・oha(Rust製ツール)を使用し、10,000リクエストを3回試行する厳密な計測を行った。
- ・keep-aliveの有無、並列度、ペイロードサイズを変えた多角的なベンチマークを実施した。
- ・TIME_WAIT枯渇問題に対し、カーネルパラメータの調整で計測環境を安定化させた。
// Result
本検証により、接続方式が通信性能に与える影響がミリ秒単位で明らかになった。設計者にとって以下の知見が得られる。
- ・レイテンシ順(p50, keep-alive ON)は、同一VPC < Peering < TGW < Service Connect < PrivateLink < VPC Latticeである。
- ・VPC Latticeは最も遅く、Service Connectは高並列時にリソース競合で急激に悪化する傾向を確認した。
- ・AZを跨ぐとTCPコネクト時間が約0.89ms増加することを示し、配置設計の重要性を提示した。
Senior Engineer Insight
> レイテンシの絶対値はミリ秒単位だが、相対的な差は無視できない。特にVPC Latticeは運用負荷軽減の代償として通信コストを支払う設計となる。マイクロ秒単位の性能が求められる基幹通信にはPeering等の直接接続を、運用性とCIDR設計の柔軟性を重視するマイクロサービス間にはLattice等のマネージドサービスを選択すべきだ。速度だけでなく、認証、可観測性、コストとのバランスが重要である。