シェフサーバーを使用してscm用シェフの管理下に私のすべてのサーバーを置いています。素晴らしい作品です...私はそれが大好きです。私は禅を取得し始めていると思うが、私はより良い理解が必要です。シェフ、ec2、ナイフのベストプラクティス、フェールオーバー時の起動時間を短縮
私はami'sを作りました。私はいつもami'sを再構築していましたが、少なくとも彼らは速やかに起動します。
シェフと一緒に、私は、常にベアボーンのインスタンスとナイフを使用してあなたのamiを構築することから始まります。
シェフを迎え入れるのに約5〜6分かかるのは約20分です。
問題私は、ロードバランシングの下で4台のサーバ、2台のredis、マスターとスレーブ、2台のnginxサーバを実行しています。
リモートマシンでは、常にredisマスタまたはスレーブがダウンしているかどうかをチェックするpythonスクリプトがあり、nginxサーバが正常であればロードバランサ用です。
シェフの下で、サーバーがダウンすると、あらかじめ作成されたamiの時間の下で新しいインスタンスを起動する時間が15分以上かかることがあります。
質問私は、次のとおりている:
1)ナイフと対話するPythonのAPIはありますか? Pythonで私はamiを起動するためにbotoを使いました。今、私はナイフを実行するためにpopenを使用する必要があります。私のコードは、amiが起動して実行中であることを知っているかどうかによって異なります。
2)シェフクライアントが事前にインストールされているamiを持っていることをお勧めしますか?それは約6分を削るだろう。
3)最後に、他に何が欠けていますか?どんなアドバイスも素晴らしいでしょう。