

# 排查 Amazon ECS ResourceInitializationError 错误
<a name="resource-initialization-error"></a>

以下是一些 `ResourceInitialization` 错误消息和可以用来修复错误的操作。

要使用 AWS 管理控制台 检查已停止的任务是否有错误消息，请参阅 [查看 Amazon ECS 已停止任务错误](stopped-task-errors.md)。

**Topics**
+ [任务无法从 Amazon ECR 提取注册表身份验证。任务与 Amazon ECR 之间存在连接问题。请检查任务网络配置。](#unable-to-pull-secrets-ecr)
+ [任务无法从 Amazon S3 下载环境变量文件。任务与 Amazon S3 之间存在连接问题。请检查任务网络配置。](#failed-to-download-env-files)
+ [任务无法从 AWS Systems Manager Parameter Store 中提取密钥。检查任务与 AWS Systems Manager 之间的网络连接。](#unable-to-pull-secrets-sys-manager)
+ [任务无法从 AWS Secrets Manager 中提取密钥。任务与 Secrets Manager 之间存在连接问题。请检查任务网络配置。](#unable-to-pull-secrets-asm-no-arn)
+ [任务无法从 Secrets Manager 中提取密钥。任务无法从 Secrets Manager 中检索到 ARN 为“*secretARN*”的密钥。请检查指定区域中是否存在该密钥。](#unable-to-pull-secrets-asm)
+ [pull command failed: unable to pull secrets or registry auth Check your task network configuration.](#pull-command-failed)
+ [任务无法找到任务定义中定义的 Amazon CloudWatch 日志组。任务与 Amazon CloudWatch 之间存在连接问题。请检查网络配置。](#failed-to-initialize-logging-network)
+ [无法初始化日志记录驱动程序](#failed-to-initialize-logging)
+ [无法调用 EFS utils 命令来设置 EFS 卷](#efs-utils-failed)

## 任务无法从 Amazon ECR 提取注册表身份验证。任务与 Amazon ECR 之间存在连接问题。请检查任务网络配置。
<a name="unable-to-pull-secrets-ecr"></a>

此错误表明任务无法连接到 Amazon ECR。

检查任务与 Amazon ECR 之间的连接。有关信息，请参阅[验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。

## 任务无法从 Amazon S3 下载环境变量文件。任务与 Amazon S3 之间存在连接问题。请检查任务网络配置。
<a name="failed-to-download-env-files"></a>

当任务无法从 Amazon S3 下载环境文件时，则会出现此错误。

检查任务与 Amazon S3 VPC 端点之间的连接。有关信息，请参阅[验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。

## 任务无法从 AWS Systems Manager Parameter Store 中提取密钥。检查任务与 AWS Systems Manager 之间的网络连接。
<a name="unable-to-pull-secrets-sys-manager"></a>

当任务无法使用 Systems Manager 中的凭证拉取任务定义中定义的映像时，将出现此错误。

检查任务与 Systems Manager VPC 端点之间的连接。有关信息，请参阅[验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。

## 任务无法从 AWS Secrets Manager 中提取密钥。任务与 Secrets Manager 之间存在连接问题。请检查任务网络配置。
<a name="unable-to-pull-secrets-asm-no-arn"></a>

当任务无法使用 Secrets Manager 中的凭证拉取任务定义中定义的映像时，将出现此错误。

此错误表明 Systems Manager VPC 端点与任务之间的网络连接存在问题。

有关如何验证任务与端点之间的连接的信息，请参阅 [验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。

## 任务无法从 Secrets Manager 中提取密钥。任务无法从 Secrets Manager 中检索到 ARN 为“*secretARN*”的密钥。请检查指定区域中是否存在该密钥。
<a name="unable-to-pull-secrets-asm"></a>

当任务无法使用 Secrets Manager 中的凭证拉取任务定义中定义的映像时，将出现此错误。

可能导致此问题的原因如下：


| 错误原因... | 请执行此操作... | 
| --- | --- | 
|   Secrets Manager VPC 端点与任务之间的网络连接问题。 在错误消息中看到以下任何字符串时，则说明问题属于网络问题： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonECS/latest/developerguide/resource-initialization-error.html)  |  验证任务与 Secrets Manager 端点之间的连接。有关更多信息，请参阅 [验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。  | 
| 任务定义中定义的任务执行角色不具有 Secrets Manager 的权限。 |  将所需 Secrets Manager 权限添加到任务执行角色。有关更多信息，请参阅 [Secrets Manager 或 Systems Manager 权限](task_execution_IAM_role.md#task-execution-secrets)。  | 
| 密钥 ARN 不存在 | 检查 Secrets Manager 中是否存在该 ARN。有关查看映像的信息，请参阅《Secrets Manager 开发人员指南》中的 [Find secrets in Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html)。 | 

## pull command failed: unable to pull secrets or registry auth Check your task network configuration.
<a name="pull-command-failed"></a>

当任务无法连接到 Amazon ECR、Systems Manager 或 Secrets Manager 时，会出现此错误。这是由于网络配置错误造成的。

要修复此问题，请验证任务与 Amazon ECR 之间的连接。您还需要检查任务和存储密钥的服务（Systems Manager 或 Secrets Manager）之间的连接。有关更多信息，请参阅 [验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。

## 任务无法找到任务定义中定义的 Amazon CloudWatch 日志组。任务与 Amazon CloudWatch 之间存在连接问题。请检查网络配置。
<a name="failed-to-initialize-logging-network"></a>

当您的任务无法找到您在任务定义中定义的 CloudWatch 日志组时，将发生此错误。

此错误表明 CloudWatch VPC 端点与任务之间的网络连接存在问题。

有关如何验证任务与端点之间的连接的信息，请参阅 [验证 Amazon ECS 已停止任务连接](verify-connectivity.md)。

## 无法初始化日志记录驱动程序
<a name="failed-to-initialize-logging"></a>

当您的任务无法找到您在任务定义中定义的 CloudWatch 日志组时，将发生此错误。

此错误指示任务定义中的 CloudWatch 组不存在。

使用以下步骤查找缺失的 CloudWatch。

1. 运行以下命令，获取任务定义信息。

   ```
   aws ecs describe-task-definition \ 
       --task-definition task-def-name
   ```

   查看每个容器的输出并记下其 `awslogs-group` 值。

   ```
   "logConfiguration": {
                   "logDriver": "awslogs",
                   "options": {
                       "awslogs-group": "/ecs/example-group",
                       "awslogs-create-group": "true",
                       "awslogs-region": "us-east-1",
                       "awslogs-stream-prefix": "ecs"
                   },
   ```

1. 验证组在 CloudWatch 中存在。有关更多信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的[使用日志组和日志流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)。

   问题可能是任务定义中指定的组不正确，或者日志组不存在。

1. 修复问题。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonECS/latest/developerguide/resource-initialization-error.html)

## 无法调用 EFS utils 命令来设置 EFS 卷
<a name="efs-utils-failed"></a>

以下问题可能会阻止您在任务中挂载 Amazon EFS 卷：
+ Amazon EFS 文件系统配置不正确。
+ 该任务没有所需的权限。
+ 存在与网络和 VPC 配置有关的问题。

 有关如何调试和修复此问题的信息，请参阅 AWS re:Post 上的[为什么我无法在 AWS Fargate 任务上挂载 Amazon EFS 卷](https://repost.aws/knowledge-center/fargate-unable-to-mount-efs)。