Determine availability zone of AWS IP address

That's not an easy task (if solvable at all), because availability zones are different per Amazon EC2 account in the first place, see FAQ How can I make sure that I am in the same Availability Zone as another developer?:

We do not currently support the ability to coordinate launches into the same Availability Zone across AWS developer accounts.

Eric Hammond has explored the topic and developed a technique/trick to work around this limitation, see Matching EC2 Availability Zones Across AWS Accounts:

Summary: EC2 availability zone names in different accounts do not match to the same underlying physical infrastructure. This article explains a trick which can be used to figure out how to match availability zone names between different accounts.

However, he stresses the respective caveats as well:

Please note that this approach is not a documented feature of Amazon EC2. [...]

Amazon could at any time restructure how these values work so that the described offering ids cannot be used between accounts or do not map to any common infrastructure.

The trick seems to work for the time being, so you might be able to achieve your goal by applying this technique, but be prepared for it not yielding a reliable solution down the road eventually.