EC2で作成したRHEL9系のサーバに CloudWatch Agent を導入した際のメモです。
【前提条件】
・TeraTermなどでEC2にアクセスできる
・EC2に CloudWatch Agent を使用するためのロールをアタッチしている
・IAMの「セキュリティ認証情報」でアクセスキーの作成が完了している
※RHELはRedHatにユーザー登録の上、サブスクリプション登録(商用でなければ無料)しないと公式リポジトリが使用できません。
何かと面倒なため、必要なパッケージは個別にダウンロードして持ってくる方式としています。
1.CloudWatch Agent の rpm 入手
ここではAWS公式ドキュメントから CloudWatch Agent パッケージをダウンロード、EC2にアップロードしてからインストール、設定、起動するまでの手順をメモします。
▼CloudWatch Agent の rpm 入手先:コマンドラインを使用して CloudWatch エージェントをダウンロードおよび設定する(AWS公式)
記載されている対象OSのダウンローリンクから「amazon-cloudwatch-agent.rpm」をサクッと落としてきます。
2.EC2へのアップロード
Windowsを利用している前提で、TeraTermの「File > SSH SCP」からEC2の適当なディレクトリにファイルを送信します。(画像ではローカルのダウンロードフォルダから、EC2の「/home/ec2-user」にファイルを送信。)

3.CloudWatch Agent のインストールと設定
(1)以下のコマンドで CloudWatch Agent をインストールします。
sudo rpm -U ./amazon-cloudwatch-agent.rpm
(2)インストール完了後、 CloudWatch Agent のウィザード設定に進みます。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
※設定については以下の記事を参考にしました。少々古い記事のため、デフォルト値や設定項目は異なります。
参考: AWSでCloudWatchエージェントを入れてみた #SSM – Qiita
※設定の最後の方で「AWS Access Key」と「AWS Secret Key」の入力を求められます。
あらかじめ「IAM」の「ユーザー > セキュリティ認証情報 > アクセスキーの作成」からアクセスキーを作成しておきましょう。
もちろん、必要になったタイミングで作成するのでもOKです。
※AWSの公式ページも参考になるようなならないような…。
参考:ウィザードを使用して CloudWatch エージェント設定ファイルを作成する
4.CloudWatch Agent を起動
(1)前項までの設定が完了したら以下のコマンドで CloudWatch Agent を起動しましょう。
sudo systemctl start amazon-cloudwatch-agent
(2)以下のコマンドで CloudWatch Agent が正常に起動したか確認しましょう。
sudo systemctl status amazon-cloudwatch-agent

※この記事では CloudWatch Agent の自動起動設定については触れていません。後ほど追記予定。
5.正常に起動しない場合
設定ファイルが正常に作成されていない場合や、設定ファイルのパーミッションに問題がある場合、サービス起動コマンドを実行してもステータス確認画面で「Active: inactive (dead)」と表示されます。
この場合、CloudWatch Agent は正常に起動できていません。設定をやり直すか、ファイルのパーミッションの見直しが必要です。
私も一度ハマりましたが、長くなるため省略します。
大体の場合は上記3の(2)に戻り、設定をやり直すことで解決すると思います。
以上!
コメント