A quick dump of criteria for deciding whether your project needs a NAT and, if so, what type it should be.
graph TD
A(Do you need a NAT?) --> B
B{Do you have services in a Private Subnet that\nneed to access resources outside of the network?}
B -->|No| NotNeeded[You don't need a NAT]
B -->|Yes| C
C{Can you move those resources in a Public Subnet?} -->|Yes| PublicSubnet[Move to a Public Subnet instead] --> NotNeeded