Our microservices are going to be deployed on AWS, using Pipelines. A step on this pipeline will execute integration tests using a dedicated database on AWS, a MySQL instance.
My question is: since I want to execute integration tests also locally, while developing, should I need to replicate exactly what's happening on AWS?
Locally I could use an in-memory database like H2, which can receive different SQL dialect, like MySQL ones, but it's still something different from what CI will offer to us.
1) Should I replicate a MySQL instance locally, maybe using Docker (i.e.)?
2) Can be H2 database a good solution?
3) Should I avoid integration tests locally, and execute them on CI only?