2016-10-17 14 views
0

私がする必要があるのは、次のとおりです。EC2インスタンスが起動されると、ラムダ関数などがスクリプトをインストールしてホスト内のメモリとディスク使用量を監視します。EC2イベント[実行中] +ラムダファンクション

私はこれをどのように行うことができるか考えています。誰でも私にアイデアを与えることができますか?

答えて

0

あなたの要件は、Amazon EC2インスタンスからメモリとディスクの使用状況を監視することです。私はあなたがAmazon CloudWatch経由でそれを監視したいと仮定します。

Amazon CloudWatchは、CPU使用率、ネットワークトラフィック、ディスクアクセスなどのEC2インスタンスのデフォルトメトリックを提供します。これらのメトリックは、ハイパーバイザから見ることができます。しかし、CloudWatchはEC2インスタンスの '内部'を見ることができませんので、インスタンス内のスクリプトを実行して空き容量や空きディスク容量などを追跡する必要があります。スクリプトは、これらのメトリックを取得するためにオペレーティングシステムと通信します。そのため、インスタンス内で実行する必要があります。

いくつかの標準的な監視スクリプトは、Linuxインスタンスのために用意されていますMonitoring Memory and Disk Metrics for Amazon EC2 Linux Instances

あなたは、もちろん、send custom metrics to CloudWatchに独自のスクリプトを書くことができます。インストールが完了すると、インスタンスが再起動されると自動的にスクリプトが実行されます。あなたは新しい EC2インスタンスにこれらのスクリプト(または独自のスクリプト)をインストールしたい場合は

は、方法がいくつかあります:

  • 1つのインスタンス上でスクリプトをインストールし、その後、を作成そのインスタンスのAmazon Machine Image(AMI)にディスクのコピーが含まれています。そのAMIを使用して新しいインスタンスを起動することができ、スクリプトはすでに新しいインスタンスにインストールされます。
  • ユーザーデータスクリプトを使用してインスタンスを起動して、監視スクリプトをインストールします。ユーザーデータを通過したスクリプトは、インスタンスの最初の起動時に自動的に実行されます。
+0

こんにちは、お返事ありがとうございます!だから私はこのスクリプトを使ってCloudWatch経由でメモリとディスク使用量を監視しています!私はあなたが私に与えたこれらの2つのオプションについて考えていましたが、EC2が起動したときに "RunCommand"やLambda Functionのような他のオプションを探していましたが、何も見つかりませんでした。スクリプト+エージェントを使用してAMIを使用して、今後のアップデートに "RunCommand"を使用します。ありがとう! –

2

ラムダは必要ありません。インストールスクリプトをユーザーデータとして渡します。

を参照してください:あなたは、スケーリング・グループを使用している場合はRunning Commands on Your Linux Instance at Launch

+0

はい、解決策です。しかし、私が必要とするのは:EC2インスタンスが起動されるたびに、このスクリプトがインストールされます –

+0

右、@MaiconBaum、そうです...正確には、この回答は、 "あなたのインストールスクリプトをユーザーデータとして渡します。最初の起動時に実行されます。 –

0

あなたがLaunchConfigを指定する必要があります。 LaunchConfigの一部は、インスタンスが起動するときに実行されるユーザーデータスクリプトです。 新しいEC2 VMの作成に使用する場合は、CloudFormationスクリプトから簡単に実行できます。 ここにスクリプトのサンプルがあります。 enter link description here

関連する問題