Directly shifting an existing EC2 to another availability zone is not possible. Instead, you can create an AMI for that instance and create in another AZ.
First, Stop the instance which you want to shift to a new AZ
Create an AMI of that EC2 instance
Now, launch a new instance in the preferred AZ with your saved AMI. This created instance will have all the data of your stopped instance.
Terminate the old instance if this is working fine.