Residents of St. Petersburg have been told to stay indoors after a large-scale Ukrainian drone attack targeted the city.