この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
はじめに
以前、AWS上のWordPress環境を構築したときのことを記事にしました。
その時構築した内容にいくつか機能を追加したので、今回もその内容をブログ形式で振り返ってみます。
これまでの構築についてはこちらです、よろしければご覧ください。
AWS×WordPress その1 – IAM,KMS
AWS×WordPress その2 – ネットワーク
AWS×WordPress その3 – RDS,EFS
AWS×WordPress その4 – EC2
AWS×WordPress その5 – 監視,通知
AWS×WordPress その6 – DNS,HTTPS
概要
今回は、追加した機能は次の3つ
EC2死活監視
ALB監視
Apacheアクセスログ収集
以下の内容については、既に実施済みである前提で進めていきます。
・IAM:CloudWatchAgentServerPolicy付与
・CloudWatchAgent,Apache等のインストール
ではまず、EC2死活監視から…
1. EC2死活監視
1-1. EC2 ヘルスチェックアラームの作成
EC2コンソール > インスタンス > インスタンスを選択 > ステータスチェック > アクション > ステータスチェックアラームを作成
・アラームの通知先として、作成したSNSトピックを選択
・アラーム名は自動で入力されていますが、自分で変更も可能です
今回はEC2 2台分を順番に設定していきます
↓ 1台目の設定
↓ 2台目の設定 (アラーム名だけ変えています)
入力が完了したら作成をクリックし完了!
2. ALB監視
2-1. アラームの作成
CloudWatchコンソール > アラーム > アラームの作成 > メトリクスの選択
ApplicationELBを選択
以下の内容で絞り込み > 監視対象のメトリクスに✓ > メトリクスの選択
・監視対象のALB名
・メトリクス名:HealthyHostCount
条件などを入力 > 次へ
通知先として作成したSNSトピックを選択 > 次へ
アラーム名、説明を入力 > 次へ
最後にプレビュー画面が表示されるので、これまでの入力内容で問題ないか確認しアラームの作成をクリック
以上でELB(ALB)用の監視アラーム設定完了!
3. Apacheアクセスログ収集
3-1. ロググループの作成
CloudWatchコンソール > ロググループ > ロググループを作成
以下、画面の指示に従い入力/選択 → 作成 をクリック
・ロググループ名の入力
・ログの保持期間の選択
ロググループの作成完了!
3-2. CloudWatchAgent設定ファイルの編集
次に設定ファイルの内容を編集します
CloudWatchAgentの設定ファイル、logsセクションに以下の内容を追記します
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/httpd/access_log",
"log_stream_name": "{instance_id}",
"log_group_name": "/var/log/httpd/access_log",
"timestamp_format": "%d/%b/%Y:%H:%M:%S %z",
"timezone": "UTC"
}
参考:CloudWatch エージェント設定ファイルを手動で作成または編集する
3-3. CloudWatchのリスタート
最後に設定ファイルを読み込むため、以下の内容を実施します
※設定ファイルの場所などを確認し、適宜読み替える必要があります。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
参考:コマンドラインを使用して Amazon EC2 インスタンスで CloudWatch エージェントを起動する
確認
再起動後、作成したロググループ配下にインスタンスIDが追加されているのを確認
ログも出力できています!
さいごに
EC2の死活監視、ALB監視、Apacheログ出力と3つの機能を実装できました
これにて設定完了です、お疲れ様でした!