

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 对 API 请求错误进行故障排除
<a name="query-api-troubleshooting"></a>

在 Amazon EC2 查询 API 中，错误代码被指示为客户端或服务器。发生客户端错误的原因通常是请求的结构、内容或有效性存在问题。服务器错误通常表示服务器端存在问题。

有关 API 错误代码的更多信息，请参阅[错误代码](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/api-error-codes.html)。

**Topics**
+ [查询 API 请求速率](#api-request-rate)
+ [最终一致性](#api-eventual-consistency)
+ [未经授权的操作](#unauthorized-operation)

## 查询 API 请求速率
<a name="api-request-rate"></a>

我们会按区域限制每个 AWS 账户的 Amazon EC2 API 请求，以提高服务的性能。我们确保对 Amazon EC2 API 的所有调用（无论是来自应用程序、对命令行界面的调用还是来自亚马逊 EC2 控制台的调用）都不会超过允许的最大 API 请求速率。最大 API 请求速率可能因地区而异。请注意，用户发出的 API 请求归因于底层 AWS 账户。

有关更多信息，请参阅 *Amazon ECS 开发人员指南*中的[请求节流](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-throttling.html)。

## 最终一致性
<a name="api-eventual-consistency"></a>

Amazon EC2 API 遵循最终一致性模型，因为支持该 API 的系统具有分布式特性。这意味着，您执行的某个会影响 Amazon EC2 资源的 API 命令，其结果可能不会立即对之后执行的所有命令可见。在执行紧随上一个 API 命令的 API 命令时，应记住这一点。

有关更多信息，请参阅《Amazon EC2 开发人员指南》**中的[最终一致性](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html)。

## 未经授权的操作
<a name="unauthorized-operation"></a>

默认情况下，用户、群组和角色无权创建或修改 Amazon EC2 资源，也无权使用 Amazon EC2 API 执行任务。您必须通过 IAM 策略明确授予权限。如果用户尝试执行未被授予权限的操作，则请求会返回以下错误：`Client.UnauthorizedOperation`。

当策略无意中受到限制时，可能会发生此错误。例如，要允许用户在特定子网中启动实例，您需要通过在 IAM 策略中指定以下资源的 ARN 来授予对以下资源的权限：实例、卷、AMI、特定子网、网络接口、密钥对和安全组。例如，如果您省略卷权限，则用户只能从实例存储支持的 AMI 启动实例，因为他们无权为实例创建根 EBS 卷。 EBS-backed 

有关为亚马逊 EC2 创建 IAM 策略的更多信息，请参阅亚马逊 EC2 *用户指南中的亚马逊 EC2* [的 IAM 策略](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)。

有关哪些 ARN 可用于哪些 Amazon EC2 API 操作的更多信息，请参阅《*服务授权参考*》[中的 Amazon EC2 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html)。