0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS初心者向け】CloudWatch完全ガイド:破産を防ぐコスト管理からCPU・メモリ監視まで

Posted at

AWSを使い始めて最初にぶつかる壁、それが**「監視(Monitoring)」「コスト管理」**です。

  • 「気づいたら高額請求が来ていた…」
  • 「サーバーが落ちたのに気づかなかった…」
  • 「メモリ不足っぽいけど、どこで見ればいいの?」

これらを解決するのが Amazon CloudWatch です。
この記事では、公式ドキュメントの内容をベースに、初心者が最初にやっておくべき「請求アラーム」の設定から、基本の「CPU監視」、そして少し高度な**「メモリ監視」**の手順までを徹底解説します。

1. Amazon CloudWatch とは?

AWSリソースやアプリケーションを**「監視」**するためのサービスです。
AWS上のサーバー(EC2)やデータベース(RDS)からデータを収集し、グラフ化したり、異常検知時にメールを飛ばしたりできます。

料金と無料枠

CloudWatchは従量課金制ですが、強力な無料枠があります。

  • 基本モニタリング: 無料(5分間隔のデータ)
  • アラーム: 10個まで無料
  • ダッシュボード: 3つまで無料

まずはこの無料枠の範囲内で、最低限の守りを固めましょう。


2. 【必須】請求アラームを設定しよう

AWS学習者の最初の一歩は「サーバーを立てること」ではなく、**「予算オーバーを検知する仕組みを作ること」**です。

なぜ必要なのか?

AWSは従量課金のため、設定ミス(高価なインスタンスの消し忘れなど)が高額請求に直結します。これを防ぐために「請求額が $10 を超えたらメールする」という設定を行います。

設定手順

注意: 請求メトリクスは、米国東部 (バージニア北部) us-east-1 リージョンでのみ管理されています。コンソール右上のリージョン選択を必ず切り替えてください。

  1. CloudWatchコンソールを開き、リージョンを「バージニア北部 (us-east-1)」に変更。
  2. 左メニュー [アラーム] > [すべてのアラーム] > [アラームの作成] をクリック。
  3. [メトリクスの選択] > [Billing] > [概算合計請求額] を選択。
  4. EstimatedCharges (通貨: USD) にチェックを入れて [メトリクスの選択]
  5. 条件:
    • 「静的」
    • 「…よりも」
    • しきい値: 10 (10ドルを超えたら通知)
  6. 通知設定:
    • 「新しいトピックの作成」を選択し、あなたのメールアドレスを入力。
  7. 作成完了:
    • 入力したメールアドレスに届く 「Confirm subscription」 リンクを必ずクリックして承認してください(これを忘れると通知が届きません)。

3. CPU使用率の監視(標準機能)

EC2インスタンスなどのCPU使用率は、何も設定しなくても最初から見ることができます。これは、AWSが「仮想マシンの外側」からCPUの稼働状況を把握できるためです。

確認方法

  1. EC2コンソールで対象のインスタンスを選択。
  2. 下のタブメニューから [モニタリング] をクリック。
  3. 「CPU使用率 (CPU Utilization)」 グラフを確認。

アラーム設定例

「CPUが80%を超えたらメール通知」という設定も簡単です。

  1. CloudWatch > [アラームの作成]。
  2. [EC2] > [インスタンス別メトリクス] > 対象の CPUUtilization を選択。
  3. 条件: 80 よりも大きい。
  4. 通知先: 先ほど作成した請求アラームと同じトピック(メールアドレス)を選択。

4. メモリ使用率の監視(要:CloudWatch Agent)

ここが初心者がつまづくポイントです。
「EC2のモニタリングタブを見ても、メモリ使用率のグラフがない!」

なぜ見れないのか?

AWSはセキュリティ上、OSの中身(メモリ空間やディスクの使用率など)に関与できません。そのため、外側からでは「メモリがどれくらい使われているか」は分からない仕様になっています。

これを見るには、サーバー内部に**「CloudWatch Agent」**というスパイ役(エージェントソフト)をインストールして、内側からデータをAWSへ送信する必要があります。

設定手順 (Amazon Linux 2023 / Amazon Linux 2 の場合)

Step 1: EC2に権限(IAMロール)を与える

エージェントがCloudWatchにデータを書き込めるよう許可を与えます。

  1. IAMコンソールで [ロールを作成]
  2. ユースケース: EC2 を選択。
  3. 許可ポリシー: CloudWatchAgentServerPolicy を検索してアタッチ。
  4. ロール名(例: CWAgentRole)を付けて作成。
  5. EC2コンソールに戻り、対象インスタンスを右クリック > [セキュリティ] > [IAMロールを変更] で、作成したロールを割り当てる。

Step 2: エージェントのインストール

EC2にSSH等で接続し、以下のコマンドを実行します。

# インストール
sudo dnf install amazon-cloudwatch-agent -y
# (Amazon Linux 2の場合は sudo yum install ...)

Step 3: 設定ウィザードの実行

対話形式で設定ファイルを作成します。

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

多くの質問が表示されますが、基本的にはすべて Enterキー(デフォルト選択) で進めてOKです。
ただし、以下の質問だけは必ず確認してください。

Do you want to monitor metrics from host? (ホストのメトリクスを監視しますか?)
-> 1. yes を選択

Step 4: エージェントの起動

設定を読み込んでエージェントを起動します。

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

確認方法

数分待つと、CloudWatchコンソールの [メトリクス] 画面に 「CWAgent」 という新しい項目(カスタム名前空間)が登場します。
この中の mem_used_percent がメモリ使用率です。


5. まとめと注意点

監視項目 難易度 必要な作業 料金
請求 必須 バージニア北部でアラーム作成 無料枠内 (通常)
CPU 簡単 標準で見れる 無料
メモリ 中級 Agent導入とIAM設定 有料 (カスタムメトリクス)

⚠️ 料金の注意点

メモリ監視のためにAgentから送られるデータは「カスタムメトリクス」扱いとなり、無料枠を超えると課金対象になります(1メトリクスあたり $0.3/月 程度)。
学習用で一時的に試す分には数円程度ですが、大量のサーバーで設定したまま放置しないよう注意しましょう。

まずは「請求アラーム」だけは今すぐ設定して、安全なAWSライフをスタートさせてください!


参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?