AWS Systems Manager Distributorを使ってWindowsインスタンスにCloud Oneエージェントをインストールしてみた

AWS Systems Manager Distributorを使って、Cloud One Workload Securityエージェントを複数台のWindowsインスタンスにインストールしてみました。
2022.07.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、AWS事業本部@福岡オフィスのべこみん(@beco_minn)です。

今回はインストールスクリプトを使わずに、Windows インスタンスへCloud One Workload Security エージェントをインストールする方法を紹介します。

やってみたのはこちら。

AWS Systems Manager(AWS SSM) Distributor という機能を使って複数台のインスタンスにエージェントをインストールしてみます。

いきなりまとめ

  • AWS-ConfigureAWSPackage コマンドで TrendMicro-CloudOne-WorkloadSecurity パッケージをインストールすることで、インストールスクリプトを使わずにCloud One Workload Security エージェントをWindows インスタンスにインストール可能
  • 複数台のインスタンスに一括で実行可能
  • スケジュール設定も可能なため、定期的に更新する設定にすることで常にエージェントを最新の状態に保てる

やってみた

作業工程は以下。一部パラメータ確認の作業を除いて、すべてAWS コンソール上で作業を行います。

  • IAM ロールの作成
  • インスタンスの作成
  • パラメータの作成
  • AWS SSM で関連付けの作成

IAM ロールの作成

まずはAWS SSM で使用するIAM ロールを作成します。

既に同様のIAM ロールがある方はそちらのロールをご使用頂いても構いません。

信頼されたエンティティで EC2 を選択。

AmazonSSMManagedInstanceCore を許可ポリシーとして追加。

最後のステップでロール名を入力し、ロールを作成しましょう。

インスタンスの作成

今回のターゲットとなるWindows インスタンスを作成しましょう。台数は何台でも構いません。

先ほど作成したIAM ロールを付与し、インスタンス内のAWS SSM エージェントが利用可能な状態にしてください。

AWS SSM の使用が初めての方は以下のブログを軽くご覧いただくと良いかもしれません。

また、今回私は各インスタンスに c1ws:trueというタグを付与しました。

パラメータの作成

SSM Distributor の実行に必要なC1WS のパラメータをパラメータストアに作成します。

作成するパラメータは以下

Name
dsActivationUrl dsm://agents.workload."リージョンID".cloudone.trendmicro.com:443/
日本リージョンであれば、dsm://agents.workload.jp-1.cloudone.trendmicro.com:443/
dsManagerUrl https://workload."リージョンID".cloudone.trendmicro.com:443
日本リージョンであれば、https://workload.jp-1.cloudone.trendmicro.com:443
dsTenantId Workload Security コンソールで、[サポート情報]→[インストールスクリプト]の順に選択します。生成されたスクリプトの一番下まで移動し、 tenantID をコピーします。
dsToken Workload Security コンソールで、[サポート情報]→[インストールスクリプト]の順に選択します。生成されたスクリプトの一番下まで移動し、 token をコピーします。

引用:https://cloudone.trendmicro.com/docs/jp/workload-security/aws-systems-manager/

パラメータストアでパラメータを作成。タイプはすべて String で作成しました。

Cloud One のリージョンID はアカウントの設定(https://cloudone.trendmicro.com/management/account-properties)から確認出来ます。 日本リージョンであれば jp-1 ですね。

dsManagerUrl は末尾にスラッシュを付けてしまうとエラーになってしまうのでご注意ください。 dsActivationUrl は末尾にスラッシュを付けてください。

tenantIDtoken はインストールスクリプトの最下部あたりに記載されています。それぞれコロン( : )の後に乱数が表示されていますので、その乱数をパラメータとして登録してください。

AWS SSM Distributor で関連付けの作成

AWS SSM Distributor(https://ap-northeast-1.console.aws.amazon.com/systems-manager/distributor?region=ap-northeast-1)に移動します。

コンソール左にあるサイドバーだと「ノード管理」の下に「ディストリビューター」があります。

サードパーティーのパッケージである TrendMicro-CloudOne-WorkloadSecurity を選択し、「スケジュールへのインストール」をクリックします。

すると関連付けの作成画面が開くので、必要な項目を入力していきます。

私が今回設定したのは以下の項目です。

  • 名前
    • 任意の名前を入力してください。
  • パラメータ
    • Installation Type を In-place update にします。この設定にしておくことで、アップデートが発生している際中にもエージェントは利用可能となります。
  • ターゲットの選択
    • 今回私は3台のインスタンスに c1ws:true というタグを付け、ターゲットはタグ指定を選択しました。実際の運用でもタグ指定が使いやすいのではないでしょうか。

上記以外はデフォルトで関連付けの作成を行います。

今回はデフォルトのままにしましたが、この関連付けを実行する適当なスケジュールを指定することでCloud One エージェントを常に最新の状態に保つことが出来ます。

また、関連付けの作成後すぐに関連付けは実行されます。

結果

作成後すぐに行われた関連付けは無事に3台とも成功したようです。

CloudOne コンソール上から確認するとエージェントからの通信が成功し、3台のインスタンスが管理対象になっていました。

最後に

今回初めてAWS SSM Distributor を使ってみたのですが、複数台のインスタンスに同時にパッケージを配布/更新する際には非常に便利な機能ですね。運用も楽になりますし、対象インスタンスの台数が多ければ多いほど使いたくなる機能です。

パラメータ作成の手間はあるものの、複数台のインスタンスにインストールスクリプトを流す手間に比べればそこまで手間ではないですね。

今回はWindows インスタンスが対象でしたが、機会があればAmazon Linux インスタンスなどの検証も行ってみたいです。その際は改めてブログにします。

本記事がどなたかのお役に立てれば幸いです。

以上、べこみんでした。