

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `AWSSupport-TroubleshootECSTaskFailedToStart`
<a name="automation-aws-troubleshootecstaskfailedtostart"></a>

 **説明** 

 `AWSSupport-TroubleshootECSTaskFailedToStart` ランブックは、Amazon ECS クラスター内の Amazon Elastic Container Service (Amazon ECS) タスクが起動に失敗した理由をトラブルシューティングするのに役立ちます。このランブックは、起動に失敗したタスク AWS リージョン と同じ で実行する必要があります。ランブックは、タスクの開始を妨げる可能性がある次のような一般的な問題を分析します。
+ 設定済みのコンテナレジストリーへのネットワーク接続
+ タスク実行ロールに必要な IAM 権限の欠落
+ VPC エンドポイント接続
+ セキュリティグループのルール設定
+ AWS Secrets Manager シークレットリファレンス
+ ログ記録の設定

**注記**  
分析の結果、ネットワーク接続をテストする必要があると判断された場合は、Lambda 関数と必要な IAM ロールがアカウントに作成されます。これらのリソースは、失敗したタスクのネットワーク接続をシミュレートするために使用されます。自動化は、不要になったらリソースを削除します。ただし、自動化がリソースの削除に失敗した場合は、手動で削除する必要があります。  
Lambda IAM ロールを指定すると、自動化は新しいロールを作成する代わりにそのロールを使用します。提供された Lambda IAM ロールには、 AWS 管理ポリシーが含まれ`AWSLambdaVPCAccessExecutionRole`、Lambda サービスプリンシパル による引き受けを許可する信頼ポリシーが必要です`lambda.amazonaws.com`。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootECSTaskFailedToStart) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ LambdaRoleArn

  タイプ: 文字列

  説明: (オプション) 関数が必要な AWS サービスとリソースにアクセスできるようにする AWS Lambda IAM ロールの ARN。ロールが指定されていない場合、この Systems Manager Automation は、管理ポリシー `NetworkToolSSMRunbookExecution<ExecutionId>` を含む名前でアカウントに Lambda の IAM ロールを 1 つ作成します`AWSLambdaVPCAccessExecutionRole`。
+ ClusterName

  タイプ: 文字列

  説明: (必須) タスクが起動に失敗した Amazon ECS クラスターの名前。
+ CloudwatchRetentionPeriod

  タイプ: 整数

  説明: (オプション) Lambda 関数ログが Amazon CloudWatch Logs に保存されるまでの保持期間 (日単位)。これが必要なのは、分析の結果、ネットワーク接続をテストする必要があると判断された場合のみです。

  有効な値: 1 \$1 3 \$1 5 \$1 7 \$1 14 \$1 30 \$1 60 \$1 90

  デフォルト: 30
+ TaskId

  タイプ: 文字列

  説明: (必須) 失敗したタスクの ID。最後に失敗したタスクを使用してください。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ `cloudtrail:LookupEvents`
+ `ec2:DeleteNetworkInterface`
+ `ec2:DescribeDhcpOptions`
+ `ec2:DescribeInstances`
+ `ec2:DescribeInstanceAttribute`
+ `ec2:DescribeIamInstanceProfileAssociations`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeNetworkAcls`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribeRouteTables`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcEndpoints`
+ `ec2:DescribeVpcs`
+ `ec2:DescribeVpcAttribute`
+ `elasticfilesystem:DescribeFileSystems`
+ `elasticfilesystem:DescribeMountTargets`
+ `elasticfilesystem:DescribeMountTargetSecurityGroups`
+ `elasticfilesystem:DescribeFileSystemPolicy`
+ `ecr:DescribeImages`
+ `ecr:GetRepositoryPolicy`
+ `ecs:DescribeContainerInstances`
+ `ecs:DescribeServices`
+ `ecs:DescribeTaskDefinition`
+ `ecs:DescribeTasks`
+ `iam:AttachRolePolicy`
+ `iam:CreateRole`
+ `iam:DeleteRole`
+ `iam:DetachRolePolicy`
+ `iam:GetInstanceProfile`
+ `iam:GetRole`
+ `iam:ListRoles`
+ `iam:ListUsers`
+ `iam:PassRole`
+ `iam:SimulateCustomPolicy`
+ `iam:SimulatePrincipalPolicy`
+ `kms:DescribeKey`
+ `lambda:CreateFunction`
+ `lambda:DeleteFunction`
+ `lambda:GetFunctionConfiguration`
+ `lambda:InvokeFunction`
+ `lambda:TagResource`
+ `logs:DescribeLogGroups`
+ `logs:PutRetentionPolicy`
+ `secretsmanager:DescribeSecret`
+ `ssm:DescribeParameters`
+ `sts:GetCallerIdentity`

`LambdaRoleArn` が指定されている場合、オートメーションはロールを作成する必要はなく、次のアクセス許可を除外できます。
+  `iam:CreateRole` 
+  `iam:DeleteRole` 
+  `iam:AttachRolePolicy` 
+  `iam:DetachRolePolicy` 

 **ドキュメントステップ** 
+  `aws:executeScript` - 自動化を開始したユーザーまたはロールに必要な IAM 権限があることを確認します。このランブックを使用するための十分な権限がない場合は、不足している必須権限が自動化の出力に含まれます。
+ `aws:branch` - ランブックに必要なすべてのアクションに対する権限があるかどうかに基づいて分岐させます。
+ `aws:executeScript` - 分析によりネットワーク接続をテストする必要があると判断された場合は、VPC に Lambda 関数を作成します。
+ `aws:branch` - 前のステップの結果に基づいて分岐させます。
+ `aws:executeScript` - タスクの起動に失敗した潜在的原因を分析します。
+ `aws:executeScript` - この自動化によって作成されたリソースを削除します。
+ `aws:executeScript` - 分析結果をコンソールに返すように自動化の出力をフォーマットします。このステップの後、自動化が完了する前に分析を確認できます。
+ `aws:branch` - Lambda 関数と関連リソースが作成され、削除する必要があるかどうかに基づいて分岐させます。
+ `aws:sleep` - 30 分間スリープ状態になるため、Lambda 関数の エラスティックネットワークインターフェイスを削除できます。
+ `aws:executeScript` - Lambda 関数のネットワークインターフェイスを削除します。
+ `aws:executeScript` - Lambda 関数のネットワークインターフェイス削除ステップの出力をフォーマットします。