How to preserve an AWS EC2 instance's public IP address after it is stopped and started again?

Assign an Elastic IP address to the AWS EC2 instance: docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html

See also: How much does an Elastic IP address cost per month?