アップデート
Avinash Bijjaは、HTTP User-agentヘッダーがAmazonCloudFrontサーバーからのリクエストに対して「AmazonCloudFront」になることを正しく指摘しました(+1) 。残念ながら、これは実際には明示的に文書化されていないようですが、それぞれのフォーラムのさまざまな投稿によって暗黙的に承認されています。たとえば、ユーザーエージェント文字列に対するAWSチームの応答を参照してください-CFはユーザーエージェント文字列を上書きしますか?:
あなたは正しいです。User-Agentフィールドには、常に「AmazonCloudFront」と入力されます。
ただし、これは現在完全に信頼できるものではないことがわかりました。CloudFrontが空のUser-Agentをオリジンに送信する場合、元のクライアントリクエストに空のUser-Agentがすでにない場合は次のようになります。
元のクライアントがUser-Agentを送信しない場合、CloudFrontがUser-Agentをオリジンに送信していないことを確認できます。バックログでのユーザーエージェント処理の機能強化と修正がありますが、現時点ではリリース日はありません。詳細を記載したPMをお送りしました。
これらの機能強化と修正は、少なくとも2013年2月7日の時点では、まだ展開されていないようです。
これらの機能強化と修正は、2013年8月5日に公開されました(更新してくれたwebbiedaveに感謝します!)。
最初の回答
CloudFrontは、オリジンサーバーに送信されるリクエストにカスタムヘッダーを追加しますか?
確かにそう思うかもしれませんが、少なくとも、CloudFrontがリクエストを処理してカスタムオリジンサーバーに転送する方法など、私が期待していた場所には文書化されていないようです。オリジンサーバーを制御している場合は、HTTPアクセスログを確認するだけでよいでしょうか。
または、リクエストがCloudFrontから来ていることを確認する他の信頼できる方法はありますか?
信頼性は自分で判断する必要がありますが、CloudFrontがオリジンサーバーに転送するIPアドレスは、エンドユーザーのコンピューターのIPアドレスではなく、CloudFrontサーバーのIPアドレスです。-その結果、公開されたAmazonCloudFrontパブリックIP範囲へのアクセスを制限できます。ただし、それぞれの免責事項に注意してください。
CloudFront IPアドレスは頻繁に変更されるため、変更の事前通知を保証することはできません。最善を尽くして、現在の住所のリストを提供します。お客様は、これらのアドレスをミッションクリティカルなアプリケーションに使用したり、DNS名にハードコーディングしたりしないでください。[強調鉱山]
したがって、このフォーラム/投稿を監視して、それぞれの変更にできるだけ早く気付く必要があります(もちろん、この制約がユースケースに受け入れられる場合)。