Two AWS nodes on separate machines are trying to peer. They are listening and discovering at port 30303, when I open these ports for inbound connection they are still unable to peer; but, when I open 'All traffic' peering works. So clearly my issue is with which ports/protocols are open/available; but, I cannot figure out which one(s) to open.
The peer communication happens on tcp and UDP ports 30303 by default.
TCP is used to exchange information data related to blockchain, like new blocks. And UDP is used for communication related to peers and neighbours.
So you should try opening 30303 for TCP and UDP.
Update: Open for ipv4.
I had to open up 30303 on TCP for IPv4 not IPv6.