すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:エンタープライズレベルインスタンスでの eRDMA の有効化

最終更新日:May 15, 2026

一部のエンタープライズレベルの Elastic Compute Service (ECS) インスタンスは eRDMA をサポートしています。この機能は、既存のネットワークアーキテクチャを変更することなく、超低レイテンシー、高スループット、高い弾力性を備えた RDMA ネットワークサービスを提供します。このトピックでは、エンタープライズレベルの ECS インスタンスで eRDMA を有効化する方法について説明します。

制限事項

制限事項

説明

インスタンスタイプ

次のインスタンスタイプは eRDMA をサポートしています:

サポートされているインスタンスタイプを表示

イメージ

  • Alibaba Cloud Linux 3 (推奨)

  • Alibaba Cloud Linux 2 (x86 ベースシステムのみ)

  • CentOS 7.9 (x86 ベースシステムのみ)

  • Ubuntu 18.04、20.04、22.04、または 24.04

  • Anolis OS 8.4 ANCK または 8.6 ANCK (Arm ベースバージョンのみ)

説明

利用可能なイメージはインスタンスタイプによって異なります。インスタンス購入ページには、選択したインスタンスタイプと互換性のあるイメージのみが表示されます。

eRDMA デバイス数

特定のインスタンスタイプの ECS インスタンスにバインドできる ERI の最大数をクエリするには、DescribeInstanceTypes 操作を呼び出し、応答の EriQuantity パラメーターの値を確認します。値 0 は、そのインスタンスタイプの ECS インスタンスに ERI をバインドできないことを示します。

ネットワークの制限事項

  • Elastic Network Interface (ENI) で ERI 機能を有効化した後は、その ENI に IPv6 アドレスを割り当てることはできません。

  • 2 つのインスタンス間の eRDMA 通信パスは、Server Load Balancer (SLB) インスタンスなどのネットワーク要素を経由することはできません。

  • eRDMA を有効化した GPU アクセラレーションインスタンスとエンタープライズレベルインスタンスは、異なる eRDMA モードで動作するため、直接通信することはできません。通信を有効にするには、GPU アクセラレーションインスタンスと同じ方法でエンタープライズレベルインスタンスに eRDMA をデプロイする必要があります。これには、eRDMA ドライバーと OpenFabrics Enterprise Distribution (OFED) ドライバーのインストール、および Elastic RDMA ネットワークインターフェースカード (ERI) のインスタンスへのバインドが含まれます。詳細については、「GPU アクセラレーションインスタンスで eRDMA を有効化」をご参照ください。

エンタープライズインスタンスでの eRDMA の設定

インスタンス作成時

重要
  • オペレーティングシステムが eRDMA ドライバーの自動インストールをサポートしていない場合、または自動インストールに失敗した場合は、インスタンス作成後に手動またはスクリプトでドライバーをインストールできます。詳細については、「既存のインスタンスの場合」をご参照ください。

  • eRDMA ドライバーのインストールはインスタンス起動後に開始され、完了までに時間がかかる場合があります。

  1. ECS インスタンス購入ページに移動します

  2. ERI 機能をサポートするエンタープライズレベルインスタンスを作成します。インスタンス作成時に、次のパラメーターに注意してください。その他のパラメーターについては、「ウィザードを使用してインスタンスを作成」をご参照ください。

    • インスタンスとイメージ:eRDMA をサポートするインスタンスタイプを選択し、eRDMA ドライバーをインストールします。

      • インスタンス:詳細については、「制限事項」をご参照ください。

      • イメージ公開イメージ を選択し、次に [Install eRDMA Driver] を選択します。eRDMA ドライバーは、インスタンスの起動時に自動的にインストールされます。

        image

    • ENI[Primary ENI] の右側で ERI 機能を有効化し、ERI を ECS インスタンスにバインドします。

      image

      説明

      エンタープライズレベルインスタンスの作成時に ERI 機能を有効化できるのは、プライマリ ENI のみです。セカンダリ ENI に対して eRDMA を設定する必要がある場合は、コンソールまたは API を呼び出して、セカンダリ ENI で ERI 機能を有効化できます。詳細については、「Elastic RDMA ネットワークインターフェースカード (ERI)」をご参照ください。

既存のインスタンスの場合

  1. インスタンスタイプが「eRDMA をサポートするインスタンスタイプのリスト」に含まれていることを確認します。

    eRDMA をサポートするインスタンスタイプを選択する必要があります。

  2. インスタンス上の eRDMA 設定を確認します。

    • インスタンスで eRDMA が正しく設定されているかを確認します。詳細については、「eRDMA 設定の確認」をご参照ください。

    • eRDMA が設定されていない場合は、eRDMA ドライバーをインストールし、ERI をバインドします。

  3. インスタンスに eRDMA ドライバーをインストールします

    インスタンス作成時に [eRDMA Driver] を選択しなかった場合、eRDMA ドライバーは自動的にインストールされません。eRDMA ドライバーを、手動またはスクリプトを使用してインストールする必要があります。

    • スクリプトによるインストール:デフォルトでは、ドライバーパッケージの最新安定版がダウンロードされます。

    • 手動によるインストール:特定バージョンのドライバーパッケージをダウンロードできます。

    ワンクリックスクリプトによるインストール

    1. 次のコマンドを実行して、ドライバーパッケージの最新安定版をダウンロードします。

      curl -O http://mirrors.cloud.aliyuncs.com/erdma/env_setup.sh
    2. 次のコマンドを実行して、ダウンロードしたドライバーパッケージをインストールします。

      sudo /bin/bash env_setup.sh > /var/log/erdma_install.log 2>&1

      インストールスクリプトを実行すると、必要なソフトウェアの依存関係と eRDMA ドライバーが自動的にインストールされます。インストールが完了するまで待機してください。

      説明

      ドライバーのインストールスクリプトが失敗した場合は、/var/log/erdma_install.log のインストールログを確認してください。

    手動インストール

    1. 次のコマンドを実行して、前提条件となるパッケージを更新 します。

      • Alibaba Cloud Linux 3、CentOS、または Anolis OS:

        sudo yum update -y
      • Ubuntu:更新は不要です。この手順をスキップしてください。

    2. 次のコマンドを順に実行して、最新のカーネルパッケージバージョンと実行中のカーネルバージョン を確認します。

      rpm -qa | grep kernel  # 最新のカーネルパッケージバージョンを表示します。
      uname -r  # オペレーティングシステムの実行中のカーネルバージョンを表示します。

      次のサンプル出力のようにバージョンが同一であれば、追加の操作は不要です。バージョンが異なる場合は、変更を有効にするためにインスタンスを再起動する必要があります。

      image.png

    3. 次のコマンドを実行して、依存パッケージ をインストールします。

      • x86 インスタンスの場合は、次の操作を実行します:

        • Alibaba Cloud Linux 3、CentOS、または Anolis OS:

          sudo yum install gcc-c++ dkms cmake kernel-devel kernel-headers libnl3 libnl3-devel
        • Ubuntu:

          sudo apt-get install dkms cmake libnl-3-dev libnl-route-3-dev linux-headers-generic
      • Arm インスタンスはソースベースのビルドタスクが必要なため、多数の依存パッケージがあり、変更される可能性があります。そのため、この手順をスキップしてインストールスクリプトを直接実行できます。インストールスクリプトが失敗した場合は、必要な依存パッケージをインストールするよう促されます。プロンプトに従ってインストールし、その後インストールスクリプトを再実行してください。

    4. 次のコマンドを実行して、ドライバーのインストールパッケージ をダウンロードします。

      • 内部 URL からパッケージを取得します:

        wget http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-latest.tar.gz
      • パブリック URL からパッケージを取得します:

        wget https://mirrors.aliyun.com/erdma/erdma_installer-latest.tar.gz

      デフォルトでは、ドライバーのインストールパッケージの最新バージョンがダウンロードされます。要件に応じて特定のバージョンをダウンロードすることもできます。各 eRDMA インストーラーパッケージバージョンのリリース情報については、「Step 2: Install the eRDMA driver for an ECS instance」をご参照ください。

    5. 次のコマンドを実行して、インストールパッケージを展開し、ファイルディレクトリに移動 します。

      tar -xvf erdma_installer-latest.tar.gz && cd erdma_installer
    6. 次のコマンドを実行して、ドライバーをインストール します。

      • 方法 1:インストール中にアンインストールと自動ダウンロードの手順を手動で確認します。

        sudo sh install.sh
      • 方法 2:確認なしでインストールを実行します。

        sudo sh install.sh  --batch

      出力でインストール結果を確認します。

      次の情報が返された場合、ドライバーは正常にインストールされています。

      4.png

      次の情報が返された場合、ドライバーのインストールに失敗しています。プロンプトの指示に従い、再度ドライバーのインストールを試行してください。

      5.png

      説明

      CentOS 7 を使用していて、ドライバーの再インストール中にパッケージが不足しており、yum で取得できない場合は、yum install -y epel-release コマンドを実行して EPEL リポジトリをインストールする必要がある場合があります。その後、必要なパッケージを取得できます。

  4. インスタンスに ERI をバインドします

    ERI は次のいずれかの方法でインスタンスにバインドできます。

    説明

    DescribeInstanceTypes API オペレーションを呼び出して、インスタンスタイプがサポートする ERI の最大数を照会できます。応答内の EriQuantity パラメーターの値を確認してください。値が 0 の場合、そのインスタンスタイプは ERI をサポートしていません。

    • バインド済み ENI の属性を変更して eRDMA インターフェイスを有効化

      ENI の属性の変更」をご参照ください。

    • API オペレーションを使用して eRDMA インターフェイスが有効なセカンダリ ENI を作成し、インスタンスにバインド

      API オペレーションを使用してセカンダリ ENI を作成およびバインドします。

      1. API オペレーションを呼び出して ERI を作成します。

        CreateNetworkInterface オペレーションを呼び出し、NetworkInterfaceTrafficMode パラメーターを HighPerformance に設定して、ERI 機能が有効なエラスティックネットワークインターフェイスを作成します。

        NetworkInterfaceId パラメーターで返された ENI ID を記録します。

      2. AttachNetworkInterface を呼び出します。NetworkInterfaceId に前のステップで取得した ID を、InstanceId にターゲットインスタンス ID を設定して、ERI が有効な ENI をバインドします。

        重要

        ご利用のインスタンスタイプが複数の ERI をサポートしている場合、ネットワーク帯域幅を最大化するために、各 ERI をバインドする際に異なる NetworkCardIndex を指定してください。これにより、ERI が異なるチャンネルにバインドされます。「ネットワークカードインデックス」をご参照ください。

eRDMA の書き込みレイテンシーのテスト

2 台の eRDMA を有効化したエンタープライズレベルインスタンスに perftest をインストールし、ib_write_lat を使用して書き込みレイテンシーのテストを実行できます。perftest の詳細については、「perftest テストスイート」をご参照ください。

前提条件

  1. 2 台 の eRDMA が設定済みのエンタープライズレベルインスタンスを用意します。1 台を サーバー、もう 1 台を クライアントとして使用します。

  2. ネットワーク設定が正しく、2 台のインスタンスが内部ネットワーク経由で相互通信できることを確認します。詳細については、「ECS インスタンス間の内部通信を有効化」をご参照ください。

操作手順

  1. 2 台のインスタンスそれぞれにリモート接続します。

    詳細については、「Workbench を使用して Linux インスタンスに接続」をご参照ください。

  2. 両方のインスタンスで eRDMA が正しく設定されていることを確認します。

    詳細については、「eRDMA 設定の確認」をご参照ください。

  3. 両方のインスタンスで次のコマンドを実行して、perftest ツールをインストールします。

    perftest は公式リポジトリ(パブリック IP アドレスが必要)または YUM/APT リポジトリからインストールできます。

    公式リポジトリ

    1. ECS インスタンスにパブリック IP アドレスを割り当てます。

    2. 公式 perftest リポジトリから perftest をダウンロードしてインストールします。

    YUM または APT リポジトリ

    説明

    ソフトウェアリポジトリ内の perftest のバージョンは Linux ディストリビューションによって異なるため、互換性の問題が発生する可能性があります。通信を行うすべてのインスタンスで同じディストリビューションを使用してください。それが不可能な場合は、公式リポジトリからインストールしてください。

    • Alibaba Cloud Linux 3、CentOS、または Anolis OS

      sudo yum install perftest -y
    • Ubuntu

      sudo apt install perftest -y
  4. eRDMA ネットワークのレイテンシーが期待どおりかテストします。

    1. サーバーインスタンスで次のコマンドを実行し、ib_write_lat をサーバーとして起動してクライアント接続を待ち受けます。

      ib_write_lat -R -a -F
      • -R:RDMA Connection Manager (RDMA_CM) を使用して接続を確立することを指定します。

        重要
        • eRDMA をサポートする CPU ベースのインスタンスタイプでは、eRDMA カーネルドライバーのデフォルトのインストールモードは Standard であり、RDMA_CM による接続確立方法のみをサポートします。詳細については、「接続確立方法」をご参照ください。

        • デフォルトでは、perftest はアウトオブバンド (OOB) 接続を使用します。CPU ベースのインスタンスで perftest を実行する場合は、サーバーとクライアントの両方で -R パラメーターを使用して RDMA_CM の接続確立方法を指定できます。指定しない場合、接続確立時に例外が発生する可能性があります。

        • コマンドラインを使用して、RDMA_CM と OOB 接続方式に互換性を持たせることもできます。詳細については、「eRDMA の接続確立モードを変更して bRPC と互換にする」をご参照ください。互換性を有効化すると、-R パラメーターは不要になります。

      • -a:2 ~ 2^23 バイトのすべてのメッセージサイズでテストを実行します。これにより、メッセージサイズの違いがレイテンシーに与える影響をテストできます。

      • -F:既存の接続を強制的に上書きします。つまり、以前に接続が確立されていた場合でも、-F オプションを使用するとそれらの接続を無視し、新しい接続の確立を強制します。

    2. クライアントインスタンスで次のコマンドを実行し、ib_write_lat を起動してサーバーに接続します。

      ib_write_lat -R -a -F <server_ip>

      <server_ip> は、テストに使用し、ERI 機能を有効化している サーバーインスタンス上のネットワークインターフェースの プライベート IP アドレスです。IP アドレスを取得するには、「IP アドレスを表示」をご参照ください。

    3. テスト結果を確認します。

      クライアント側のテストが完了すると、ib_write_latテスト設定情報接続情報、および パフォーマンステスト結果 (最小、最大、平均レイテンシーなど、レイテンシーに関する統計情報) を出力します。

      image

      ib_write_lat のテスト結果フィールドの説明

      • #bytes:テストで使用したメッセージペイロードのサイズです。サイズは 2 バイトから 8,388,608 バイトまでです。メッセージサイズを変えることで、さまざまな負荷条件でのパフォーマンスを把握できます。

      • #iterations:反復回数です。この値は、各メッセージサイズのテストを何回繰り返すかを指定します。反復回数を増やすと、平均値や統計がより安定します。

      • t_min[usec]:全測定で記録された最小レイテンシー (マイクロ秒) です。ネットワークレイテンシーの最良ケースの参考値になります。

      • t_max[usec]:最大レイテンシー (マイクロ秒) です。全測定で記録された最も高いレイテンシーを示します。最大レイテンシーが高い場合、ネットワークの問題や一時的な輻輳を示唆します。

      • t_typical[usec]:典型的なレイテンシー (マイクロ秒) です。テストで一般的に観測されるレイテンシーで、通常は全測定値の中央値です。

      • t_avg[usec]:全測定の平均レイテンシー (マイクロ秒) です。ネットワークレイテンシーの全体像を把握できます。

      • t_stdev[usec]:レイテンシーの標準偏差 (マイクロ秒) です。レイテンシーのばらつき度合いを示します。標準偏差が小さいほど安定しており、大きいほど変動が大きいことを示します。

      • 99% percentile[usec]:99 パーセンタイルのレイテンシー (マイクロ秒) です。測定値の 99% がこの値より小さいことを意味します。極端なケースでのレイテンシー性能を把握するのに役立ちます。

      • 99.9% percentile[usec]:99.9 パーセンタイルのレイテンシー (マイクロ秒) です。測定値の 99.9% がこの値より小さいことを示します。極端なケースでのレイテンシー性能を把握するのに役立ちます。

      これらのメトリクスを分析することで、最適化やトラブルシューティングのために RDMA ネットワークのパフォーマンスを把握できます。たとえば、特定のメッセージサイズでレイテンシーが急増する場合は、ネットワーク設定やハードウェア性能が要件を満たしているかを確認する必要があります。レイテンシーの変動が大きい場合は、ネットワーク輻輳やその他の不安定要因を調査する必要があります。