Long, 24, spent the 2016 preseason on trial with New York before signing a deal with Red Bulls II, making 22 appearances for the USL champions.
"We are pleased to add Aaron to our MLS roster," Red Bulls coach Jesse Marsch said in a news release. "Aaron has shown a lot of development over the last year and has earned this opportunity. This is also a very proud moment for the club as we successfully transition another player from our USL team to a first-team contract."
The center back had stints with the Portland Timbers and Seattle Sounders in 2014 but never played in an MLS match. He initially joined the New York first team on loan from Red Bulls II in September, making three appearances in the CONCACAF Champions League group stage last fall.