在Cloud Formation模板中将KeyName添加到EMR集群

时间:2016-12-16 22:12:57

标签: amazon-web-services emr amazon-cloudformation

我正在使用Cloud Formation模板创建运行Spark的AWS EMR集群。我正在使用Cloud Formation,因为这就是我们为应用程序创建可重现的环境的方式。

当我从Web仪表板创建群集时,其中一个选项是添加密钥对。为了通过ssh访问集群的节点,这是必要的。 http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EMR_CreateJobFlow.html

使用Cloud Formation模板时,我看不出如何做同样的事情。 模板结构(见下文)没有相同的属性。

Type: "AWS::EMR::Cluster"
Properties: 
  AdditionalInfo: JSON object
  Applications:
    - Applications
  BootstrapActions:
    - Bootstrap Actions
  Configurations:
    - Configurations
  Instances:
    JobFlowInstancesConfig
  JobFlowRole: String
  LogUri: String
  Name: String
  ReleaseLabel: String
  ServiceRole: String
  Tags:
    - Resource Tag
  VisibleToAllUsers: Boolean

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#d0e76479

我对属性JobFlowRole感兴趣,该属性是对实例个人资料http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)的引用。再次,没有KeyName的迹象。

之前有没有人解决过这个问题?

谢谢, 马可

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我只是对Cloud Formation模板中缺少命名一致性感到困惑。 通常称为KeyName的内容变为Ec2KeyName JobFlowInstancesConfig

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-ec2keyname