VPC フローログで 外部から NAT ゲートウェイへの通信が ACCEPT になっている理由を教えてください

2021.11.01

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

困っていた内容

VPC フローログを確認したところ、インターネットから NAT ゲートウェイに対する通信で大量のACCEPTが記録されていました。NAT ゲートウェイは外部から通信できない仕様と認識していたのですが、なぜ許可(ACCEPT)が記録されるのでしょうか?設定次第なのでしょうか?

2 123456789012 eni-1234567890abcd 203.0.113.100 10.0.10.10 25614 443 6 1 40 1635749118 1635749154 ACCEPT OK

どう対応すればいいの?

ネットワーク ACL のインバウンドルールをご確認ください。

VPC フローログのactionフィールド(ACCEPT/REJECT)は、セキュリティグループおよびネットワーク ACL による許可および拒否を表します。そのため、ネットワーク ACL のインバウンドルールで、インターネットからの通信が許可になっている場合、実際のトラフィックは受け入れませんが、VPC フローログにはACCEPTが記録されます。

なお、NAT ゲートウェイはセキュリティグループを関連付けることはできず、ポート転送のような外部からのリクエストを許可する設定には対応していません。

実際に確認してみた

まず、ネットワーク ACL のインバウンドルールを確認します。

NAT ゲートウェイの「詳細」タブからサブネットをクリック。

「ネットワーク ACL」タブのインバウンドルールからすべての通信がAllowになっていることを確認します。

hpingコマンドを使用し、NAT ゲートウェイのパブリックIPアドレス(Elastic IP アドレス)にリクエストを送信し、ドロップされたことを確認します。

# hping3 -c 1 -S <パブリックIPアドレス>
HPING <パブリックIPアドレス> (en0 <パブリックIPアドレス>): S set, 40 headers + 0 data bytes

--- <パブリックIPアドレス> hping statistic ---
1 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

VPC フローログにはACCEPTが記録されました。

2 123456789012 eni-1234567890abcd 203.0.113.100 10.0.10.10 25614 443 6 1 40 1635749118 1635749154 ACCEPT OK

参考資料