It's hard to answer this question without your application context and without knowing your reliability expectations - but in general terms, our best practice is to use all Availability Zones in a region.
The more AZs, the smaller the failure domain - and the easier to deal with availability events. A counter point might be on additional costs, like cross-az traffic: so this should be factored in.
I'd say 3 AZs minimum; that way if the worst happens and there's an AZ outage, you still have redundancy. Also the more AZs you use the greater the chance that your auto-scale groups etc will find available capacity when an AZ outage causes a rush for resources.
There is also a cost component to this: If you are running in 3 AZs and one AZ is removed, you only have to accept 50% increase in load on the other 2 AZs. If you run in 2 AZs, then you get 100% load increase, so you have to have a larger capacity and higher cost to absorb the traffic.
EMR in 2 AZs and High AvailabilityAccepted Answerasked 2 years ago
How to determine the root cause of Data Transfer - regional data transfer - in/out/between EC2 AZs or using elastic IPs or ELB fees?Accepted Answerasked a year ago
2 AZs vs 3 or more AZsasked 8 months ago
ALB DNS name with 3 AZs enabled resolves to 1 IPasked 8 months ago
single AZ or multi-AZ?asked 3 years ago
Why AWS RDS service needs two subnets from different AZsasked 8 months ago
[EC2 Windows] Move MAC address across AZsasked 5 months ago
Network Load Balancer and failure conditions across multiple AZsAccepted Answerasked 3 years ago
How to convert my VPC from single AZ setting to Multiple AZsasked 7 months ago
data transfer cost between two AZs in the same VPC same accountAccepted Answerasked 2 years ago