
インスタンスにアクセスするためにPuTTYを設定しました。命令インスタンス ダッシュボードに表示されているホスト名を設定しました。すべて正常に動作します。ただし、インスタンスを再起動すると、パブリック IP アドレス (およびパブリック DNS) が異なります (私の知る限り、インスタンスが再起動するたびに再配置されます)。そのため、PuTTY で接続を再設定する必要があります。IP アドレスの変更に関係なく機能する一定の設定を取得する方法はありますか?
PS: Elastic IP が解決策であることはわかっていますが、他のオプションにも興味があります。
答え1
アプリをDockerコンテナ内にパッケージ化し、必要に応じてホストマシン内でDockerコンテナを再起動します。Elastic BeanstalkサービスにはDockerサポートがあるため、Dockerのインストールと設定について心配する必要はありません。サービスを直接操作するための一般的なフローは次のとおりです。
- 新しい Beanstalk インスタンスを起動します (実際にはソフトウェアがプリインストールされた EC2 です)
- hello-world イメージをデプロイするか、独自のイメージを使用します。
- SSH を使用して EC2 インスタンスに接続します。
- sudo su
- ドッカーps
- 等々...
ただし、Beanstalk を使用すると、アプリがデフォルトでプリインストールされた nginx を使用して 80 ポートで外部に公開されるため、80 ポートを公開したくない場合は nginx を少し再設定する必要があるなど、わかりにくい機能がいくつかあります。ただし、実際には、Beanstalk で利用可能なデプロイ自動化の完全なパワーを実現できます。
答え2
Elastic IP を使用しない理由は見当たりません。無料でセットアップも簡単です。
もう 1 つのオプションは、ダイナミック DNS を使用することですが、インスタンスの起動時に何らかのスクリプトを実行できる必要があります (内部または外部)。以前は内部アドレスにこのような設定を使用していましたが、最終的には VPC に移行しました。DNSMadeEasy はこの機能をサポートしており、利用できるスクリプトは多数あり、独自のスクリプトを簡単に作成できます。