「InvalidInstanceId:」というエラーは、対象のEC2インスタンスがAWS Systems Manager のマネージドノードとして管理されていない場合に発生します。
EC2インスタンスでAWS Systems Managerが動作しているかどうかをAWSマネジメントコンソールのフリートマネージャーから確認し、動作していない場合は別途AWS Systems Managerのセットアップを行ってください。
また、本アクションは、対象のEC2インスタンスをタグで指定した場合に1つでも AWS Systems Managerが動作しないインスタンスがあると、ジョブ自体が「Invalid InstanceId」エラーとなり、Failedとなってしまいます。したがって、タグによるEC2インスタンスの指定をおこなった場合はすべてのEC2インスタンスがAWS Systems Managerが動作する状態であることをご確認ください。
AWS Systems Managerが動作するかどうかの確認手順
- AWSマネジメントコンソールにサインインします
- 「すべてのサービス」から「Systems Manager」を選択します
- 左メニューから「フリートマネージャー」を選択します
- マネージドノードの中に対象のインスタンスが表示され、「Pingステータス」がオンラインになっていることを確認する
EC2インスタンスでAWS Systems Managerが動作していない場合
EC2インスタンスでAWS Systems Managerが動作していない場合は、AWS Systems Manager のセットアップにしたがってセットアップを行ってください。
セットアップが完了し、EC2インスタンスが以下の条件を満たしていると「EC2: インスタンスでコマンドを実行」アクションが利用できます。
- EC2インスタンスにSSMエージェントがインストールされていること
※SSM エージェント の使用に記載されているように、最近ローンチされたEC2インスタンスであれば多くの場合はプリインストールされています。 - EC2インスタンスがインターネットまたはSSMのエンドポイントに接続性があること
- EC2インスタンスに「AmazonSSMManagedInstanceCore」ポリシーが付与されているIAMロールがアタッチされていること(※コマンドのログをAmazon S3に出力する場合はさらにS3のポリシーが必要です。)