Create a polygon layer with 400x400 km squares covering the extent you want to show on the map.
Be aware that depending on the CRS you use, distances can be heavily distorted as it is the case for EPSG:3857
which I used in the screenshot below for demonstration purpose and convenience only. Be sure to get that right in your workflow - see at the bottom of this answer.
In the print layout, create an atlas with this polygon layer as coverage layer.
Select the map, go to Item Properties
, check the box Controlled by Atlas
and set Margin around feature
to 0%.
Go to Postion and Size
and for Width
and Height
set 400 mm each.
Set Scale
to 1000000
(400 km : 40 cm).
Finally, you can right-click on the remaining white space (my page was set to size A2), select Page Properties
and set the Width and Height to 400 mm x 400 mm as well. So the page size has the same size as the image.
Red frame = 400 km x 400 km polygon; here I set Width and Height to 410 so that the red frame can be seen:

Consider projection/CRS
Using a CRS that fits your needs is a bit tricky in your case as you have a larger area (at least from Moscow to Omsk) and I doubt that there is one single good choice of CRS for all your cities. Normally, when dealing with distances, local UTM-zones are a good choice. But you need 400 km x 400 km squares and this is a bit large for the extent of UTM zones. So maybe there are some regional CRS availble for Russia or you use a custom projection.
Another easy option would be using EPSG:3576
- but with this, creating squares around Moscow, Kazan and Omsk, there are still differences of up to 16 km between Cartesian and Ellipsoidal distances (ellipsoidal distances are more or less real-world distances, with a few simplifications). As well, if you reproject these squares in EPSG:3576
to EPSG:3857
, their shapes look as on the next image. So be sure to get an understanding of how using different CRS/projections affects your results and what exactly you want to achieve.
400 km x 400 km squares in EPSG:3576
, reprojected to EPSG:3857
:
