[速報] EC2インスタンス向けに 5つの新しいネットワーク性能メトリクスが登場しました! #reinvent

EC2のネットワーク性能がでない・パケットがロスするなどの事象に悩んでいたあなたに朗報です
2020.12.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon EC2 のネットワーク性能監視メトリクスが5つ追加されました!

Amazon EC2は、顧客がインスタンスのネットワークパフォーマンスをより深く把握できるように、ネットワークパフォーマンスのメトリクスを追加提供するようになりました。5つの新しいメトリクスは、インスタンスがAWSによって定義されたネットワーク許容量を超えた場合を可視化します。これにより、アプリケーションパフォーマンスの問題を積極的に解決し、望ましいネットワークパフォーマンスに基づいてインスタンスを適切なサイズにすることができます。

冒頭の部分をDeepL翻訳(一部加筆修正)したのがこちらですが、EC2インスタンスの設計上限に達したかどうかが可視化され、インスタンスサイズを適切に選択する助けになるものとうたわれています。

追加されたメトリクス

具体的には、下記の5つとなります(こちらのドキュメントより):

メトリクス名 説明
bw_in_allowance_exceeded インバウンドの上限を超えたパケットの数
bw_out_allowance_exceeded アウトバウンドの上限を超えたパケットの数
conntrack_allowance_exceeded コネクション数の上限を超えたパケットの数
linklocal_allowance_exceeded Link Localアドレス(169.254.x.x)への通信(PPS : packets-per-seconds)の上限を超えたパケット数
pps_allowance_exceeded In-Out双方向のPPSの上限を超えたパケット数

linklocal_allowance_exceeded は分かりにくいかもしれませんが、具体例として「DNSサービスインスタンスメタデータの参照時刻同期(Amazon Time Sync Service)」が該当するとのことです。

正直なところ浅学ながら、上の二つ(bw_in〜bw_out〜)はともかく、コネクション数などに上限が設定されていることはこれまで明言されてなかったように思います。これからは、よく分からないかたちでEC2の性能がでない・パケットがロスするなどの事象を調べやすくなることでしょう。

条件

これらのメトリクスは本日から全てのリージョン(中国の2リージョンを除く)で利用可能ですが、これを参照するためには、該当EC2インスタンスが下記の条件を満たす必要があります。

  • Linux:最新のENA(Elastic Network Adapter)ドライバ
    • 明言されてませんが、記事執筆時点で 2.4.0
  • Windows:バージョン 2.2.2.0 以降のENAドライバ
    • 記事執筆時点で、間もなくリリース予定とのこと)

ENAが必要と言うことは、おのずとそれ以外にも条件が発生します。利用したい場合は下記を満たすようにしましょう。
ざくっと言ってしまえば、新しめのインスタンスタイプでENAドライバを正しく動作させてあればok、となります。

効果

上でも書きましたが、これらのメトリクスによりネットワーク系のトラブルの根本原因の把握・切り分けが行いやすくなると期待されます。
これらのメトリクスは動作中のOSでリアルタイムに計測することが可能で、最新のCloudWatch Agentはこれを参照してアラートを上げるようなことが可能となってます。

CloudWatch Agentを使わなくても、ethtoolを下記のように使うことで取得は可能のようなので、例えばMackerelなどの別監視ツールを使っている場合でも活用が可能でしょう。

[ec2-user ~]$ ethtool -S eth0
bandwidth_in_allowance_exceeded: 0
bandwidth_out_allowance_exceeded: 0
pps_allowance_exceeded: 0
conntrack_allowance_exceeded: 0
linklocal_allowance_exceeded: 0

公式ドキュメントより転載

同日別途発表された VPC Reachability Analyzer とあわせて使えば、さらにネットワーク系のトラブルシューティングがはかどりそうですね!

AWS re:Invent 2020 は現在絶賛開催中です!

連日のように新機能がしれっと発表されている re:Invent期間。
参加がまだの方は、この機会に是非こちらのリンクからレジストレーションして豊富なコンテンツを楽しみましょう!

AWS re:Invent | Amazon Web Services