The motive for the shooting in Izhevsk, capital of the Udmurtia region about 970km (600 miles) east of Moscow, was unclear.
The Udmurtia branch of the interior ministry said police discovered the gunman’s body at the scene.
Russia’s Investigative Committee said the attacker killed nine people before taking his own life.
It said the victims included five children, two teachers and two security guards.
Russia has seen several school shootings in recent years.
In May 2021, a teenage gunman killed seven children and two adults in Kazan.
In April 2022, an armed man killed two children and a teacher at a kindergarten in the central Ulyanovsk region before dying by suicide.