LoginSignup
5
6

More than 1 year has passed since last update.

AWS Systems Manager の Fleet Manager で EC2 インスタンスのパフォーマンスカウンターを見る

Last updated at Posted at 2022-08-06

AWS エバンジェリストシリーズ AWSの基礎を学ぼう特別編 Systems Managerその1に参加し、AWS Systems Manager (以下、SSM)で Fleet Manager (以下、フリートマネージャー)を触った。

セッションマネージャーは触ったことがあるが、フリートマネージャーについてはあまり知らなかったので、別途調査したことと、ハンズオン後半で躓いたEC2 インスタンスのパフォーマンスカウンター閲覧 (に必要な KMS でのセッション暗号化)について記載する。

1.Fleet とは(自己解釈)

Weblio 英和辞典さんによると

fleet
【名詞】艦隊、海軍、船団、隊、団
【形容詞】速い,快速の.

「サーバーフリート」という言葉はインスタンスセット、インスタンスの集まりを表すようなので、「サーバー群の管理」というような意味である模様。

2.SSM の フリートマネージャー とは

  • フリートマネージャーは SSM の機能の一つ
  • AWS またはオンプレミスで実行されているノードをリモートで管理
  • AWS マネジメントコンソールからサーバーフリート全体の正常性とパフォーマンスステータスを表示
  • 個々のノードからデータを収集し、コンソールから一般的なトラブルシューティングと管理タスクを実行
  • リモートデスクトッププロトコル (RDP) を使用した Windows インスタンスへの接続、フォルダとファイルのコンテンツの表示、Windows レジストリの管理、オペレーティングシステムのユーザー管理などが可能

2-1.セッションマネージャーとフリートマネージャーの違い

どちらも共に、SSM の機能の一種で、以下の特徴がある。

  • SSH ポート 22 や RDP ポート 443 などを開放せずに、サーバをリモートで管理できる
  • SSM Agent のインストールが必要
  • 管理するサーバ側で SSM にアクセスするための権限(IAM ロール)が必要
  • SSM に接続する通信経路の確保が必要
  • SSM Agent のインストール・通信経路が確保されていればオンプレミスのサーバも管理できる

以下、軽く触ってみた私の個人的な見解だが

セッションマネージャー

  • Windows Server への接続は CUI となる

フリートマネージャー

  • Windows Server へ RDP 接続できる
  • AWS マネジメントコンソール上で以下情報を参照できる
    • (Windows の場合)Windows イベントログ、Windows レジストリ
    • パフォーマンスカウンター
    • ファイルシステム
    • プロセス新規
    • ユーザーとグループ

3.使い方

日本語のハンズオンがあるので貼っておく。

3-1.フリートマネージャーで EC2 インスタンスのパフォーマンスカウンターを見る

今回の構成
image.png

3-1-1.フリートマネージャーで EC2 インスタンスのパフォーマンスカウンターを見る際の仕組み

  • フリートマネージャーは、セッションマネージャーを使用してパフォーマンスデータを取得する
    • つまりセッションマネージャーを利用するための準備が必要
  • セッションマネージャーで EC2 インスタンスに接続するための準備
    • SSM へのアクセス権限 (AmazonSSMManagedInstanceCore) がある IAM ロールをEC2 インスタンスに付与
    • SSM (セッションマネージャー) から EC2 インスタンスへの通信経路確保
      • 今回は VPC 内のパブリックサブネットに配置した EC2 インスタンスに、Internet Gateway 経由で接続する

image.png

3-1-2.なぜ KMS で暗号化するのか?

3-1-3.何を暗号化するのか?

セッションデータの KMS キー暗号化を有効にする (コンソール)を参照すると、「マネージドノードと AWS アカウント内のユーザーのローカルマシン間で送信されるセッションデータが、KMS キー暗号化プログラムで暗号化される」と記載されている。

実際は end-to-end の共通鍵暗号化で、SSM Agent から SSM へのデータの受け渡し通信だけが暗号化されるわけではないとのこと。
(例えば S3 などへの保存も暗号化された状態。セッションマネージャー関連のデータ全般が暗号化されるという感じ)
image.png

ちなみに、 AWS クラウド内の通信は、パブリックIP 同士であってもデフォルトで TLS 1.2 暗号化が提供されている。
参考:Q:2 つのインスタンスがパブリック IP アドレスを使用して通信する場合、またはインスタンスがパブリックな AWS のサービスエンドポイントと通信する場合、トラフィックはインターネットを経由しますか?

AWS KMS で作成したキーでセッションデータを暗号化するオプションを使用する場合、SSM SSM Agent バージョン 2.3.539.0 以降がインストールされている必要がある。

KMS キーは EC2 インスタンス側で使えるように、キーユーザーに EC2 インスタンスに付与した IAM ロールを指定しておく。
image.png

3-2.フリートマネージャーで EC2 インスタンスに接続する

3-2-1.IAM ロールの作成

  • IAM マネジメントコンソールに移動
  • ロールを作成
    • 信頼されたエンティティタイプ:AWS のサービス
    • ユースケース:EC2
    • 次へ
  • 許可を追加
    • 管理ポリシーである AmazonSSMManagedInstanceCore をチェック
    • 次へ
  • ロール名を指定してロールを作成
    image.png

3-2-2.EC2 インスタンスの作成(今回は Windows )

  • EC2 マネジメントコンソールに移動
  • インスタンスを起動
    • 名前とタグで任意の名前を記入
    • アプリケーションおよび OS イメージ (Amazon マシンイメージ)で Windows を選択
    • 任意のキーペアを指定
    • ネットワーク設定
      • 今回はデフォルトの VPC のパブリックサブネットを選択(デフォルト)
      • ファイアウォール (セキュリティグループ)で新規セキュリティグループを作成、インバウンドの許可ルールは不要なので何も設定しない
      • アウトバウンドの HTTPS アクセスが制限されていなければ、インバウンドの許可は不要
        image.png
    • 高度な詳細を展開
      • IAM インスタンスプロフィールで「3-2-1.IAM ロールの作成」で作成した IAM ロールを選択する
    • インスタンスを起動

3-2-3.SSM フリートマネージャーで接続確認

  • SSM マネジメントコンソールに移動
  • 画面左のナビゲーションペインでフリートマネージャーを選択
  • 起動した Windows Server にチェックを入れ [ノードアクション] - [リモートデスクトップ (RDP) との連携]
    image.png
  • キーペアを選択し、connect
    image.png
  • Windows の GUI が表示される
    image.png
  • フリートマネージャーでは IME 日本語設定しても日本語が入力できない難点がある。手元のローカル端末からコピペすることはできる。
    image.png

3-3.フリートマネージャーで パフォーマンスカウンターを確認する

3-3-1.KMS 暗号化キーを作成

  • KMS マネジメントコンソールに移動
  • 画面左のナビゲーションペインでカスタマー管理型のキーを選択し[キーの作成]
    • [キーのタイプ][キーの使用]はそのまま次へ
    • エイリアスに任意の文字列を入力し次へ
    • キー管理者で任意の IAM ユーザを選択し次へ
    • キーの使用アクセス許可を定義「3-2-1.IAM ロールの作成」で作成した IAM ロールを選択し次へ
    • 完了

3-3-2.セッションマネージャーで暗号化を有効化

  • SSM マネジメントコンソールに移動
  • 画面左のナビゲーションペインでフリートマネージャーを選択
  • 起動した Windows Server のノード ID リンクをクリック
  • 「パフォーマンスカウンター」を選択するとエラーになる。エラー内の「セッション設定」をクリックする
    image.png
  • セッションマネージャーの設定画面が開く
    • KMS encryption が Disable になっているのが確認できる
    • 編集をクリックする
      image.png
  • 「KMS encryption」で「Enable KMS encryption」にチェックを入れ、「3-2-5.KMS 暗号化キーを作成」で作成したキーを選択
    image.png
  • 画面下部の「保存」をクリックする

3-3-3.フリートマネージャーで パフォーマンスカウンターを確認する

  • SSM マネジメントコンソールに移動
  • 画面左のナビゲーションペインでフリートマネージャーを選択
  • 起動した Windows Server のノード ID リンクをクリック
  • 「パフォーマンスカウンター」を選択すると、パフォーマンスカウンターが確認できるようになっている
    image.png

参考

5
6
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
5
6