noVpcしかなかったころから使っているアカウントだとデフォルトで用意されたVPCを使ってもPublicDNSがいないことがあるようです。
CloudFrontとかでテストするためにはDNSが必要なのでPublicDNSを復活させます。
aws management console にログインしVPCに移動します。
使っているVPCを選択 > 右クリック > Edit DNS hostnames
YESに変更します。
これで既存にインスタンスにもPublicDNSがアサインされるようになります。