单独部署每个组件
本部分介绍如何使用 AWS CloudFormation 模板在解决方案中单独执行每个步骤。
创建和配置 Amazon VPC
为了在 Amazon EMR Kerberos 领域和 Active Directory 域之间建立跨领域信任,您的 Amazon VPC 必须满足以下要求:
用于 Amazon EMR 集群的子网必须具有少于 9 位数的 CIDR 数据块(例如 10.0.1.0/24)。
必须同时启用 DNS 解析和 DNS 主机名(设置为“是”)。
对于 Amazon VPC 中的实例(在下一步中配置),Active Directory 域控制器必须是 DNS 服务器。
要使用 AWS CloudFormation 模板创建和配置具备之前列出的先决条件的 Amazon VPC,请选择启动堆栈:
注意:如果您想手动创建 VPC(而不使用 AWS CloudFormation),请参阅 Amazon EMR 文档中的设置 VPC 和子网。
启动此堆栈将创建以下 AWS 资源:
具有 CIDR 数据块 10.0.0.0/16 的 Amazon VPC(名称:CrossRealmVPC)
互联网网关(名称:CrossRealmGateway)
具有 CIDR 数据块 10.0.1.0/24 的公有子网(名称:CrossRealmSubnet)
允许从 VPC 子网入站访问的安全组(名称标签:CrossRealmSecurityGroup)
堆栈启动完成后,它应返回类似于以下内容的输出。
记下输出结果,以便在下一步中使用。您可以在 AWS 管理控制台中查看堆栈输出,也可以使用以下 AWS CLI 命令:
启动并配置 Active Directory 域控制器
在此步骤中,您将使用 AWS CloudFormation 模板自动启动并配置新的 Active Directory 域控制器和跨领域信任。
注意:有多种方法可以安装和配置 Active Directory 域控制器。如需详细了解如何在不使用 AWS CloudFormation 的情况下手动启动和安装域控制器,请参阅 Amazon EMR 文档中的第 2 步:启动和安装 AD 域控制器。
除了启动和配置 Active Directory 域控制器和跨领域信任之外,此 AWS CloudFormation 模板还会将域控制器设置为 Amazon VPC 的 DNS 服务器(名称服务器)。换言之,该模板会为部署目标 VPC 创建新的 DHCP option-set,并将域控制器的私有 IP 地址设置为该新 DHCP 选项集的名称服务器。
重要提示:****不得在具有 Amazon EC2 实例等现有资源的生产 VPC 上使用此模板。当您启动此堆栈时,请务必使用您在创建和配置 Amazon VPC 步骤中创建的新环境和资源(Amazon VPC、子网和安全组)。
要启动此堆栈,请选择启动堆栈:
下表包含有关此模板中可用参数的信息。查看模板的参数并为需要输入值的参数提供值。
example.com。
域 NetBIOS 名称 | EXAMPLE | Windows 早期版本用户的域的 NetBIOS 名称。此名称不得超过 15 个字符。
域管理员用户 | CrossRealmAdmin | 添加为域管理员的账户的用户名称。此账户不同于默认的管理员账户。
域管理员密码 | 需要输入 | 域管理员用户的密码。必须至少包含 8 个字符,包括字母、数字和符号。
密钥对名称 | 需要输入 | 用于启用对域控制器实例的访问权限的现有 EC2 密钥对的名称。
实例类型 | m4.xlarge | 域控制器的实例类型。
EMR Kerberos 领域 | EC2.INTERNAL | 集群的 Kerberos 领域名称。默认情况下,领域名称是从集群的大写字母 VPC 域名演化而来的(例如,
EC2.INTERNAL 是 us-east-1 区域中的默认 VPC 域名)。
跨领域信任密码 | 需要输入 | 您想用于跨领域信任的密码。
创建此堆栈需要 25–30 分钟。完成后,记下堆栈的输出结果,然后转到下一步:启动启用了 Kerberos 的 EMR 集群。
创建安全配置并启动启用了 Kerberos 的 Amazon EMR 集群
要启动 Kerberized Amazon EMR 集群,您首先必须创建包含跨领域信任配置的安全配置。然后,在启动集群时指定集群特定的 Kerberos 属性。
在此步骤中,您将使用 AWS CloudFormation 启动并配置具有跨领域信任的 Kerberized Amazon EMR 集群。如果您想手动启动和配置启用了 Kerberos 的集群,请参阅 Amazon EMR 文档中的第 6 步:启动 Kerberized EMR 集群。
注意:截至撰写本文时,AWS CloudFormation 尚不支持启动启用了 Kerberos 身份验证的 Amazon EMR 集群。为了解决这一限制,我创建了一个模板,该模板使用 AWS Lambda 支持的自定义资源来启动和配置启用了 Kerberos 的 Amazon EMR 集群。如果您使用此模板,则无需执行其他操作。请注意,模板会创建并调用 AWS Lambda 函数(自定义资源)来启动集群。
要使用 AWS CloudFormation 创建跨领域信任安全配置并启动 Kerberized Amazon EMR 集群,请选择启动堆栈:
下表列出并描述了用于部署 Kerberized Amazon EMR 集群和配置跨领域信任的模板参数。
EC2.INTERNAL 是 us-east-1 区域中的默认 VPC 域名)。
受信任的 AD 域 | EXAMPLE.COM | 您想信任的 Active Directory 域。此域名与“AD 域名”相同。 但是,它必须全部使用大写字母(例如
EXAMPLE.COM)。
创建此堆栈需要 10–15 分钟。完成后,记下堆栈的输出,然后转到下一部分:管理和测试解决方案。
本文转载自 AWS 技术博客。
评论