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

NAT Gateway:SNAT を使用した高トラフィック ECS インスタンスの分析

最終更新日:May 09, 2026

インターネットトラフィックが急増すると、ご利用のインターネット NAT Gateway の容量および帯域幅が枯渇し、サービス応答が遅延してビジネス運用に影響を及ぼす可能性があります。VPC フローログを使用して、インターネット NAT Gateway 内の SNAT ルールが設定された ECS インスタンスのトラフィックを分析できます。高トラフィックインスタンスを特定することで、帯域幅割り当てを最適化し、ネットワークボトルネックを解消してください。

概要

インターネット NAT Gateway は、SNAT および DNAT 機能を提供するエンタープライズグレードのセキュリティゲートウェイです。インターネット NAT Gateway を使用すると、インターネットにアクセスする多数のリソースに対して詳細な操作、モニタリング、および管理を実行できます。また、インターネット NAT Gateway では、トップトラフィックソースを表示し、トラフィックバーストを引き起こしている ECS インスタンスを正確に特定でき、多様な多次元トラフィック監視メトリクスも提供されます。詳細については、「Internet NAT Gateway」をご参照ください。

VPC フローログは、指定されたエラスティックネットワークインターフェース (ENI)、指定された VPC、または vSwitch 内のすべての ENI のトラフィックをキャプチャできます。

SNAT または DNAT 機能を備えたインターネット NAT Gateway を使用する ECS インスタンスからのトラフィックを調査するには、インターネット NAT Gateway が配置されている vSwitch 内のすべての ENI からトラフィックをキャプチャする VPC フローログを作成します。VPC フローログを有効化して分析することにより、各 ECS インスタンスからのトラフィックを体系的に調査し、高トラフィックインスタンスを効果的に管理・最適化して、ネットワーク運用の安定性を確保できます。

主な機能

VPC フローログを有効化すると、システムがトラフィックデータを収集・保存します。各 ECS インスタンスがインターネットにアクセスするために使用するパスごとのフローログエントリを表示・分析でき、各 ECS インスタンスのネットワークトラフィック動作を包括的に把握できます。

インターネット NAT Gateway は、内部ネットワークとインターネット間のトラフィックをルーティングします。インターネット NAT Gateway の ENI は、このトラフィックの出入り口として機能します。この ENI のインバウンドトラフィックおよびアウトバウンドトラフィックをモニターすることで、各パスのトラフィック量および帯域幅消費量を追跡できます。

次の図に示すように、ECS インスタンスからインターネットへのインターネット NAT Gateway 経由のパスは、インターネット NAT Gateway の ENI を境界として 4 つのセグメントに分割されます。

フローログセンターを使用して、インバウンドトラフィックおよびアウトバウンドトラフィックを表示・分析し、どの ENI がモニタリングされているかを確認します。

4 つのトラフィックセグメントのログ例を表示するにはクリックしてください

Simple Log Service コンソールにログインして、これらの 4 つのセグメントのトラフィックデータおよび具体的なフィールドを表示します。フローログに記録されるフィールドの詳細については、「フローログレコード」をご参照ください。

セグメント

ログ例

セグメント ① のトラフィックの方向は in です。送信元および宛先 IP アドレスは以下のとおりです。

  • 送信元 IP アドレス:ECS インスタンスのプライベート IP アドレス

  • 宛先 IP アドレス:NAT Gateway のプライベート IP アドレス

セグメント ② のトラフィックの方向は out です。送信元および宛先 IP アドレスは以下のとおりです。

  • 送信元 IP アドレス:NAT Gateway のプライベート IP アドレス

  • 宛先 IP アドレス:特定のパブリック IP アドレス

セグメント ③ のトラフィックの方向は in です。送信元および宛先 IP アドレスは以下のとおりです。

  • 送信元 IP アドレス:特定のパブリック IP アドレス

  • 宛先 IP アドレス:NAT Gateway のプライベート IP アドレス

セグメント ④ のトラフィックの方向は out です。送信元および宛先 IP アドレスは以下のとおりです。

  • 送信元 IP アドレス:NAT Gateway のプライベート IP アドレス

  • 宛先 IP アドレス:ECS インスタンスのプライベート IP アドレス

ユースケース

フローログを使用してインターネット NAT Gateway 内の高トラフィック ECS インスタンスを特定することは、以下のユースケースに最適です。

  • ネットワークパフォーマンスの最適化:同時実行数およびトラフィック量が多いシナリオでは、インターネット NAT Gateway 背後の各 ECS インスタンスのインバウンドおよびアウトバウンドトラフィックを分析します。この分析により、高トラフィックインスタンスを特定し、帯域幅ボトルネックを引き起こしているインスタンスと送信元 IP の組み合わせを正確に特定できます。その後、帯域幅リソースを再割り当てして、過負荷インスタンスによるネットワーク輻輳を防止します。

  • コスト管理および最適化:高トラフィックインスタンスは、帯域幅コストが大幅に増加する原因となります。トラフィックログを分析することで、一貫して大量のトラフィックを生成しているインスタンスおよび送信元 IP を特定できます。その後、ネットワークアクセスパスを最適化して不要なトラフィックを削減し、コストを低減します。

例となるシナリオ

ある企業では、複数の内部サーバーがインターネット NAT Gateway の SNAT 機能を通じてインターネットリソースにアクセスしています。最近、これらのサーバーがインターネットからリソースを読み込むのに時間がかかるようになり、ユーザーエクスペリエンスが低下しています。ユーザーエクスペリエンスを向上させるため、同社ではトラフィック量が最も多いサーバーを特定し、帯域幅リソースを最適化してこれらの問題を解決したいと考えています。

以下のシナリオを想定します。ある企業が中国 (杭州) リージョンに VPC を持っています。vSwitch 1 には 3 つの ECS インスタンスがデプロイされています。これらのインスタンスは、vSwitch 2 にある SNAT 機能を使用するインターネット NAT Gateway を通じてインターネットにアクセスします。内部サーバーからのインターネット向けトラフィックが急増したため、サーバーの応答が遅くなり、ユーザーエクスペリエンスに影響が出ています。同社では、VPC フローログを使用して、3 つの ECS インスタンスのうちどれが最も多くのトラフィックを消費しているかを特定・分析する必要があります。この情報に基づいてリソースの再計画を行い、ネットワークパフォーマンスボトルネックに対処します。

前提条件

  • 中国 (杭州) リージョンに VPC、vSwitch 1、および vSwitch 2 を作成済みです。詳細については、「VPC の作成と管理」をご参照ください。

  • vSwitch 1 に 3 つの ECS インスタンス (ECS01、ECS02、および ECS03) を作成済みです。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

  • vSwitch 2 にインターネット NAT Gateway を作成済みで、ゲートウェイ用の vSwitch レベルの SNAT エントリが設定されています。SNAT エントリは vSwitch 1 に適用されるように構成されています。詳細については、「インターネット NAT Gateway の SNAT 機能を使用したインターネットアクセス」をご参照ください。

    この例のパラメーター構成を表示するにはクリックしてください

    パラメーター

    VPC

    VPC CIDR ブロック:172.16.0.0/12

    vSwitch 1 CIDR ブロック

    vSwitch CIDR ブロック:172.16.1.0/24

    vSwitch 2 CIDR ブロック

    vSwitch CIDR ブロック:172.16.3.0/24

    インターネット NAT Gateway

    インターネット NAT Gateway のプライベート IP アドレス:172.16.3.128

    Elastic IP Address

    118.XX.XX.86

    ECS インスタンス

    • ECS01 インスタンス:172.16.1.44

    • ECS02 インスタンス:172.16.1.45

    • ECS03 インスタンス:172.16.1.46

操作手順

ステップ 1:フローログの作成

フローログを作成する前に、前提条件を満たしていることを確認してください。詳細については、「フローログ使用の前提条件」をご参照ください。

  1. VPC コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、O&M and Monitoring > フローログ を選択します。

  3. 上部のナビゲーションバーで、リソースがデプロイされているリージョンを選択します。この例では、中国 (杭州) を選択します。

  4. フローログページで、フローログの作成をクリックします。

  5. フローログの作成ダイアログボックスで、以下のパラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    リソースタイプ

    トラフィックをキャプチャするリソースのタイプを選択します。この例では、vSwitch を選択します。

    リソースインスタンス

    トラフィックをキャプチャするリソースインスタンスを選択します。この例では、vSwitch 1 のインスタンス ID を選択します。

    トラフィックタイプ

    キャプチャするトラフィックのタイプを選択します。この例では、{value} を選択します。

    分析と送信の設定

    • モードの選択SLS に送信 を選択し、SLS プロジェクトおよびSLS Logstore を設定します。

    • FlowLog レポート分析機能の有効化 を選択します。これにより、選択した Logstore のインデックスが有効化され、ダッシュボードが作成されて SQL クエリの実行およびデータの可視化が可能になります。

ステップ 2:wrk を使用したトラフィックのシミュレーション

  1. ECS01、ECS02、および ECS03 インスタンスにログインします。

  2. ECS01、ECS02、および ECS03 インスタンスそれぞれで、以下のコマンドを実行して wrk ツールをインストールします。

    yum -y install git make gcc
    git clone https://github.com/wg/wrk.git
    yum install unzip
    cd wrk
    make
  3. ECS01、ECS02、および ECS03 インスタンスそれぞれで、対応するコマンドを実行してユーザートラフィックをテストします。

    ECS01 で以下のコマンドを実行します。

    ./wrk -c 1000 -d 60s -t 3  http://101.XX.XX.200:80/  # 101.XX.XX.200 は特定のパブリック IP アドレスです。

    ECS02 で以下のコマンドを実行します。

    ./wrk -c 2000 -d 60s -t 3  http://101.XX.XX.200:80/  # 101.XX.XX.200 は特定のパブリック IP アドレスです。

    ECS03 で以下のコマンドを実行します。

    ./wrk -c 3000 -d 60s -t 3  http://101.XX.XX.200:80/  # 101.XX.XX.200 は特定のパブリック IP アドレスです。

    コマンドパラメーターの説明は以下のとおりです。

    • -c (connections):各スレッドで維持する同時接続数。

    • -d (duration):テストの持続時間。s は単位が秒であることを示します。

    • -t (threads):使用するスレッド数。これは同時接続ユーザ数をシミュレートします。

ステップ 3:フローログの表示

  1. VPC コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、O&M and Monitoring > フローログ を選択します。

  3. 上部のナビゲーションバーで、リソースがデプロイされているリージョンを選択します。この例では、中国 (杭州) を選択します。

  4. フローログページで、作成したフローログを見つけます。ログストア 列で、Logstore 名をクリックして Simple Log Service コンソールを開き、トラフィック情報を表示します。

  5. 図中の番号に対応する以下の手順に従って、SNAT エントリ経由でインターネットにアクセスする ECS インスタンスのトラフィックを表示します。

    図に示されているように、プライベート IP アドレスが 172.16.1.46 (ECS03) の ECS インスタンスが最も多くのトラフィックを生成しています。

    高流量ECS截图.png

    ステップ

    説明

    クエリエディターで、収集された VPC フローログデータを集計・ソートする SQL ステートメントを入力します。以下の例のステートメントは、特定のパブリック IP アドレスにトラフィックを送信する高トラフィック ECS インスタンスのチャートを生成します。

    dstaddr: "101.XX.XX.200" and action: ACCEPT and srcaddr: 172.16.1.* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, srcaddr,sum(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) as bandwidth group by time,srcaddr order by time asc limit 1000

    この SQL ステートメントでは、timebandwidth (bps 単位)、および srcaddr (送信元アドレス) の 3 つのフィールドを定義します。結果は time および srcaddr でグループ化され、時間の昇順でソートされ、ログエントリは 1,000 件に制限されます。フィールドの詳細については、「VPC フローログのフィールド詳細」をご参照ください。

    パラメーターの説明は以下のとおりです。

    • dstaddr:宛先アドレス。これはパブリック IP アドレスです。この例では、101.XX.XX.200 を入力します。

    • srcaddr:送信元アドレス。これは ECS インスタンスの IP アドレスです。この例では、172.16.1.* を入力します。

    • 他のフィールドには例の値を使用します。

    説明
    • 特定のパブリック IP アドレスからご利用の ECS インスタンスへのインバウンドトラフィックをフィルターするには、以下の SQL クエリを実行します。

      srcaddr: "101.XX.XX.200" and action: ACCEPT and dstaddr: 172.16.1.* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, 
      dstaddr,sum(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) as bandwidth group by time,dstaddr order by time asc limit 1000

      パラメーターの説明は以下のとおりです。

      • srcaddr:送信元アドレス。これはパブリック IP アドレスです。この例では、101.XX.XX.200 を入力します。

      • dstaddr:宛先アドレス。これは ECS インスタンスの IP アドレスです。この例では、172.16.1.* を入力します。

      • チャートを生成する際は、集合カラムdstaddr に設定します。

    • ご利用の ECS インスタンスからすべてのパブリック IP アドレスへのアウトバウンドトラフィックをフィルターするには、以下の SQL クエリを実行します。

      srcaddr: 172.16.1.* and action: ACCEPT | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, 
      srcaddr,sum(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) as bandwidth from log where ip_to_domain(dstaddr)!='intranet' group by time,srcaddr order by time asc limit 1000

      パラメーターの説明は以下のとおりです。

      • srcaddr:送信元アドレス。これはプライベート IP アドレスです。この例では、172.16.1.* を入力します。

      • dstaddr:宛先アドレス。これはパブリックアドレスです。

      • チャートを生成する際は、集合カラムsrcaddr に設定します。

    クエリの時間範囲を選択します。この例では、直近 5 分 を選択します。

    共通設定 タブで、折れ線グラフアイコン 流图 をクリックしてチャートタイプを選択します。

    検索と分析変更 セクションで、以下のパラメーターを設定します。

    • X 軸のフィールドtime に設定します。

    • Y 軸のフィールドbandwidth に設定します。

    • 集合カラムsrcaddr に設定します。

    標準設定 セクションで、形式データレート(SI) に設定します。

    他のパラメーターはデフォルト値のままにします。

    ダッシュボードに追加 をクリックします。表示されるダイアログボックスで、以下のパラメーターを設定します。

    • 操作:この例では、新規ダッシュボードを作成 を選択します。

    • レイアウトモード:この例では、グリッドレイアウト を選択します。

    • ダッシュボード名:ダッシュボードの名前を入力します。この例では、NAT Gateway 経由の ECS アウトバウンドトラフィック を入力します。

    その後、ダッシュボード ページでフローログ情報を表示できます。

    検索と分析 をクリックして、各 ECS インスタンスのアウトバウンドインターネットトラフィックを表示し、高トラフィックインスタンスを特定します。

参照