AWS EFA(Elastic Fabric Adapter)は、高性能コンピューティング(HPC)や機械学習などの低レイテンシ・高スループット通信を必要とするワークロード向けのネットワークインターフェースです。
🧠 ざっくり一言でいうと?
**「EC2インスタンス間で、超高速・低遅延なネットワーク通信を可能にする機能」**です。
✅ 主な特徴
| 項目 |
内容 |
| 超低レイテンシ |
インスタンス間通信の遅延を大幅に低減(RDMAにより) |
| 高スループット |
数十Gbpsクラスのネットワーク性能 |
| OSバイパス |
通常のTCP/IPスタックを通らず、NICを直接操作(RDMA) |
| 対応プロトコル |
**MPI(Message Passing Interface)**など |
| EC2専用 |
通常の ENI とは別のネットワークインターフェース |
💡 どんなときに使う?
EFA は主に以下のような高性能・並列処理を行うシステムに適しています:
- CFD(数値流体力学)
- FEM(有限要素法シミュレーション)
- 天体物理学や量子力学などの科学シミュレーション
- 大規模機械学習(分散学習)
- MPIベースのアプリケーション
🚀 対応インスタンスタイプ(一例)
| インスタンスファミリー |
特徴 |
c5n, c6gn, p4, p5, g4ad など |
高速ネットワークをサポート |
hpc6id, hpc6a など |
HPC 専用設計で EFA 対応 |
🛠 使用に必要な設定(概要)
- EFA対応インスタンスを選ぶ
-
AMIがEFAに対応していることを確認(EFA対応のAmazon Linux 2やUbuntuなど)
- セキュリティグループ/SGでEFA通信ポートを許可
- MPIライブラリ(例:Open MPI)をEFA対応版に入れ替える
- EFAドライバと
efa-installerをインストール
- 起動時に
--efa オプションを付けてEC2を作成する
📦 ソフトウェア構成イメージ(MPIアプリ)
[Node1] EFA-enabled EC2 ─── RDMA ─── [Node2] EFA-enabled EC2
↑ MPI (OpenMPI, IntelMPI)
🆚 通常のENIとの違い
| 項目 |
通常のENI |
EFA |
| レイテンシ |
数百μs〜ms |
数十μs以下 |
| スループット |
最大25 Gbps |
最大100 Gbps超 |
| 通信方式 |
TCP/UDP |
RDMA(OSバイパス) |
| 用途 |
汎用通信 |
HPC・MPI専用 |
✍ まとめ
| 特性 |
内容 |
| 対象 |
HPC・科学技術計算・大規模機械学習など |
| 特徴 |
RDMAにより低レイテンシかつ高スループット |
| 要件 |
EFA対応のインスタンスとAMIが必要 |
| 注意点 |
通常のTCP/IPアプリでは効果が出ない場合もある |