I want to turn on-off 5 big machines within 2 KM radius by Arduino. Will a GSM module work for me, or any better idea?
I'd be very uneasy controlling a total of 25kVA of distributed agricultural gear using an Arduino that I'd programmed myself and controlled remotely by WI-FI /GSM across 2Km.

My answer may not be strict electrical design within the scope of Help Centre, but I think this detail cannot be ignored.  You may have staff /family operating this equipment and are responsible for their welfare, both morally and legally.  I'm not being facetious, but this is an Arduino...



It's a small PCB with no connectors nor enclosure nor PSU of any substance.  The same will apply to any GSM modules.  You'll need to add all those, as well as lots of safety interlocking, or at the very least expensive isolator switches.  And on /off indicators - a 5mm LED won't do.  And not forgetting your relays which may  be just open frame or exposed contacts.  Earthed enclosures.  And the control equipment at the master end.  The list is long.  The cost saving of the Arduino will be negligible in the context of the entire project.

The more I think of it, the more complex this project becomes.  What's the feed back loop going to be to verify correct and safe operation of 25KVA?  If you have a unidirectional  wireless control signal, what happens if there is GSM interference and the signal doesn't get through?  You could easily get out of synch knowing whether your gizmos are on or off.

If you decide to go home brew, you could start by looking at something like this:-



which is a mini PLC costing ~ £100.  At least it's designed for industrial applications and can push out an industry standard 24V for your relays.

If you're the only one using this then have at it.  If other people especially employees do too, your legal position changes entirely.  If there should happen to be a fault and fire /injury, home brew switch gear might create an opportunity to renege on insurance claims. There's more to this than just the wiring.