‌Ukraine has launched a "large-scale" drone attack on St Petersburg, showing Kyiv's ability to hit deep inside Russian territory.