AWSコンソールでインスタンスを起動すると、「パブリックIPの自動割り当て」をtrueに設定できます。新しく作成されたインスタンスには、プールからのパブリックIPアドレスが割り当てられます。
次に、この設定をfalseに設定してインスタンスを起動し、このインスタンスにパブリックIPを割り当てたいとします。 Elastic IPではなく、最初のケースと同じパブリックIP。
PS私は新しいインスタンスを起動して古いインスタンスをシャットダウンできることを知っています。私は特に、すでに実行されているものに割り当てることに興味があります。
パブリックIPなしで起動したインスタンスは、インスタンスを起動したときにのみ割り当てられるため、インスタンスなしで残ります。インスタンスの起動時にパブリックIPを使用しないことを選択した場合、サブネットの自動割り当てパブリックIPがオンになっていても、インスタンスにパブリックIPは割り当てられません。
私が知っている唯一の方法は、インスタンスを起動する前にパブリックIPを割り当てるか、サブネットを設定してパブリックIPを自動的に割り当てるようにすることです。要約すると、あなたの質問に対する答えは、EIPを使用しない限り、そのインスタンスを起動した後でそれを行うことは不可能であるということです。これがお役に立てば幸いです。
後で修正するには、元のサーバーをスピンダウンし、パブリックIPの自動割り当てを有効にして既存のボリュームを接続した状態で新しいサーバーをスピンアップします。
その後、元のインスタンスを破棄できます。
ELBと自動スケーリングを使用している場合、オンザフライでインスタンスを作成し、インスタンスのストレステストを行うことは困難です。このシナリオでの1つの解決策:
EC2インスタンス>アクション>ネットワーク> IPアドレスの管理を選択します。次に、オプション「IPv4パブリックIPを追加または編集するには、このインスタンスまたはネットワークインターフェイスにElastic IPを割り当てます」を使用します。
これで、EC2インスタンスを再起動/削除することなく、パブリックIPを持つEC2インスタンスが作成されます。
インスタンスがVPCで実行されていると仮定して、パブリックIPが割り当てられた Elastic Network Interfaces (ENI)を作成し、新しいENIを作成する必要なくそのENIをインスタンスに関連付けることができます。
実行時にインスタンスにパブリックIPを割り当てるには: