You could look at the machine's ip address, and determine if it is in a particular cloud's ip address block.
For Azure, the published list of ip address ranges for each subregion is an xml file at:
http://download.microsoft.com/download/E/F/C/EFC5E4D8-E4EA-4EFE-9356-D8AEEBC85F50/Azure_IP_Ranges.xml
Amazon will post a blog entry when they add new ranges. They are currently:
US East (Northern Virginia):
- 72.44.32.0/19 (72.44.32.0 - 72.44.63.255)
- 67.202.0.0/18 (67.202.0.0 - 67.202.63.255)
- 75.101.128.0/17 (75.101.128.0 - 75.101.255.255)
- 174.129.0.0/16 (174.129.0.0 - 174.129.255.255)
- 204.236.192.0/18 (204.236.192.0 - 204.236.255.255)
- 184.73.0.0/16 (184.73.0.0 – 184.73.255.255)
- 184.72.128.0/17 (184.72.128.0 - 184.72.255.255)
- 184.72.64.0/18 (184.72.64.0 - 184.72.127.255)
- 50.16.0.0/15 (50.16.0.0 - 50.17.255.255)
- 50.19.0.0/16 (50.19.0.0 - 50.19.255.255)
- 107.20.0.0/14 (107.20.0.0 - 107.23.255.255)
- 23.20.0.0/14 (23.20.0.0 – 23.23.255.255)
- 54.242.0.0/15 (54.242.0.0 – 54.243.255.255)
- 54.234.0.0/15 (54.234.0.0 – 54.235.255.255) NEW
- 54.236.0.0/15 (54.236.0.0 – 54.237.255.255) NEW
US West (Oregon):
- 50.112.0.0/16 (50.112.0.0 - 50.112.255.255)
- 54.245.0.0/16 (54.245.0.0 – 54.245.255.255)
US West (Northern California):
- 204.236.128.0/18 (204.236.128.0 - 204.236.191.255)
- 184.72.0.0/18 (184.72.0.0 – 184.72.63.255)
- 50.18.0.0/16 (50.18.0.0 - 50.18.255.255)
- 184.169.128.0/17 (184.169.128.0 - 184.169.255.255)
- 54.241.0.0/16 (54.241.0.0 – 54.241.255.255)
EU (Ireland):
- 79.125.0.0/17 (79.125.0.0 - 79.125.127.255)
- 46.51.128.0/18 (46.51.128.0 - 46.51.191.255)
- 46.51.192.0/20 (46.51.192.0 - 46.51.207.255)
- 46.137.0.0/17 (46.137.0.0 - 46.137.127.255)
- 46.137.128.0/18 (46.137.128.0 - 46.137.191.255)
- 176.34.128.0/17 (176.34.128.0 - 176.34.255.255)
- 176.34.64.0/18 (176.34.64.0 – 176.34.127.255)
- 54.247.0.0/16 (54.247.0.0 – 54.247.255.255)
- 54.246.0.0/16 (54.246.0.0 – 54.246.255.255) NEW
Asia Pacific (Singapore)
- 175.41.128.0/18 (175.41.128.0 - 175.41.191.255)
- 122.248.192.0/18 (122.248.192.0 - 122.248.255.255)
- 46.137.192.0/18 (46.137.192.0 - 46.137.255.255)
- 46.51.216.0/21 (46.51.216.0 - 46.51.223.255)
- 54.251.0.0/16 (54.251.0.0 – 54.251.255.255)
Asia Pacific (Tokyo)
- 175.41.192.0/18 (175.41.192.0 - 175.41.255.255)
- 46.51.224.0/19 (46.51.224.0 - 46.51.255.255)
- 176.32.64.0/19 (176.32.64.0 - 176.32.95.255)
- 103.4.8.0/21 (103.4.8.0 - 103.4.15.255)
- 176.34.0.0/18 (176.34.0.0 - 176.34.63.255)
- 54.248.0.0/15 (54.248.0.0 - 54.249.255.255)
South America (Sao Paulo)
- 177.71.128.0/17 (177.71.128.0 - 177.71.255.255)
- 54.232.0.0/16 (54.232.0.0 – 54.232.255.255) NEW