Systems Manager Automation のトラブルシューティング
AWS Systems Manager の一機能である AWS Systems Manager Automation に問題が生じた場合にトラブルシューティングする際は、次の情報が役立ちます。このトピックには、自動化エラーメッセージにおける問題を解決するための特定のタスクが含まれます。
一般的な自動化エラー
このセクションでは、一般的な自動化エラーについて説明します。
VPC not defined 400
デフォルトでは、オートメーションが AWS-UpdateLinuxAmi
ランブックまたは AWS-UpdateWindowsAmi
ランブックを実行すると、システムはデフォルト VPC (172.30.0.0/16) に一時インスタンスを作成します。デフォルト VPC を削除した場合、次のエラーが発生します。
VPC not defined 400
この問題を解決するには、SubnetId
入力パラメータに値を指定する必要があります。
自動化の実行開始の失敗
AWS Identity and Access Management (IAM) ロール、オートメーションのポリシーが正しく設定されていない場合、オートメーションはアクセス拒否エラーまたは無効な継承ロールエラーによって失敗する可能性があります。
アクセスが拒否されました
次の例では、オートメーションがアクセス拒否エラーによって失敗した状態を説明します。
Systems Manager API へのアクセスが拒否されました
エラーメッセージ: User:
user arn isn't authorized to perform: ssm:StartAutomationExecution on
resource: document arn (Service: AWSSimpleSystemsManagement; Status
Code: 400; Error Code: AccessDeniedException; Request ID:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
-
考えられる原因 1: オートメーションを開始しようとしているユーザーに、
StartAutomationExecution
API を呼び出すアクセス許可がない。この問題を解決するには、オートメーションを開始するために使用されるユーザーに、必要な IAM ポリシーをアタッチします。 -
考えられる原因 2: オートメーションを開始しようとしているユーザーに
StartAutomationExecution
API を呼び出すアクセス許可があるが、特定のランブックを使用して API を呼び出すアクセス許可がない。この問題を解決するには、オートメーションを開始するために使用されるユーザーに、必要な IAM ポリシーをアタッチします。
PassRole 許可がないことによるアクセスの拒否
エラーメッセージ: User:
user arn isn't authorized to perform: iam:PassRole on resource:
automation assume role arn (Service: AWSSimpleSystemsManagement; Status
Code: 400; Error Code: AccessDeniedException; Request ID:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
オートメーションを開始しようとしているユーザーに、ロールを継承するための PassRole 許可がない。この問題を解決するには、オートメーションを開始しようとしているユーザーのロールに、iam:PassRole ポリシーをアタッチします。詳細については、「タスク 2: iam:PassRole ポリシーをオートメーションロールにアタッチする」を参照してください。
無効な継承ロール
自動化を実行するとき、継承ロールはランブックで提供されるか、あるいはランブックにパラメータ値として渡されます。継承ロールが指定されていない、あるいは正しく設定されていない場合、複数の種類のエラーが発生することがあります。
形式が正しくない継承ロール
エラーメッセージ: The
format of the supplied assume role ARN isn't valid.
継承ロールが不適切にフォーマットされている。この問題を解決するには、ランブックで有効な継承ロールが指定されていること、あるいは自動化を開始するときにランタイムパラメータとして指定されていることを確認します。
継承ロールが継承されない
エラーメッセージ: The
defined assume role is unable to be assumed. (Service:
AWSSimpleSystemsManagement; Status Code: 400; Error Code:
InvalidAutomationExecutionParametersException; Request ID:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
-
考えられる原因 1: 継承ロールが存在しない。この問題を解決するには、ロールを作成します。詳細については、「」を参照してくださいオートメーションの設定 このロールを作成するための詳細は、このトピック 「タスク 1: 自動化のサービスロールを作成する」で説明されています。
-
考えられる原因 2: 継承ロールに Systems Manager サービスとの信頼関係がない。この問題を解決するには、信頼関係を作成します。詳細については、IAM ユーザーガイドの「ロールを引き受けることができない」を参照してください。
実行は開始するが、ステータスが失敗になる
アクション固有の失敗
ランブックには、ステップとステップの実行が順番に含まれています。各ステップは、1 つまたは複数の AWS サービス API を起動します。この API は、ステップの入力、動作、出力を決定します。エラーによって 1 つのステップが失敗する可能性のある複数の場所があります。失敗メッセージは、いつどこでエラーが発生したかを示します。
Amazon Elastic Compute Cloud (Amazon EC2) コンソールで失敗メッセージを表示するには、失敗したステップの [出力を表示] リンクを選択します。AWS CLI から失敗メッセージを表示するには、get-automation-execution
を呼び出して、失敗した FailureMessage
から StepExecution
属性を検索します。
次の例では、aws:runInstance
アクションに関連付けられたステップが失敗しています。それぞれの例では、異なる種類のエラーを示しています。
イメージの欠落
エラーメッセージ: Automation Step Execution fails when it's launching the instance(s).
Get Exception from RunInstances API of ec2 Service. Exception Message
from RunInstances API: [The image id '[ami id]' doesn't exist (Service:
AmazonEC2; Status Code: 400; Error Code: InvalidAMIID.NotFound; Request
ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)]. Please refer to Automation
Service Troubleshooting Guide for more diagnosis details.
aws:runInstances
アクションは、存在しない ImageId
への入力を受信しました。この問題を解決するには、適切な AMI ID を使用してランブックまたはパラメータ値を更新します。
継承ロールポリシーに十分なアクセス許可がない
エラーメッセージ: Automation Step Execution fails when it's launching the instance(s).
Get Exception from RunInstances API of ec2 Service. Exception Message
from RunInstances API: [You aren't authorized to perform this operation.
Encoded authorization failure message: xxxxxxx (Service: AmazonEC2;
Status Code: 403; Error Code: UnauthorizedOperation; Request ID:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)]. Please refer to Automation
Service Troubleshooting Guide for more diagnosis details.
継承ロールに、EC2 インスタンスで RunInstances
API を呼び出す十分なアクセス許可がありません。この問題を解決するには、継承ロールに RunInstances
API を呼び出すアクセス許可がある継承ロールに IAM ポリシーをアタッチします。詳細については、「コンソールを使用して Automation 用のサービスロールを作成する」を参照してください。
予期できないステート
エラーメッセージ: Step
fails when it's verifying launched instance(s) are ready to be used.
Instance i-xxxxxxxxx entered unexpected state: shutting-down. Please
refer to Automation Service Troubleshooting Guide for more diagnosis
details.
-
考えられる原因 1: インスタンスまたは Amazon EC2 サービスに問題がある。この問題を解決するには、インスタンスにログインするか、インスタンスシステムログを参照して、インスタンスがシャットダウンするようになった原因を検索します。
-
考えられる原因 2:
aws:runInstances
アクションに指定されるユーザーデータスクリプトに問題があるか、あるいは正しくない構文がある。ユーザーデータスクリプトの構文を確認します。また、ユーザーデータスクリプトがインスタンスをシャットダウンしていない、あるいはインスタンスをシャットダウンするその他のスクリプトを呼び出していないかも確認します。
アクション固有の失敗リフェレンス
ステップが失敗すると、失敗発生時にどのサービスが呼び出されたかが失敗のメッセージに示されることもあります。次の表は、各アクションによって呼び出されるサービスを一覧表示します。また、この表にはそれぞれのサービスの情報へのリンクも提供しています。
アクション | このアクションによって呼び出される AWS サービス | このサービスについての情報 | トラブルシューティングのコンテンツ |
---|---|---|---|
|
Amazon EC2 |
||
|
Amazon EC2 |
||
|
Systems Manager |
||
|
Amazon EC2 |
||
|
AWS CloudFormation |
AWS CloudFormation のトラブルシューティング |
|
|
AWS CloudFormation |
AWS CloudFormation のトラブルシューティング |
|
|
Amazon EC2 |
||
|
Amazon EC2 |
||
|
Amazon EC2、Systems Manager |
||
|
AWS Lambda |
自動化サービス内部エラー
エラーメッセージ: Internal
Server Error. Please refer to Automation Service Troubleshooting Guide for
more diagnosis details.
自動化サービスに関する問題は、特定のランブックが正常に実行されることに影響を及ぼします。この問題を解決するには、 にお問い合わせくださいAWS Support 可能な範囲で、実行 ID とカスタマー ID をご用意ください。
実行は開始するが、タイムアウトになる
エラーメッセージ: Step timed out
while step is verifying launched instance(s) are ready to be used. Please refer
to Automation Service Troubleshooting Guide for more diagnosis
details.
aws:runInstances
アクションのステップがタイムアウトになります。これは、ステップで timeoutSeconds
に指定された値よりステップアクションの実行に時間がかかる場合に発生します。この問題を解決するには、aws:runInstances
アクションで timeoutSeconds
パラメータにより長い時間を指定してください。問題が解決しない場合は、ステップが予期される時間より長くかかる原因を診断します。