ブログ

AWS Fleet Manager とは?リモート管理をもっとシンプルに

サーバーやインスタンスの運用管理は、多くのエンジニアにとって日常的な業務の一つです。しかし、サーバー台数が増えるにつれて、接続や監視、ログ確認といった作業は煩雑になりがちです。

AWSでは、こうした課題を解決するためにAWS Fleet Managerという便利なサービスを提供しています。

今回はAWS Fleet Managerの概要、機能、メリット、実際の使い方までをわかりやすく解説します。

AWS Fleet Managerとは?

AWS Fleet Managerとは

AWS Fleet Managerは、AWS Systems Managerの一機能として提供されている、インスタンスやサーバー群をリモートで一元管理できるサービスです。EC2インスタンスやオンプレミスのサーバーを対象に、ブラウザ上からGUI操作で監視・操作ができるため、従来のようにSSHやRDPでログインする必要がなくなります。

特に、運用管理チームにとっては、セキュリティの確保と作業効率化の両立が求められる中で、Fleet Managerは強力なツールとなっています。

AWS Fleet Managerの主な機能

AWS Fleet Managerには、以下のような便利な機能が用意されています。

ファイルシステムの閲覧・編集

サーバーのディレクトリ構造をGUIで確認し、ファイルの閲覧やアップロード、削除などが可能です。またシステムログやアプリケーションログを直接確認でき、問題発生時の初動調査にも役立ちます。

プロセスの監視・管理

現在動作しているプロセスの一覧を表示し、必要に応じてプロセスの停止なども行えます。

レジストリやサービスの管理(Windows)

Windowsインスタンスに対しては、レジストリやサービスの状態も確認・変更できます。

リモートコンソールアクセス(Session Manager統合)

ブラウザ経由でシェルやRDPアクセスが可能です。IAMやCloudTrailと連携することで、高いセキュリティとトレーサビリティを実現します。

ユーザー管理

インスタンス内のユーザーアカウントの一覧を表示し、アカウントの有効化・無効化を行えます。

ストレージ管理

インスタンスのストレージ情報(ディスク使用率など)の可視化やボリュームの状態チェックを行えます。

メトリクスとパフォーマンス監視

CPU、メモリー、ディスク使用率を可視化し、CloudWatchなどと統合して詳細なモニタリングが可能です。

AWS Fleet Managerのメリット

エージェントレスでの管理  

AWS Systems Manager エージェント(SSM Agent)を利用するため、追加のソフトウェアを導入する必要がありません(事前に SSM Agent のインストールが必要ですが、AWSが提供する最新のAMIには予めインストールされています)

セキュアな管理  

SSH や RDP を開放せずにインスタンスを管理できるため、セキュリティリスクを低減できます。

複数インスタンスを一括管理  

複数の AWS リージョン、アカウントのEC2を管理できる他、オンプレミスサーバーも管理可能です。

トラブルシューティングの迅速化

ファイル、ログ、プロセス情報にすぐアクセスできるため、障害対応がスピードアップします。

無償利用可能

AWS Fleet Manager 自体には料金はかかりません。

VPCエンドポイントやNATゲートウェイを利用する場合はそれらのリソースの料金が発生します。

AWS Fleet Managerの使い方

事前準備

以下3つの設定が事前に必要です。不備があるとAWS Fleet Managerのコンソール画面でインスタンスが表示されませんのでご注意ください。

  1. EC2にSSM Agentがインストールされていること
  2. EC2にポリシー「AmazonSSMManagedInstanceCore」を付与したIAMロールを付与すること(付与後にSSM Agent再起動必要)
  3. EC2からアウトバウンドでインターネットに出られること(インターネットゲートウェイ、NATゲートウェイ)、もしくはVPCエンドポイントを使用すること

▼必要なVPCエンドポイント

com.amazonaws.ap-northeast-1.ssm
com.amazonaws.ap-northeast-1.ssmmessages
com.amazonaws.ap-northeast-1.ec2messages
※SGはhttpsのインバウンドを許可する必要があります。

AWS Systems Manager から Fleet Manager にアクセス

AWS マネジメントコンソールから「Systems Manager」→「Fleet Manager」を選択することで対象のインスタンスが一覧表示されます。各インスタンスをクリックして詳細情報を確認・管理可能です。

必要なIAMポリシー

AWS Fleet Manager専用のポリシーを適用します。なおWindowsの場合はリモートデスクトップ用のポリシーとして下記が追加で必要となります。

ssm-guiconnect:CancelConnection
ssm-guiconnect:GetConnection
ssm-guiconnect:StartConnection
※SSMのフルアクセス権限でもRDPは不可なので上記はSSM機能とは別に提供されている

▼AWS Fleet Managerフルアクセス用IAMポリシー

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"EC2",
         "Effect":"Allow",
         "Action":[
            "ec2:CreateTags",
            "ec2:DeleteTags",
            "ec2:DescribeInstances",
            "ec2:DescribeTags"
         ],
         "Resource":"*"
      },
      {
         "Sid":"General",
         "Effect":"Allow",
         "Action":[
            "ssm:AddTagsToResource",
            "ssm:DescribeInstanceAssociationsStatus",
            "ssm:DescribeInstancePatches",
            "ssm:DescribeInstancePatchStates",
            "ssm:DescribeInstanceProperties",
            "ssm:GetCommandInvocation",
            "ssm:GetServiceSetting",                
            "ssm:GetInventorySchema",
            "ssm:ListComplianceItems",
            "ssm:ListInventoryEntries",
            "ssm:ListTagsForResource",
            "ssm:ListCommandInvocations",
            "ssm:ListAssociations",
            "ssm:RemoveTagsFromResource"
         ],
         "Resource":"*"
      },
      {
            "Sid":"DefaultHostManagement",
            "Effect": "Allow",
            "Action": [
                "ssm:ResetServiceSetting",
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::account-id:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ssm.amazonaws.com"
                    ]
                }
            }
      },
      {
         "Sid":"SendCommand",
         "Effect":"Allow",
         "Action":[
            "ssm:GetDocument",
            "ssm:SendCommand",
            "ssm:StartSession"
         ],
         "Resource":[
            "arn:aws:ec2:*:account-id:instance/*",
            "arn:aws:ssm:*:account-id:managed-instance/*",
            "arn:aws:ssm:*:account-id:document/SSM-SessionManagerRunShell",
            "arn:aws:ssm:*:*:document/AWS-PasswordReset",
            "arn:aws:ssm:*:*:document/AWSFleetManager-AddUsersToGroups",
            "arn:aws:ssm:*:*:document/AWSFleetManager-CopyFileSystemItem",
            "arn:aws:ssm:*:*:document/AWSFleetManager-CreateDirectory",
            "arn:aws:ssm:*:*:document/AWSFleetManager-CreateGroup",
            "arn:aws:ssm:*:*:document/AWSFleetManager-CreateUser",
            "arn:aws:ssm:*:*:document/AWSFleetManager-CreateUserInteractive",
            "arn:aws:ssm:*:*:document/AWSFleetManager-CreateWindowsRegistryKey",
            "arn:aws:ssm:*:*:document/AWSFleetManager-DeleteFileSystemItem",
            "arn:aws:ssm:*:*:document/AWSFleetManager-DeleteGroup",
            "arn:aws:ssm:*:*:document/AWSFleetManager-DeleteUser",
            "arn:aws:ssm:*:*:document/AWSFleetManager-DeleteWindowsRegistryKey",
            "arn:aws:ssm:*:*:document/AWSFleetManager-DeleteWindowsRegistryValue",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetDiskInformation",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetFileContent",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetFileSystemContent",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetGroups",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetPerformanceCounters",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetProcessDetails",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetUsers",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetWindowsEvents",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetWindowsRegistryContent",
            "arn:aws:ssm:*:*:document/AWSFleetManager-MountVolume",
            "arn:aws:ssm:*:*:document/AWSFleetManager-MoveFileSystemItem",
            "arn:aws:ssm:*:*:document/AWSFleetManager-RemoveUsersFromGroups",
            "arn:aws:ssm:*:*:document/AWSFleetManager-RenameFileSystemItem",
            "arn:aws:ssm:*:*:document/AWSFleetManager-SetWindowsRegistryValue",
            "arn:aws:ssm:*:*:document/AWSFleetManager-StartProcess",
            "arn:aws:ssm:*:*:document/AWSFleetManager-TerminateProcess"
         ]
      },
      {
         "Sid":"TerminateSession",
         "Effect":"Allow",
         "Action":[
            "ssm:TerminateSession"
         ],
         "Resource":"*",
         "Condition": {
            "StringLike":{
               "ssm:resourceTag/aws:ssmmessages:session-id":[
                  "${aws:userid}"
               ]
            }
         }
      }
   ]
}

▼AWS Fleet Manager読み取り用IAMポリシー

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"EC2",
         "Effect":"Allow",
         "Action":[
            "ec2:DescribeInstances",
            "ec2:DescribeTags"
         ],
         "Resource":"*"
      },
      {
         "Sid":"General",
         "Effect":"Allow",
         "Action":[
            "ssm:DescribeInstanceAssociationsStatus",
            "ssm:DescribeInstancePatches",
            "ssm:DescribeInstancePatchStates",
            "ssm:DescribeInstanceProperties",
            "ssm:GetCommandInvocation",
            "ssm:GetServiceSetting",
            "ssm:GetInventorySchema",
            "ssm:ListComplianceItems",
            "ssm:ListInventoryEntries",
            "ssm:ListTagsForResource",
            "ssm:ListCommandInvocations",
            "ssm:ListAssociations"
         ],
         "Resource":"*"
      },
      {
         "Sid":"SendCommand",
         "Effect":"Allow",
         "Action":[
            "ssm:GetDocument",
            "ssm:SendCommand",
            "ssm:StartSession"
         ],
         "Resource":[
            "arn:aws:ec2:*:account-id:instance/*",
            "arn:aws:ssm:*:account-id:managed-instance/*",
            "arn:aws:ssm:*:account-id:document/SSM-SessionManagerRunShell",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetDiskInformation",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetFileContent",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetFileSystemContent",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetGroups",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetPerformanceCounters",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetProcessDetails",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetUsers",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetWindowsEvents",
            "arn:aws:ssm:*:*:document/AWSFleetManager-GetWindowsRegistryContent"
         ]
      },
      {
         "Sid":"TerminateSession",
         "Effect":"Allow",
         "Action":[
            "ssm:TerminateSession"
         ],
         "Resource":"*",
         "Condition": {
            "StringLike":{
               "ssm:resourceTag/aws:ssmmessages:session-id":[
                  "${aws:userid}"
               ]
            }
         }
      }
   ]
}

最後に

AWS Fleet Managerは、インフラ運用の効率化とセキュリティ強化を両立できる非常に便利なサービスです。SSHやRDPのような従来の接続手段を使わず、ブラウザから直感的にサーバー管理ができる点が大きな魅力です。

特に複数台のサーバーを扱う環境では、Fleet Managerの導入によって作業の可視化・簡略化が進み、運用負荷を大きく軽減できます。まだ使ったことがない方は、ぜひ一度試してみてはいかがでしょうか?

元記事発行日: 2025年11月12日、最終更新日: 2025年11月05日