スキップしてコンテンツを表示

Amazon EC2 Windows インスタンスで SSM Agent を起動できない理由を教えてください。

所要時間2分
0

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで AWS Systems Manager Agent (SSM Agent) を起動できません。

解決策

注: EC2 インスタンスにマネージドノードに必要な設定があるかどうかを判断するには、ssm-cli バージョン 3.1.501.0 以降を使用するのがベストプラクティスです。詳細については、「ssm-cli を使用したマネージドノードの可用性のトラブルシューティング」を参照してください。

IAM ロールに必要なアクセス許可があることを確認する

インスタンスの AWS Identity and Access Management (IAM) ロールには、AWS Systems Manager エンドポイントへの API コールを行うために必要なアクセス許可が必要です。AmazonSSMManagedInstanceCore ポリシーをロールに添付するか、カスタムポリシーに AmazonSSMManagedInstanceCore に記載されているすべてのアクセス許可が含まれていることを確認してください。

また、ロールの信頼ポリシーで ec2.amazonaws.com がロールを引き継ぐことを許可していることも確認してください。

信頼ポリシーの例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com",
                    "ssm.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

SSM Agent がインスタンスのメタデータにアクセスできることを確認する

SSM Agent はインスタンスのメタデータサービスと通信して、インスタンスに関する必要な情報を取得する必要があります。インスタンスのメタデータにアクセスするには、実行中のインスタンス内のブラウザを使用します。

インスタンスメタデータサービスバージョン 2 (IMDSv2) を使用している場合は、オペレーティングシステム (OS) に応じて次のコマンドを実行します。

Linux:

TOKEN=curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/

Windows:

[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token

Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/

注: 詳細については、「インスタンスメタデータサービスバージョン 2 の仕組み」を参照してください。

メタデータにアクセスできない場合は、Windows PowerShell またはコマンドプロンプトから次のコマンドを実行します。

route print

出力に 169.254.169.254 へのルートがあることを確認します。

出力例:

Persistent Routes:     
Network Address     Netmask             Gateway Address     Metric  
169.254.169.254     255.255.255.255     172.31.16.1         15  
169.254.169.250     255.255.255.255     172.31.16.1         15  
169.254.169.251     255.255.255.255     172.31.16.1         15  
169.254.169.249     255.255.255.255     172.31.16.1         15  
169.254.169.123     255.255.255.255     172.31.16.1         15  
169.254.169.253     255.255.255.255     172.31.16.1         15

ルートが存在しない場合、またはゲートウェイアドレスが現在のサブネットと一致しない場合は、次のいずれかの手順を実行します。

  • 次のコマンドを実行してルートを手動で追加します。

    route add -p 169.254.169.254 mask 255.255.255.255 0.0.0.0

    注: 0.0.0.0 をインスタンスのゲートウェイアドレスに置き換えてください。

  • インスタンスが EC2Launch v1 を使用している場合は、管理者特権の Windows PowerShell セッションから次のコマンドを実行して、メタデータルートを追加します。

    import-Module c:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psm1 ; Add-Routes
  • インスタンスが EC2Launch v2 または EC2Config を使用している場合は、次のコマンドを実行してサービスを再起動します。

    Restart-Service -Name EC2Launch

    注: 上記のコマンドは、メタデータサービスに到達するように非永続的な静的ルートを設定します。

ルートは存在するがインスタンスがメタデータを取得できない場合は、インスタンスのファイアウォールまたはウイルス対策設定が 169.254.169.254 へのトラフィックを明示的に拒否していないことを確認してください。詳細については、「Amazon EC2 Windows インスタンスで "Waiting for the metadata service" エラーが発生する場合のトラブルシューティング方法を教えてください」を参照してください。

インスタンスが必要なエンドポイントに接続できることを確認する

インスタンスがポート 443 の Systems Manager エンドポイントに接続できることを確認するには、次の Windows PowerShell コマンドを実行します。

Test-NetConnection ssm.RegionID.amazonaws.com -port 443
Test-NetConnection ec2messages.RegionID.amazonaws.com -port 443
Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443

注: RegionID をインスタンスの AWS リージョンに置き換えてください。

インスタンスがポート 443 に接続できない場合は、インスタンスが属するサブネットのタイプに基づいて次のアクションを実行します。

パブリックサブネット

Systems Manager にはパブリックエンドポイントがあるため、インスタンスはインターネットゲートウェイを使用してインターネットに接続する必要があります。インスタンスのルートテーブルにインターネットへのルートが含まれていることを確認してください。また、Amazon Virtual Private Cloud (Amazon VPC) セキュリティグループとネットワークアクセスコントロールリスト (ネットワーク ACL) で、ポート 443 でのアウトバウンド接続が許可されていることを確認してください。

プライベートサブネット

プライベートサブネットの場合、インスタンスは NAT ゲートウェイを使用してインターネットに接続する必要があります。または、Amazon VPC エンドポイントを Systems Manager エンドポイントに到達するように設定する必要があります。

ネットワーク設定要件の詳細については、「使用している Amazon EC2 インスタンスが、Systems Manager でマネージドインスタンスとして表示されない原因を教えてください」を参照してください。

プロキシ設定を確認する

プロキシを使用する場合、SSM Agent の起動時に Systems Manager がプロキシ設定を評価してエージェント設定に適用します。SSM Agent がプロキシを使用するように正しく設定されていることを確認してください。

SSM Agent のアップグレード

最新の SSM Agent バージョンをダウンロードしてインストールするのがベストプラクティスです。SSM Agent の最新バージョンを確認するには、GitHub のウェブサイトの「aws/amazon-ssm-agent Releases」(aws/amazon-ssm-agent リリース) を参照してください。

その他の問題のトラブルシューティング

それでもインスタンスがエージェントを起動できない場合は、SSM Agent ログを確認して、トラブルシューティングが必要なエラーを特定します。

AWS公式更新しました 7ヶ月前
1コメント

This article was reviewed and updated on 2026-02-18.

エキスパート

応答済み 1ヶ月前

関連するコンテンツ