インスタンスへの受信データ転送にいくら払っていますか?無料のはずですよね?ところが、必ずしもそうではないのです…

どうやら、そうとは限らないようです。
AWS EC2のオンデマンド料金ページでAWSのデータ転送料金を確認できます。「インターネットからAmazon EC2への受信データ転送」の項目を見ると、料金は$0.00となっています。

さらにスクロールすると、次のセクションが現れます。

ここで疑問が生じました。同じリージョン内でダウンロードする場合、料金は発生するのでしょうか?何度読み返してもすっきりしなかったので、実際に検証してみることにしました。
ロンドンリージョン(eu-west-2)で、別々のAWSアカウントにインスタンスを2台立ち上げました。1台はeuw2-az3ゾーン、もう1台はeuw2-az2ゾーンに配置しています。
そして、一方のアカウントのインスタンスから、もう一方のアカウントのインスタンスへ、パブリックIP経由で5GBのファイルをダウンロードしました。24時間後、ファイルをダウンロードした側のアカウントで請求ダッシュボードを確認したところ、結果は次のとおりです。

驚いたことに、同一リージョン内のEC2 IPからダウンロードした場合でも、データ転送INに対して$0.01/GBが課金されていたのです。
同じアベイラビリティゾーン内の通信でも同様に課金されるのか気になり、ストックホルムリージョン(eu-north-1)でも追加検証を行いました。両方のインスタンスをeun1-az1ゾーンに配置しましたが、結果は同じでした。
AWS Cost and Usage Report (CUR):
本記事を執筆するにあたりAWS Cost and Usage Reportを活用しましたが、AWSの公式ドキュメントにはこの件に関する記述が見当たらなかったため、今後検索する方のためにここに記しておきます。

AWS CURでデータ転送INを検索すると、UsageTypeは「DataTransfer-Regional-Bytes」、Operationは「PublicIP-In」、ItemDescriptionは「USD 0.01 per GB for DataTransfer-Regional-Bytes」と表示されます(料金はリージョンによって異なります)。
追記 — Corey Quinn氏も自身のブログで、アベイラビリティゾーン間のデータ転送に関する不明瞭な料金体系について同様の指摘をしています。