private IP не меняются до терминейта тачки.
For instances launched in EC2-Classic, we release the private IP address when the instance is stopped or terminated. If you restart your stopped instance, it receives a new private IP address.
For instances launched in a VPC, a private IP address remains associated with the network interface when the instance is stopped and restarted, and is released when the instance is terminated.
docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-...
Так же, вы можете оперировать набором secondary private IP если ваши процессы подразумевают пересоздание инстансов для апгрейда\замены: можно к определенным инстансам цеплять определенные secondary PIP. Схема выглядит немного извращённой, но видел случаи где пригождалось.
Например к Primary PIP не привязывались когда сначала нужно было создать новый инстанс, а потом только терминейтнуть старый: primary PIP от инстанса не отвяжешь, а после создания нового Secondary PIP переезжал на новый и приложение работало уже с новым инстансом - с возможностью отката к старой версии.
P.S. для всех кто захочет прокомментировать про Secondary PIP - я такое только видел, в работе использую Consul не считайте извращенцем, пожалуйста :D