web-dev-qa-db-ja.com

EC2既存のAMIを更新する

私はElastic Load Balancingを使用して負荷分散を行っていますAuto Scaling Group、そのため私はプライベート[〜#〜] ami [〜#〜]を持っていますアプリケーションサーバー(Tomcat)とWebアプリケーションがwarとしてデプロイされた状態になっています...これですべてが正常に動作します... Tomcat構成を変更する必要がある場合はどうすればよいですか[〜#〜] ami [〜#〜]。それは私のAMIを起動する必要はありません->ログイン+ Tomcat設定の変更->新しいAMIの作成->古いAMIの削除新しいAMIを作成することは私のAuto Scaleを更新する必要があるので解決策ではないと思います新しいAMIを追加するグループ

新しいAMIを作成せずに既存のAMIのデータを更新できる方法はありますか?同じAMI IDが欲しいだけです

18
Hadi Salem

インスタンスの起動時に実行される ser-data script を使用して構成を更新できます。

スクリプトに何を入れるかは、ファイルシステムレベルで構成を管理する方法によって異なります。私は自分の構成ファイルをMercurialリポジトリに個人的に配置し、pullを実行して更新します。

5
David Levesque

既存のAMIを更新して同じAMI IDを維持することはできません。新しいカスタムAMIを作成し、Auto Scalingグループの起動設定を更新するか、@ DavidLevesqueが示唆するように、ベースAMIのインスタンスを起動した後にインスタンスに変更を適用するように設定を変更する必要があります。

これは、起動時にS3などからアプリケーション、構成、データをダウンロードするための一般的なアーキテクチャです。

3
Eric Hammond

これは古い投稿のようです。ただし、同じ問題に直面している場合は、Instance Store-Backed Windows AMI(バンドルタスク)の使用を検討できます。これはAMIにも似ていますが、実際にイメージ自体を作成してS3バケットに格納するため、イメージ自体をより詳細に制御できます。これにより、新しいAMIを作成する必要なく、必要なときにAMIの基礎となるイメージを時々更新できます(少なくとも私はそれを理解しています)。

https://docs.aws.Amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html?icmpid=docs_ec2_console

0
Rio Bautista