EC2を起動したらやることメモ

EC2を起動したらやることメモ

EC2インスタンスを起動するたび何度も調べている気がするのでいい加減メモ。

スワップ領域作成

t2.small以下のインスタンスでは起動時の状態ではスワップ領域がなくて、メモリが足りなくなりよくMySQLなどが落ちたりするのでスワップ領域を作成する必要がある。

AWS EC2のマイクロインスタンスでスワップ領域を作成

CloudWatchでメモリとディスク監視

EC2インスタンスのCloudWatchアラームにはデフォルトでCPU使用率やネットワーク入出力のアラームは設定できるが、メモリやディスク容量はデフォルトでは監視項目にない。インスタンスからCloudWatchへログをcronで定期送信することでアラームとして登録することができるようになる。幸いAWS公式のスクリプトが用意されている。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/mon-scripts.html

上記のドキュメントに詳しく書いてあるが、要点だけ抜き出す。

# AmazonLinuxの場合
# スクリプトの保存ディレクトリにcdしておきます
sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https
curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
cd aws-scripts-mon
cp awscreds.template awscreds.conf
vi awscreds.conf

# 内容変更して更新
AWSAccessKeyId=YourAccessKeyID
AWSSecretKey=YourSecretAccessKey

./mon-put-instance-data.pl --mem-util --verify --verbose # テスト

# cronに登録
crontab -e
# メモリ使用量、メモリ使用率、利用可能メモリ、スワップ領域使用率、スワップ領域使用量、ディスク使用率、ディスク使用量、利用可能ディスク容量
*/5 * * * * /path/to/mon-put-instance-data.pl --mem-util --mem-used --mem-avail --swap-util --swap-used --disk-path=/ --disk-space-util --disk-space-used --disk-space-avail

CloudWatch ALARMの設定とSNSとlambdaを利用したSlack、ChatWorkへの通知編へ続くかも。

TAG

  • このエントリーをはてなブックマークに追加
kurashita
エンジニア kurashita kurashita

基本的にRuby on Railsで開発してます。最近はvue.jsも。好きな塔は円城です。