VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC - Amazon EMR

VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC

概览

当您的集群和您为集群引用的子网属于不同的虚拟私有云(VPC)时,集群将终止并出现 VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC 错误。您可以使用 Amazon EMR 在 VPC 中跨子网启动具有实例集配置的集群。有关实例集的更多信息,请参阅《Amazon EMR Management Guide》中的 规划和配置 Amazon EMR 集群的实例集

解决方案

要解决此错误,请使用与集群属于同一 VPC 的子网。

要排查失败的 EMR 集群问题,请参阅 DescribeClusterListClusters API 返回的 ErrorDetail 信息。有关更多信息,请参阅 Amazon EMR 中包含 ErrorDetail 信息的错误代码ErrorDetail 中的 ErrorData 数组返回此错误代码的以下信息:

vpc

对于每个 子网:VPC 对,返回该子网所属的 VPC ID。

subnet

对于每个 子网:VPC 对,返回该子网的 ID。

public-doc

错误代码文档的公有 URL。

完成步骤

执行以下步骤来识别和修复错误:

  1. 查看 ErrorData 数组中列出的子网 ID,并确认它们属于您要启动 EMR 集群的 VPC。

  2. 修改您的子网配置。您可以使用以下方法之一查找 VPC 中所有可用的公有和私有子网。

    • 导航到 Amazon VPC 控制台。选择子网,然后列出驻留在您集群 AWS 区域 中的所有子网。要仅查找公有子网或私有子网,请应用自动分配公有 IPv4 地址筛选条件。要在您的集群使用的 VPC 中查找和选择子网,请使用按 VPC 筛选选项。有关如何创建子网的更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的创建子网

    • 使用 AWS CLI 查找您的集群使用的 VPC 中所有可用的公有和私有子网。有关更多信息,请参阅 describe-subnets API。要在 VPC 中创建新的子网,请参阅 create-subnet API。

  3. 启动一个新集群,其子网与集群属于同一 VPC。