Amazon ECSonEC2におけるSysdig Agentインストール

はじめに

こんにちは!クラウド活用推進担当、新人の濱岡です。今回が初めてのブログ投稿となりますが、どうぞよろしくお願いします!


私が配属されてから最初に取り組んだタスクは、Amazon ECSonEC2クラスター内の各ホストにSysdig Agentをコンテナとしてインストールすることでした。Sysdig Agentは、システムのパフォーマンスやセキュリティを監視するための強力なツールです。


このブログでは、そのインストール手順をステップバイステップでご紹介します!

基本的には公式ドキュメントを参照しています!


新人ならではの視点で、できるだけわかりやすく説明していきますので、同じように初めてSysdig Agentを扱う方々の参考になれば幸いです。それでは、始めましょう!

目次

  1. はじめに
  2. 目次
  3. 事前準備
    環境
    タスク定義登録準備
  4. Sysdig Agentのインストール手順
  5. Sysdig Secureでインストール確認
  6. 補足
  7. まとめ
  8. 参考資料

事前準備

環境

  1. AWS上でインストールを進めるための環境を準備します。

    〇VPC設定(インターネットに接続可能なパブリックサブネットを用意)

    〇セキュリティグループの設定(必要に応じて設定)

    インバウンドルール:SSHアクセス用に設定します。

    アウトバウンドルール:デフォルトですべて許可になっています。Sysdig Agentが外部にデータを送信できるように許可しておきます。

    〇IAMロールの適切な設定

    Sysdig AgentをインストールするECSonEC2のホストからタスク定義とAmazon ECSサービス起動するために必要なIAM ポリシーが付与されていることを確認してください。

    AWS ECSサービスを作成するための権限:ecs:CreateService

    AWS ECS タスク定義を登録解除するための権限:ecs:RegisterTaskDefinition

    〇ECSクラスターの設定(EC2起動タイプで設定)

    *詳しいインストール要件は公式ドキュメントを参照ください。

  2. Tera TermをSSHアクセス用にインストールします。
  3. Sysdigアカウント

タスク定義登録準備

Sysdig AgentをインストールするためのECSタスク定義を作成します。

Access KeyとCollectorアドレスを使用し、ドキュメントのJSONスニペットを編集します。

  1. Sysdig Secure Access Keyの確認

    1-1. Sysdig Secureにログイン

    1-2. 画面左側ペインのアカウントアイコンから「Setting」を選択

    1-3. 「Access & Secrets」内の「Agent Access Keys」を選択

    1-4. 「Your Default Agent Key」欄の「Copy」ボタンを押下し、メモ帳などに貼り付け(図1) hamaoka_img01-a.png

    図1)アクセスキーをコピー


  2. Sysdig Collector HostとCollector Portの確認

    2-1. Sysdig Secureにログイン

    2-2. 画面左側ペインのアカウントアイコンから「Help」内の「Secure Documentation」を選択

    2-3. 「Administration」>「SaaS Regions and IP Ranges」に移動
      Document URL: https://docs.sysdig.com/en/docs/administration/saas-regions-and-ip-ranges/

    2-4. 利用しているSysdig SaaSのリージョンを選択。ここではAWS(図2)

    hamaoka_img01-b.png
    図2)SaaS Regions and IP Rangesの画面

    2-5. 「Sysdig Collector」欄の文字列を確認して、メモ帳などに貼り付け(図3)

    hamaoka_img01-c.png
    図3)「Sysdig Collector」欄の文字列を確認

  3. Sysdig Agentのインストールに必要なJsonファイル作成・編集

    3-1. Sysdig Secureにログイン

    3-2. 画面左側ペインのアカウントアイコンから「Help」内の「Secure Documentation」を選択

    3-3. 「Installation」>「Install Agent Components」>「ECS on EC2」に移動
      Document URL:https://docs.sysdig.com/en/docs/sysdig-secure/install-agent-components/install-agent-components/ecs-on-ec2/

    3-4. 記載されているJSONフォーマットのテキストデータをコピーし、メモ帳またはコードエディタに貼り付け(図4) hamaoka_img01-d.png

    図4)JSONフォーマットのテキストデータをコピー

    3-5. 図を参考にしながら指定行を書き換える

      ・7-8行目修正、「クラスター」のサイズによっては"cpu"と"memory"の値の調整が必要(図5)

       参照:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html

      ・13行目修正、先ほどメモ帳に貼り付けたAccess Keyを使用(図5)

      ・17行目修正、先ほどメモ帳に貼り付けたCollector Hostを使用(図5)hamaoka_img01_e_v2.png

    図5)編集例①


      ・53行目後追記、Sysdigの機能であるキャプチャを取得するために /dev/shm ボリュームのサイズ"sharedMemorySize"の値を増やす(図6)hamaoka_img01_f_v3.png

    図6)編集例②

Sysdig Agentのインストール手順

タスク定義をAWSアカウントに登録し、Sysdig Agentをインストール・実行します。

  1. Sysdig AgentをインストールしたいECS on EC2のホスト(EC2)をSSH接続します。
    この記事ではTeraTarmを使用しています。
  2. AWS CLIをインストールします。
    ※Amazon Linuxの場合はapt使えず、RedHat系に該当するため、yumを使用してください。
    参照:https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
    インストールコマンド例:
    sudo yum install -y unzip curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
  3. sysdig-agent-ecs.jsonをviコマンドで作成します。(図7)
    vi sysdig-agent-ecs.json
  4. hamaoka_img01-1.png
    図7)コマンド入力

  5. 収集物-「Sysdig Agentのインストールに必要なJsonファイル作成・編集」で作成したファイルの中身をコピーして貼り付けます。(図8) hamaoka_img01-2.png
    図8)jsonファイルの貼り付け

  6. Sysdig Agentをタスク定義として登録します。(図9)
    タスク定義登録コマンド:
    aws ecs register-task-definition \ --cli-input-json file://sysdig-agent-ecs.json
  7. hamaoka_img01-3.png
    図9)コマンドの入力

  8. 正常にタスク定義が登録できたことを確認し"q"コマンドで終了します。(図10)
    hamaoka_img01-4.png
    図10)"q"コマンド入力後

  9. 登録したタスク定義をAmazon ECSサービスとして実行するコマンドを編集します。<$CLUSTER_NAME>をSysdig Agentインストール予定のAmazon ECSクラスター名に書き換えてください。(図11)
    aws ecs create-service \ --cluster $CLUSTER_NAME \ --service-name sysdig-agent-svc \ --launch-type EC2 \ --task-definition sysdig-agent-ecs \ --scheduling-strategy DAEMON
  10. hamaoka_img01-5.png
    図11)コマンドの入力

  11. 実行し、正常にタスク定義が登録できたことを確認し"q"コマンドで終了します。(図12)
    hamaoka_img01-6.png
    図12)"q"コマンド入力後

  12. 実行後、Amazon Elastic Container Service>クラスター>Sysdigエージェントを起動したクラスター>サービス画面へ移動し、「sysdig-agent-svc」サービスが起動されていることを確認してください。(図13) hamaoka_img01-7.png
    図13)サービスの確認

Sysdig Secureでインストール確認

Sysdig Secure管理ポータルからサービスの起動を確認してみます。

  1. Sysdig Secureにログイン
  2. 画面左側ペインの「Integrations」から「Sysdig Agents」を選択
  3. SUMMARYの「Total Connected Agents」が起動前のトータルから起動した数増えていることを確認(図14) hamaoka_img01-8.png
    図14)Agentの起動数確認

  4. SUMMARYの「∨」を押下し、SUMMARYを閉じる
  5. 起動しているAgent一覧の検索バーにSysdig Agentをインストールしたホスト名を入力し、「Status」が「Up to Date」になっていることを確認(図15) hamaoka_img01-9.png
    図15)Agentの状態確認

補足

これでSysdig Agentのインストールは完了です!!

時間に余裕がある方は、ぜひSysdig Secureのコンポーネントもインストールしてみてください!


以下に、Sysdig Secureの主要なコンポーネントとその簡単な説明をまとめました:

コンポーネント名 機能
ホストスキャナー ホスト全体の脆弱性をスキャンし、潜在的なリスクを特定
ホストアナライザ ホストのセキュリティイベントをリアルタイムで分析し、異常な活動を検出
ラピッドレスポンス セキュリティインシデントに迅速に対応し、被害を最小限に抑えるためのツール
Sysdig CLIスキャナー コマンドラインから直接コンテナイメージをスキャンし、脆弱性をチェック

まとめ

インストール手順を完了したことで、Sysdig Agentを使ってシステムの監視が可能になりました!これにより、システムのパフォーマンスやセキュリティの状況をリアルタイムで把握できるようになります。


(ちょっとだけ感想を)実際に攻撃シナリオを実施しSysdig Scureで警告画面等を確認しました。多くの機能があるため、使いこなすには実践を通じて理解を深めていく必要があると感じました。

またAWS関連になりますが、今回初めてAWS ECSに触ったので、設定やデプロイのプロセスに慣れるのに時間がかかりました。特に、IAM周りでエラーが多発してました。。精進します!!


ここまでお読みいただき、ありがとうございました!

参考資料

Sysdig Secure-公式ドキュメント

インストール要件

ECSonEC2 Sysdig Agentインストール

ホストスキャナーインストール

ホストアナライザインストール

ラピッドレスポンス

Sysdig CLIスキャナー

カテゴリー

クラウド基盤ソリューション