【ITニュース解説】Deploying Agents on Windows & Linux Without SSH Using AWS SSM and Parameter Store
2025年09月04日に「Dev.to」が公開したITニュース「Deploying Agents on Windows & Linux Without SSH Using AWS SSM and Parameter Store」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
AWS Systems Manager(SSM)とParameter Storeで、SSHやRDPを使わずにWindows/LinuxにCloudWatchエージェントを導入する方法を紹介。エージェント設定をParameter Storeに保存し、SSMのRun Commandでエージェントをインストール、設定を適用。ポート開放が不要でセキュリティが高まり、設定を一元管理できる。CloudWatchでカスタムメトリクスも収集可能。
ITニュース解説
AWS Systems Manager (SSM) と Parameter Store を使用して、SSHやRDPを使わずにWindowsおよびLinuxインスタンスにエージェントをデプロイする方法について解説する。従来のSSHやRDP経由でのサーバアクセスは、エージェントのインストールや設定において、拡張性とセキュリティの面で課題があった。SSMを利用することで、これらの課題を解決し、セキュアかつ効率的なサーバ管理が可能になる。
この方法の利点は、まずセキュリティの向上だ。インバウンドポート(22/3389)を開放する必要がないため、攻撃対象領域を減らし、セキュリティを強化できる。次に、設定の一元管理だ。CloudWatch Agentの設定をParameter Storeに保存することで、複数インスタンスの設定を容易に管理できる。さらに、LinuxとWindowsの両方に対応したクロスプラットフォームサポートを提供し、全てのアクションはCloudTrailに記録されるため、監査も容易だ。
具体的な手順は以下の通り。まず、前提条件として、AWS上でEC2インスタンス(LinuxまたはWindows)が稼働している必要がある。また、SSM Agentがインストールされている必要がある。Amazon Linux 2、Ubuntu 20.04以降、Windows Server 2016以降では、SSM Agentはプリインストールされている。インスタンスには、適切なIAMロール(AmazonSSMManagedInstanceCoreとCloudWatchAgentServerPolicy)がアタッチされている必要がある。
次に、CloudWatch Agentの設定ファイル(JSON形式)を作成する。LinuxとWindowsで異なる設定が必要になる。設定ファイルでは、メトリクスの収集間隔、名前空間、収集するメトリクスなどを定義する。例えば、Linuxの場合、CPU使用率、メモリ使用率、ディスク使用率、ネットワーク統計などを収集するように設定できる。Windowsの場合、論理ディスクの空き容量、メモリ使用量、ページングファイル使用量、CPU使用率などを収集するように設定できる。
作成した設定ファイルをParameter Storeに保存する。AWSコンソールからSystems Managerを開き、Parameter Storeを選択し、パラメータを作成する。パラメータ名は、例えば/CloudWatch/AgentConfig/Linuxのように、分かりやすい名前をつける。パラメータのタイプはStringまたはStringListを選択し、値としてJSON形式の設定ファイルを貼り付ける。Windows用の設定も同様に作成する。
次に、SSMを使ってCloudWatch Agentをインストールする。Systems ManagerのRun Command機能を使用し、AWS-ConfigureAWSPackageドキュメントを選択する。ターゲットとして、EC2インスタンスを選択し、アクションをInstall、名前をAmazonCloudWatchAgentと指定する。これにより、CloudWatch Agentがサイレントインストールされる。
最後に、Parameter Storeに保存した設定ファイルをCloudWatch Agentに適用する。再びRun Commandを使用し、AmazonCloudWatch-ManageAgentドキュメントを選択する。インスタンスを選択し、モードをec2に設定する。オプション設定の場所として、Parameter Storeのパス(/CloudWatch/AgentConfig/Linuxまたは/CloudWatch/AgentConfig/Windows)を入力する。Run Commandを実行すると、エージェントはParameter Storeから設定を読み込み、メトリクスの収集を開始する。
カスタムメトリクスが正常に収集されていることを確認するには、CloudWatchコンソールを開き、メトリクスセクションを参照する。定義した名前空間(例えばDDCWAgent)の下に、システムメトリクスとカスタムメトリクスが表示されるはずだ。
このように、SSM、Parameter Store、CloudWatch Agentを組み合わせることで、SSH/RDPなしでエージェントを管理し、設定を一元的に保存し、システムメトリクスとカスタムメトリクスの両方をCloudWatchに収集できる。このアプローチは、運用コストを削減し、セキュリティと可観測性を向上させる。初心者システムエンジニアでも、AWSのマネージドサービスを組み合わせることで、より安全で効率的なシステム運用が可能になることを理解できるだろう。