ヤマムギ

growing hard days.

*

ヤマムギ vol.10 (AWS)EC2モニタリングハンズオン 手順

   

このブログは2020/5/6に開催しました、「ヤマムギ vol.10 (AWS)EC2モニタリングハンズオン勉強会」の手順です。

「AWSではじめるLinux入門ガイド」出版 & 「AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー」出版一周年記念勉強会を開催しました。

解説は、勉強会内で説明しますので、こちらのブログには手順のみを記載します。

※個人検証向けとしての設定です。

環境準備

デフォルトVPCのEC2にSystemsManager セッションマネージャーから接続します。

AWSアカウントをお持ちでない方は、「ヤマムギ vol.7 AWSアカウント作成 & 最初の設定ハンズオン 手順」をご参考の上、作成してください。

検証用のEC2インスタンスは「ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築 手順」をご参考の上、作成してください。

やること

EC2のCloudWatch Agentをインストールして、カスタムメトリクスと、CloudWatch LogsでSecure Logを収集し、メトリクスフィルタで不正アクセス試行をアラーム検知します。
ダッシュボードも作成します。

IAMロールにポリシーを追加

1). EC2インスタンスに割り当てているIAMロールに、ポリシーを追加します。
追加するポリシーは CloudWatchAgentAdminPolicy にしてください。
“cloudwatchagent”などで検索すると表示されます。
CloudWatchAgentServerPolicyとの違いは、パラメータストアに書き込めるかどうかです。

このハンズオンでは、CloudWatchAgentの設定を、パラメータストアに書き込んで管理しますので、CloudWatchAgentAdminPolicyにします。

CloudWatch Agentのインストール

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築 手順」で起動したEC2インスタンスに、CloudWatch Agentをインストールします。

2). サービスで検索して、SystemsManagerダッシュボードにアクセスします。
“sys”とかで出てきます。

3). 左ペインで[マネージドインスタンス]を選択すると、EC2インスタンスが確認できます。

4). 左ペインで[Run Command]を選択して、[Run command]ボタンを押下します。

5). コマンドドキュメント AWS-ConfigureAWSPackage を選択します。
“AWS-Con”などで検索すると出てきます。

6). ドキュメントのバージョン、Action、Installtion Typeはデフォルトのままです。
Nameに AmazonCloudWatchAgent、Versionに latest と入力します。

7). ターゲットは[インスタンスを手動で選択する]で、インスタンスを直接選択します。

8). 今回は検証なので、S3バケットへの書き込みは、オフにしておきます。
[実行]ボタンを押下します。

9). コマンド実行が成功したことを確認します。

CloudWatch Agentの設定

10). セッションマネージャでEC2インスタンスに接続します。

11). amazon-cloudwatch-agent-config-wizard を実行します。

ここまでデフォルト選択のまますすめてきます。

12). ログの設定です。
サンプルとして、 /var/log/secure と /var/log/messages を指定しました。
他のログファイルをさらに追加して設定してもいいです。

13). パラメータストアに書き込むか、聞かれますのでデフォルトのまま、書き込む設定ですすめて完了です。

必要パッケージのインストール

14). CloudWatchAgentを実行するために必要なパッケージをインストールしておきます。

CloudWatchAgentの開始

SystemsManagerダッシュボードに戻ります。

15). SystemsManager左ペインで[パラメータストア]を確認してみましょう。

16). AmazonCloudWatch-linux が作成されています。

17). 値のセクションを見ると、ターミナルで設定した情報が格納されています。
例えば、モニタリングするログファイルを追加したいときには、この値を編集することで追加できます。

18). 左ペインで[Run Command]を選択して、[Run command]ボタンを押下します。

19). コマンドドキュメントは、 AmazonCloudWatch-ManageAgent を選択します。

20). Optional Configuration Location でパラメータ名 AmazonCloudWatch-linux を入力します。
他はデフォルトです。

21). ターゲットは[インスタンスを手動で選択する]で、インスタンスを直接選択します。

23). 今回は検証なので、S3バケットへの書き込みは、オフにしておきます。
[実行]ボタンを押下します。

24). 成功を確認します。

メトリクスフィルタの作成

25). CloudWatchにアクセスします。

26). ロググループを選択します。

27). secure を選択して、[メトリクスフィルターの作成]ボタンを押下します。

28). フィルターパターンに、 Invalid user と入力して、[メトリクスの割り当て]ボタンを押下します。

29). メトリクス名を任意に設定して、[フィルターの作成]ボタンを押下します。

30). [アラームの作成]を選択します。

31). 条件を「1以上」などにします。

32). 通知先のSNSトピックは、メールエンドポイントをサブスクリプションにしている、既存のSNSトピックがあればそれを利用してもいいですし、新規で作成してもいいです。
新規の場合は、確認メールの承認が必要ですので、受信メールを確認して、Confirmしておきましょう。

33). アラーム名を任意で入力して、[次へ]ボタンを押下して、次の確認画面でアラームを作成します。

ダッシュボードを作成

34). [ダッシュボード]を選択して、[ダッシュボードの作成]ボタンを押下します。

35). ダッシュボード名を任意で入力して、[ダッシュボードの作成]ボタンを押下します。

36). [線]を選択して[設定]ボタンを押下します。

37). メトリクスが選択できます。
CloudWatchAgentによって収集されているカスタムメトリクス「CWAgent」もあります。

38). 例として、[EC2]-[インスタンス別メトリクス]-[CPUUtilization]を選択して、[ウィジェットの作成]ボタンを押下します。

39). 他のメトリクス(例えば、カスタムメトリクスのメモリ使用量など)も、[ウィジェットの追加]ボタンから追加できます。

ウィジェットの追加が完了すれば、[ダッシュボードの保存]ボタンで保存しておきます。

40). 右上の時間設定で、[現地タイムゾーン]が選択できます。

41). 右上の更新設定で、[自動更新]とすることもできます。

動作テストをしてみる

42). セッションマネージャでEC2に接続します。

43). EC2自身のプライベートIPアドレスに対して、存在しないユーザーでsshコマンドを実行してみましょう。
適当にいろんなユーザー名で数回行ってみましょう。

初回の「Are you sure you want to continue connecting (yes/no)? 」メッセージは yes ですすめましょう。

「Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」となります。

44). secureログを確認すると、

45). 「Invalid user」文字列が出力されています。

46). CloudWatchのLogMetricsを確認してみましょう。
(反映が遅れる場合もあります)

47). メトリクス画面から[アクション]-[ダッシュボードに追加]もできます。

48). 例えば、ウィジェットタイプ数値などで追加します。

49). SNSトピックの通知先で設定したメールアドレスに、アラームメールが送信されていることを確認します。

リソースの削除

メトリクス以外は削除できますので、必要なければ忘れないように削除しておきましょう。
カスタムメトリクスは送信が止まれば課金が止まりますので、EC2インスタンスを停止、終了すればOKです。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, event, study ,

ad

ad

  関連記事

実録 JAWS DAYS 2017 ~RoadTrip,スタッフ,ハンズオンメンターで参加しまして~

今年もJAWS DAYSにいってまいりました。 RoadTripの話 去年に引き …

AWS Managed Microsoft ADを構築してユーザー追加まで

事前準備 DNSホスト名と名前解決を有効にしたVPCを作成して、2つのAZにパブ …

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成

本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …

JINS MEME DEVELOPER HANDS-ON #5に行ってきました

世界初、自分を見るアイウェアの「JINS MEME」のSDK勉強会に行ってきまし …

AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)

EC2インスタンスを作成する 少し古い記事で恐縮ですが試したい事があるのでAWS …

「第1回 ぶろぐの勉強会」を開催します!

このブログは2021/3/2開催の「第1回 ぶろぐの勉強会」冒頭挨拶の共有資料代 …

Amazon VPCにオンプレミス検証環境想定プライベートDNSサーバー(BIND)をEC2で起動する

オンプレミス想定の検証で使うために、Amazon VPCにプライベート向けDNS …

Route 53 の加重ラウンドロビンルーティングでロードバランサー

Route 53の加重ラウンドロビンで両方1に設定してみました。 上図はイメージ …

AWS Client VPNのクライアント接続ハンドラを試してみました

AWS Client VPNを設定しましたで証明書とかせっかく作ったので、いろい …

VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した

2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …