1

AmazonEC2のAutoScalingについていくつか質問があります。

  • アプリケーションでGitHubから1日に数回デプロイを実行し、静的データをAmazonS3に送信するためにアセットパイプラインをコンパイルする必要があります。アプリケーション(更新)を他のアクティブサーバーに複製するにはどうすればよいですか?
  • そして、Auto Scalingによって開始された新しいサーバーの場合は?

彼らが私を助けてくれることを願っています、ありがとう!

4

2 に答える 2

5

アプリケーションの起動構成が決定されていることを前提としています。これを行う方法は、新しいコードベースを使用して新しいAMIを作成することです。次に、新しいAMIを反映するように起動構成を更新します。

更新を開始する準備ができたら、ロードバランサーでインスタンスを終了し、launchconfigで新しいAMIの新しいインスタンスを起動します。

したがって、たとえば、起動構成の状態で、最小で8つのインスタンス、最大で12のインスタンスがあるとします。そして、あなたが現在10のインスタンスで実行しているとしましょう。最小インスタンス(たとえば4インスタンス)を下回るように、いくつかのインスタンスを終了(またはロードバランサーから削除)します。次に、これは最小起動構成を満たすために2つの新しいインスタンスを起動します。これらがロードバランサーに正常に配置されたら、おそらくさらに4つのインスタンスを終了し、4つの新しいインスタンスを起動します。次に、最後に最後の2つのインスタンスを終了します。

これにより、サーバークラスターへの負荷の影響を最小限に抑えながら、新しいAMIを本番環境に段階的に展開できます。もちろん、DBスキーマなどを更新して、カットオーバーのためのハードダウンタイムが必要な場合は、起動構成を変更し、すべてのインスタンスを終了する必要があるという点で、これはわずかに異なります。 DBを移行してから、新しいインスタンスを起動します

于 2012-08-14T14:46:04.020 に答える
0

ChefPuppetなどの構成管理ツールを使用してみてください。

AWSAutoスケーリングインスタンスですぐに使用できるソリューションがあるかどうかはわかりません。ただし、インスタンスのuser-dataとchefを利用することで、更新されたデプロイメントを複製することができます。

于 2012-08-14T14:57:32.353 に答える