The supersport.com website reports that Rayudu hit the winning runs with more than five overs to spare, having faced only 118 deliveries, reaching the boundary 10 times, and clearing it four times.
Rayudu was ably assisted by Shikhar Dhawan's 79, and a breezy 49 from Virat Kohli.
Sri Lanka's bowlers started off well, sending Ajinkya Rahane back for 18, but after the initial breakthrough, it was one-way traffic, and the result never looked in doubt.
Seekkuge Prasanna finished with 3-53, but could not prevent the inevitable.
An undefeated 92 from Angelo Mathews kept Sri Lanka afloat as they reached 274 for eight after opting to bat.
Mathews faced 101 deliveries as he kept the innings together with his 23rd half-century, after the visitors suffered a slight collapse in the middle order.
A late flurry from Dhammika Prasad (30 not out off 28 balls) complemented Mathews, and the pair added 49 off the final five overs for a respectable total.
India effected an early breakthrough with the wicket of Kusal Perera (0) in the first over. Tillakaratne Dilshan and Kumar Sangakkara added 51 for the second wicket before Dilshan departed for 35, followed by Mahela Jayawardene (4).
However, Sangakkara found a stable partner in captain Mathews and put the innings back on track with 90 runs in just over 18 overs.
Sangakkara (61) brought up his 87th ODI half-century before falling to a full toss from Umesh Yadav, hitting it to Shikhar Dhawan at mid-on who completed an overhead catch.
Yadav, Ravichandran Ashwin and Akshar Patel all finished with two wickets each.
The tour now moves to Hyderabad for the third encounter on Sunday, and -- leading the five-match series 2-0 -- India will be eager to wrap up the series.
Teams:
India: S Dhawan, AM Rahane, V Kohli (capt), AT Rayudu, SK Raina, WP Saha (wk), RA Jadeja, R Ashwin, AR Patel, UT Yadav, I Sharma
Sri Lanka: MDKJ Perera, TM Dilshan, KC Sangakkara (wk), DPMD Jayawardene, AD Mathews (capt), SMA Priyanjan, NLTC Perera, S Prasanna, S Randiv, KTGD Prasad, PLS