◆記事概要
AWSのSystem Manegar(以下SSM)でCloudWatchをインストール、メトリクスの取得を行ってみました。
やったことは、
①EC2インスタンス(Amazon Linux2)の作成
②IAMロールの作成・アタッチ
③SSMでEC2インスタンスへのCloudWatchAgentインストール
④EC2インスタンスでのCloudWatchAgentインストール
⑤CloudWatchメトリクスでの確認
になります。
◆筆者情報・取得資格
AWSは実務未経験、オンプレミスのインフラ経験が2年あります。
AWSの資格はAWS SAA→AWS SAP→AWS DVAの順に取得しました。
今回の検証が初めてのAWSコンソールの使用になります。
◆本文
★EC2インスタンス(Amazon Linux2)の作成
EC2インスタンスの作成を行っていきます。今回OSは、Amazon Linux2を選択しました。
キーペア、VPCは未作成だったので、新しく作成しました。
注意する箇所として、セキュリティグループのインバウンド設定を設定します。
今回はインスタンス接続のために、SSHのインバウンド接続をすべて許可しました。
すべての設定が終わったら、「インスタンスを起動」を押下してインスタンスを作成します。
★IAMロールの作成・アタッチ
メインコンソールから、「IAM」を検索、ロールを作成します。
信頼されたエンティティタイプを「AWSのサービス」、ユースケースを「EC2」を選択します。
ロールにアタッチするポリシーを選択します。
以下の3つです。
・AmazonSSMManagedInstanceCore
・CloudWatchAgentAdminPolicy
・AmazonS3FullAccess
最後にIAMロールの名前を入力し、ロールを作成します。
自分のインスタンスを選択し、「IAMロールを変更」で作成したロールをEC2インスタンスにアタッチします。
IAMロールのアタッチの何分後かに権限が反映されます。
中々権限がインスタンスに反映されなかったので、筆者はインスタンスを再起動したら権限が適応されました。
★SSMでEC2インスタンスへのCloudWatchAgentインストール
メインコンソールから、「Systems Manager」を選択し、「RunCommand」→画面右上の「RunCommand」を押下します。
「AWS-ConfigureAWSPackage」を選択します。
インストールするパッケージは 「AmazonCloudWatchAgent」です。Name欄に入力します。
ターゲットに自分の作成したインスタンスが表示されるので選択します。もし自分のインスタンスが表示されないなら、IAMロールやセキュリティグループを見直してください。
一番下までスクロールし、「実行」を押下するとコマンドが実行されます。コマンドのステータスが成功になっているのを確認します。
★EC2インスタンスでのCloudWatchAgentインストール
EC2インスタンスに接続し、Amazon LinuxにCloudWatchAgentをインストールします。
インストールコマンド
インストール内容はこちらのサイトを参考にしました。
Amazon CloudWatchエージェントのセットアップ方法(Linux) | Tech ブログ | サーバ運用保守・運用監視なら JIG-SAW OPS
設定ファイルの更新処理
$ 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
サービス再起動
$ sudo systemctl stop amazon-cloudwatch-agent.service
$ sudo systemctl start amazon-cloudwatch-agent.service
★CloudWatchメトリクスでの確認
メインコンソールから、「CloudWatch」→「すべてのメトリクス」→「AWAgent」へ進みます。
◆まとめ・最後に
初めてAWSに触りましたが、直観的に分かり易く、操作が難しいということはありませんでした。
最初は、資格の知識と実際の構築が結びつかなくて、セキュリティグループやロールの適用で苦労しました。
AWSはシェアが多い分、ネットでの参考記事が多いので、クラウド未経験からでも意外と楽しく検証できるかもしれません。
次は、WEB三層システムの構築を行ってみたいと思います。