On Tuesday I was setting up VPC Peering and even had a colleague double check my setup. This one was a tricky one as I had got everything correct, but missing one small configuration.
Here's the Requester side of the connection:
And the Accepter side. Notice that I've used separate CIDR blocks (as per the requirements) to establish the connection.
As a last resort, I decided to run the Reachability Analyser. In red the issue is clearly marked. I had forgotten to configure the routing table on the Accepter side.
I fell into the "black" hole trap of debugging only on the Requester side. This is easy to fall for, and at least now I'm prepared to handle this better the next time it comes up.
Hope this helps!