I have a modem that collects data from sensors then communicates with a cloud application. For this to work, I need a public IP address so that the cloud application and see the modem. After spending half a day on the phone and via chat to various Optus teams, I have established that the best I can do is a Static IP address via a business account however no one can tell me if the Static IP address will be behind the NAT server or Public. Can anyone help??
Unless you are using a mobile internet service, the IP address is public, although not static.
A business IP will be static, there is really no point in offering a business IP that is not static.
Are you Connecting via a NBN Service, or a Wireless Broadband Service using a Simcard?
If your talking about a NBN Service, all NBN Services come with a Public IP Address, and are NOT behind carrier grade NAT, both on Consumer and Business. On consumer it is a Dynamic IP, not Static, but is a Live Facing Internet IP.
However all Mobile Broadband Services, are behind Carrier Grade NAT and do not have a Live IP Address.
In saying that, if you use a NBN Service, your Router will give a NAT Based IP Address, as your Modem/Router is performing NAT. You can however Port Forward the Ports you need from the Live IP address on the Modem/Router to the Device. You can do a complete Port Forward, but you would be better for security to just forward the ports the device requires.
What device are you using? Are you sure it needs a Live IP Address? Most cloud devices talk back to home servers and wont need a Live IP. Usually this is for things like Webcams, or NAS's where you need to get remotely into the device on your Network Remotely.
If you can provide us some more details we can help you getting it working. You would not want to put a Device on a Live IP Address if you can avoid it, always better to have behind NAT, and just forward the ports you need for security from the router.
I have a modem that collects data from sensors then communicates with a cloud application. For this to work, I need a public IP address so that the cloud application and see the modem.
Just like to check on a couple of aspects of this.
First, a modem that collects data then communicates? Are you sure it's a modem and not something else?
Second, is the communication between device and cloud, initiated by cloud or device?
If it is initiated by the device, which is what I would expect to happen, then why would you need a public IP?
If it is initiated by the cloud, how would the cloud know the device has data to transmit? Seems an unusual setup, that's all.
Like @Dave-P has said, in an embedded system / control system you have the embedded device initiate the comms connection to the back end (in this case the cloud app) and on connection they will do a bunch of handshaking and security checks to make sure the device is okay and has not been compromised.
I all of the distributed systems like this I have been involved in backend will have an option to either manually or automatically "try" to connect to the devices in the field if they do not connect every X hours/days in order to see if the device is still working or not or if the comms is bad etc, but it depends on hoe mature the system is as to what level of checks are done and what is done with the results.