ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

ENA Express を試してみた (未遂)

こんにちは。
AWS 認定 高度なネットワーキング - 専門知識」の認定取得に向けて猛勉強中の尾谷です。

re:Invent 2022 で Peter DeSantis 氏が熱く紹介されていた SRD が ENA Express で気軽に利用できると聞いて試してみました。
(気軽と記載しましたが、現段階では c6gn.16xlarge でないと試せないのでもう少し待つと気軽に試せるようになりそうです。)

SRD とは

Scalable Reliable Datagram (SRD) routing は、TCP フローが同じ経路を通りがちで一点に負荷がかかる傾向があるのを分散するための仕組みでネットワークスループットの向上と、障害に強い特徴があります。

SRD プロトコルは実は Elastic Fabric Adapter (EFA) を利用することで体験できました。
ただ、EFA は追加料金なしで利用できると謳いながらも、24xlarge やベアメタルインスタンスでないと利用できないという高い壁がありました。
ENA Express はこの壁に風穴を開けてくれるのではないか? (現在は 16xlarge のみ) と期待をしています。

EFA 対応インスタンス

ENA Express を試してみた

早速、ENA Express を試してみることにしました。
c6gn インスタンスは Intel 製や AMD 製と異なり、medium から用意されていてお財布に優しい印象です。

AWS 見積もりツールで計算したところ、39.79 USD/月 で利用できると結果が出ました! arm ベースでサービスが動くのであれば、クレジット枯渇を心配しないといけない t 系インスタンスよりも安心して利用できそうです。

参考情報としてリンクも載せておきます。

AWS 見積もりツール - c6gn.medium + EBS 8GiB

なお、re:Invent 2022 でリリースされた C7gn インスタンスも検討しましたが

aws.amazon.com

以下の通り選択肢になく、まだ東京リージョンで利用ができませんでした。(2023/01/13 現在)

サクっと、Amazon Linux 2 (arm AMI) で起動しました。
検証のため、c6gn.medium で起動しています。

ネットワークインターフェースに移動して、アクションから [ENA Express の管理] を選択して、

有効化しましたが、

ENA Express を変更できませんでした。API エラー: The instance type c6gn.medium doesn't support ENA-SRD」のメッセージが表示されました。

c6gn.16xlarge (64 倍!)

仕方がないので、c6gn.medium で起動したインスタンスを停止して、c6gn.16xlarge に変更することにしました。

  • medium → large 2 倍
  • large → xlarge 2 倍
  • xlarge → 16xlarge 16 倍

となり 64 倍になります。料金もちょうど 64 倍の 2,547.01 USD/ 月 ということで時間あたり 3.5 USD ということで円安もあって、500 円ぐらいかかるようです。

うっかり消し漏れを想像すると少し気分が悪くなってきたので、ちょっとトイレに...。

まとめ

現時点では、ENA Express も c6gn.16xlarge のみ対応とのことで残念ながらまだまだ敷居が高いと感じました。
また、小さなパケットサイズを高いパケットレートで処理するようなケースには、ENA Express が適していない場合があります。 と記載されており、ケースによっては効果を期待できないという点も予め把握しておかないと、提案の際に失敗する可能性があると感じました。

どちらにしろ、気軽に試したいですね!
Jeff Barr 氏のブログにも記載の通り、追加のインスタンスを準備中とのこと。特にサイズの方の準備に期待して待ちたいと思います。

新機能 – ENA Express: EC2 でのネットワークレイテンシーとフローごとのパフォーマンスが向上 | Amazon Web Services ブログ

インスタンスタイプとサイズ – 今回のリリースでは、16xlarge サイズの c6gn インスタンスをサポートしていますが、追加のインスタンスファミリーとサイズについても準備中です。

以上、最後までお読みくださりありがとうございました。