#今起こっている現象
EC2 が不定期に落ちる。Apache でのウェブサイトだけでなく SSH も繋がらない。
ウェブコンソールでインスタンスの再起動をすると元に戻る。
#やりたいこと
CloudWatch で EC2 の状態を監視して、落ちている時は EC2 を復旧・あるいは再起動したい。
#やったこと
- EC2 の「ステータスチェック」で「ステータスアラームの作成。
- 「アクションの実行」で「このインスタンスを再起動」を選択。
- 「ステータスチェックに失敗(インスタンス)」を選択。
- 「1分間」間隔で「2度以上」を選択。
- 「アラームを作成」をクリック。
- 「アラームが正常に作成されました」ダイアログで「閉じる」をクリック。
#やっていないこと
負荷テスト等は怖くてやっていません。(一生落ちっぱなしが怖いので)
ある時、ふとアクセスするとブラウザに 500 系エラーが表示されます。
#教えていただきたいこと
やり方が間違っている・足りないことなどがありましたらご教示ください。
また、別のやり方がある場合もご教示ください。
#追記 messageログ
Mar 31 15:01:01 linming systemd: Created slice User Slice of root. Mar 31 15:01:01 linming systemd: Starting User Slice of root. Mar 31 15:01:01 linming systemd: Started Session 748 of user root. Mar 31 15:01:01 linming systemd: Starting Session 748 of user root. Mar 31 15:01:01 linming systemd: Removed slice User Slice of root. Mar 31 15:01:01 linming systemd: Stopping User Slice of root.
ssh アクセスした覚えのない時間帯に上記ログがあります。
私のパスワードと秘密鍵が漏洩したか、別のユーザが作られて、それで侵入されているのでしょうか?
#追記2 CloudWatch Agent
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html
を参考に Agent 入れてみたのですけど、
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml -s
が
2020/04/03 13:58:06 Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_common-config.toml.tmp ... 2020/04/03 13:58:06 Invalid json format, please check. Reason: invalid character '#' looking for beginning of value 2020/04/03 13:58:06 I! AmazonCloudWatchAgent Version 1.237768.0. 2020/04/03 13:58:06 Configuration validation first phase failed. Agent version: 1.237768.0. Verify the JSON input is only using features supported by this version.
と表示され実行できません。
common
1# This common-config is used to configure items used for both ssm and cloudwatch access 2 3 4## Configuration for shared credential. 5## Default credential strategy will be used if it is absent here: 6## Instance role is used for EC2 case by default. 7## AmazonCloudWatchAgent profile is used for onPremise case by default. 8[credentials] 9# shared_credential_profile = "{profile_name}" 10shared_credential_file = "/root/.aws/credentials" 11 12 13## Configuration for proxy. 14## System-wide environment-variable will be read if it is absent here. 15## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy 16## Note: system-wide environment-variable is not accessible when using ssm run-command. 17## Absent in both here and environment-variable means no proxy will be used. 18# [proxy] 19# http_proxy = "{http_url}" 20# https_proxy = "{https_url}" 21# no_proxy = "{domain}" 22 23# [ssl] 24# ca_bundle_path = "{ca_bundle_file_path}"
回答2件
あなたの回答
tips
プレビュー