Amazon EC2 監視と運用管理
Amazon EC2の効果的な監視と運用管理は、アプリケーションの安定稼働とパフォーマンス最適化に不可欠です。AWS CloudWatch、CloudTrail、Systems Managerを活用することで、包括的な監視・運用環境を構築できます。
Amazon CloudWatchによるメトリクス監視
基本モニタリングと詳細モニタリング
Amazon CloudWatchは、Amazon EC2から未加工データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工します。これらの統計は15か月間記録されるため、履歴情報にアクセスしてウェブアプリケーションやサービスの動作をより的確に把握できます。
基本モニタリング
- デフォルトでは、Amazon EC2は5分ごとにメトリクスデータをCloudWatchに送信します
- ステータスチェックメトリクスは1分間隔で利用可能
- その他のメトリクスはすべて5分間隔で利用可能
- 料金は発生しません
詳細モニタリング
- 1分ごとにインスタンスのメトリクスデータをCloudWatchに送信
- ステータスチェックメトリクスを含むすべてのメトリクスが1分間隔で利用可能
- 同様のインスタンスグループの集約データも取得可能
- Amazon EC2がCloudWatchに送信したメトリクスごとに料金が発生
利用可能なメトリクス
Amazon EC2はメトリクスをAmazon CloudWatchに送信し、AWS Management Console、AWS CLI、またはAPIを使用してメトリクスを一覧表示できます。デフォルトで、各データポイントではインスタンスのアクティビティの開始後5分間が対象となり、詳細モニタリングを有効にした場合は開始後1分間のアクティビティを対象とします。
主要メトリクス
- CPU使用率
- ネットワーク入出力
- ディスクI/O
- ステータスチェック
- インスタンスメタデータサービス(IMDS)メトリクス
CloudWatchエージェントによる拡張監視
統合CloudWatchエージェントを使用することで、より詳細な監視が可能になります。
収集可能なデータ
- オペレーティングシステム全体でAmazon EC2インスタンスから内部システムレベルのメトリクス
- EC2インスタンスのメトリクスに加えて、ゲスト内メトリクス
- オンプレミスサーバーからシステムレベルのメトリクス
- StatsD および collectd プロトコルを使用したカスタムメトリクス
- Linux または Windows Server を実行しているインスタンスおよびオンプレミスサーバーからのログ
対応プロトコル
- StatsD:Linux サーバーと Windows Server の両方でサポート
- collectd:Linux サーバーでのみサポート
AWS CloudTrailによる操作ログ管理
API呼び出しの記録
Amazon EC2 APIはAWS CloudTrailと統合されており、ユーザー、ロール、またはAWSサービスによって実行されたアクションの記録を提供します。CloudTrailは、コンソールから行われた呼び出しを含むすべてのAmazon EC2 API呼び出しをイベントとしてキャプチャします。
記録される情報
- Amazon EC2 APIに対して行われたリクエスト
- リクエストが行われたIPアドレス
- リクエストが行われた時刻
- リクエストを生成したユーザーの身元情報
身元情報の追跡
すべてのイベントまたはログエントリには、リクエストを生成したユーザーに関する情報が含まれており、以下を判断できます:
- ルートユーザーまたはユーザー認証情報でリクエストが行われたかどうか
- IAM Identity Centerユーザーの代わりにリクエストが行われたかどうか
- ロールまたはフェデレーテッドユーザーの一時的なセキュリティ認証情報でリクエストが行われたかどうか
- 別のAWSサービスによってリクエストが行われたかどうか
Event Historyの活用
CloudTrailは、AWSアカウントを作成するとアクティブになり、CloudTrail Event Historyに自動的にアクセスできます。Event Historyは、AWSリージョンで過去90日間に記録された管理イベントの表示、検索、ダウンロード、および不変の記録を提供します。
SSH活動の監査例 EC2 Instance ConnectによるSSH活動をCloudTrailコンソールで監査する手順:
- CloudTrailコンソールを開く
- 正しいリージョンにいることを確認
- ナビゲーションペインで「Event history」を選択
- フィルターで「Event source」、「ec2-instance-connect.amazonaws.com」を選択
- 時間範囲を選択(オプション)
- イベントを更新して表示
AWS Systems Managerによる運用自動化
EC2インスタンスの管理
AWS Systems ManagerでEC2インスタンスを管理するには、ロール、権限、および初期リソースの設定と構成を完了する必要があります。これらのタスクは通常、AWSアカウントおよびシステム管理者によって実行されます。
SSM Agentの役割 SSM AgentはSystems ManagerがEC2インスタンス、エッジデバイス、サーバー、VMを管理できるようにします。エージェントのステータス確認、ログの表示、ルートアクセスの制限などの機能を提供します。
ハイブリッド・マルチクラウド環境
Systems Managerは、Amazon EC2インスタンスとEC2以外のマシンの両方をハイブリッド・マルチクラウド環境で管理できます。オンプレミスマシンの管理と設定を行う場合は、専用のセットアップ手順に従う必要があります。
推奨設定順序
Systems Manager運用で使用するロール、ユーザー、権限、初期リソースを設定する際の推奨順序が提示されており、すべてのSystems Managerツールを使用する準備が整うよう、セクション全体を確認することが推奨されます。
運用管理のベストプラクティス
監視戦略
- 基本モニタリングから開始し、必要に応じて詳細モニタリングを有効化
- CloudWatchエージェントによるカスタムメトリクスの収集
- アラームとダッシュボードの設定による可視化
ログ管理
- CloudTrailによる包括的な監査ログの記録
- CloudWatchエージェントによるアプリケーションログの収集
- ログの長期保存とアーカイブ戦略の策定
自動化の推進
- Systems Managerによる運用タスクの自動化
- パッチ管理とコンプライアンス監視の実装
- インベントリ管理とコンフィギュレーション管理の活用
コスト最適化
- 詳細モニタリングの必要性を定期的に評価
- 不要なメトリクスとログの削除
- 適切な保存期間の設定
引用元:
- https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-cloudwatch.html
- https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-ec2.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-with-cloudtrail.html
- https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
- https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/manage-detailed-monitoring.html
- https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html