Great suggestions have been made already on here and I’ll add my take on them.
A lot of the local area Rochester ponds aren’t bad but can be very crowded and over-fished. From what I’ve read Olmsted County is the only county in MN without a natural lake in it, so when people without boats want to fish they crowd up the few local ponds.
Chester Woods is a county park with a decent sized body of water and I’d recommend renting a canoe and going out on there; you can find fish where a guy would normall expect to find fish.
Otherwise like “One” said there are a batch of lakes west of you in South-Central MN. Faribault has quite a few lakes in the area.
All the above Rochester-area fishing spots also work OK for ice fishing, just tend to be overcrowded just like during summer.