AWS Data Pipeline EmrCluster 的安全配置字段

Security-Configuration Field For AWS Data Pipeline EmrCluster

我通过 AWS 管理控制台上的常规 EMR 集群向导创建了一个 AWS EMR 集群,我能够 select 安全配置,例如,当您导出 CLI 命令时,它是 --security-configuration 'mySecurityConfigurationValue' .

我现在需要通过 AWS Data Pipeline 创建一个类似的 EMR,但我没有看到任何可以指定此安全配置字段的选项。

我看到的唯一类似字段是 EmrManagedSlaveSecurityGroup、EmrManagedMasterSecurityGroup、AdditionalSlaveSecurityGroups、AdditionalMasterSecurityGroups 和 SubnetId。我已经在我的管道配置中填写了所有这些,但我还需要指定安全配置。有什么想法吗?

不幸的是,DataPipeline 不支持安全配置功能(以及 EMR 5.x 版本中引入的其他功能,例如使用自定义 AMI)。

一个解决方案是:

  1. 用 EC2 资源替换管道中的 EmrCluster
  2. 在 EC2 资源上使用 ShellCommandActivity 运行 aws emr create-cluster CLI 命令
  3. 使用 bootstrap 步骤 install TaskRunner on the cluster
  4. 将管道中的所有 runsOn 属性替换为 workerGroup,以便您在步骤 2
  5. 中创建的 EMR 集群上的任务 运行
  6. 在管道末尾添加最后一个 ShellCommandActivity 以使用 CLI
  7. 终止集群

现在,由于您正在使用 CLI 启动集群,因此您可以访问各种功能,例如安全配置、自定义 AMI、实例队列等,并且您仍然可以使用 DataPipeline 编排任务。