SIM900 and current from Arduino

Good day,
the SIM900 GSM module has an operating voltage of 3.4V – 4.5V (shield 4,5-5,5V). It draws high current up to 2A when transmitting data. Normally module consumes around 300-500 mA. I have SIM900 shield with DC jack and 3A regulator. I can solder pins for connect to Arduino. I saw on youtube as some have connected other shield without DC jack directly on Arduino just via USB. How do these SIM900 shields work? Additional mosfets and transistors?