2013 年 1 月の時点で、Amazon CloudWatch は、Amazon CloudWatch を使用して未使用の Amazon EC2 インスタンスを検出してシャットダウンするオプションを提供しています。この機能の詳細については、紹介ブログ投稿 Amazon CloudWatch - アラーム アクションを参照してください。
<ブロック引用>今日は、停止する機能を提供します または CloudWatch アラームがトリガーされたときに EC2 インスタンスを終了 .これは、フェイルセーフ (異常な状態を検出してから処理する) またはアプリケーションの処理ロジックの一部として (予期される状態を待ってから処理する) として使用できます。 [私の強調]
あなたのユースケースはセクションフェイルセーフのアイデアにリストされています 特に:
<ブロック引用>あなた (または開発者) が忘れっぽい場合は、未使用の EC2 インスタンスを検出してシャットダウンできます。これは、長時間にわたって非常に低い負荷平均を検出することで実行できます。このタイプのフェールセーフを使用すると、実際に使用していないリソースに対して料金を支払わないようにすることで、AWS の料金を削減できます。
概説したように、これは、アラームをトリガーしてインスタンスを停止する適切な条件をヒューリスティックに検出できるかどうかに依存します。ログインした SSH ユーザー数、アイドル時間、またはそれ以外の場合は、目的の検出とシャットダウン プロセスの制御と精度を向上させます。
次のようなコマンドを使用して、インスタンス自体で cron ジョブ スクリプトを作成できます
netstat | grep ssh | grep ESTABLISHED
結果が返されない場合は、それをファイルに書き込み、cron は再試行し、再度結果が返されない場合、スクリプトはこれを実行します。
/sbin/shutdown -h now
あなたが探しているのは、ログイン中にサーバーを実行し続け、セッションが n
未満の間アイドル状態であることだけである場合 w(1)
の出力を監視することにより、言及したcronスクリプトを介してこれを行うことができます IDLE
を報告する 使用できるログイン ユーザーの時間。