ヤマムギ

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認定クラウドプラクティショナー 改訂第3版」という本を書きました。

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

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

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

 - AWS, event, study ,

ad

ad

  関連記事

AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した

以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングして …

VPN接続先のADで管理されているドメインにEC2 Windowsインスタンスから参加する

オンプレミスに見立てたオハイオリージョンにVyOSインスタンスを起動して東京リー …

CloudFormationドリフト検出

CloudFormationスタックのドリフト検出を確認しました。 CloudF …

S3オブジェクトロックを試しました

S3オブジェクトロックが必要になる要件に今のところ、出会ってないのでまだ設定した …

AWS Organizations組織の移動

AWS Organizations組織の移動 やりたいことは、Organizat …

Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

「Fin-JAWS 第13回 PCI DSS と AWS の混ぜご飯」リモート開催に参加しました

Youtube Liveでリモート開催の「Fin-JAWS 第13回 PCI D …

Alexa Day 2018にサポーターの中の人として(初)参加しました

2018/2/11に神戸三ノ宮のスペースアルファ三宮で開催されたAlexa Da …

ある意味マネジメントコンソールで生成された署名付きURL

マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …

前からできましたっけ??CloudWatch Logsの保持設定を複数まとめて設定

AWSの個人アカウントで要らなさそうなリソースの断捨離をしてます。 CloudW …