回答

-1

您可以按照这里的基本示例https://www.terraform.io/docs/providers/aws/r/security_group.html和这里https://www.terraform.io/docs/providers/aws/r/emr_cluster.html

这将是类似于:

resource "aws_security_group" "sg" { 
    name = "allow_all" 
    description = "Allow all inbound traffic" 

    ingress { 
     from_port = 0 
     to_port = 0 
     protocol = "-1" 
     cidr_blocks = ["0.0.0.0/0"] 
    } 

    egress { 
     from_port = 0 
     to_port = 0 
     protocol = "-1" 
     cidr_blocks = ["0.0.0.0/0"] 
     prefix_list_ids = ["pl-12c4e678"] 
    } 
} 

resource "aws_emr_cluster" "emr-test-cluster" { 
    name   = "emr-test-arn" 
    release_label = "emr-4.6.0" 
    applications = ["Spark"] 

    termination_protection = false 
    keep_job_flow_alive_when_no_steps = true 

    ec2_attributes { 
    subnet_id       = "${aws_subnet.main.id}" 
    emr_managed_master_security_group = "${aws_security_group.sg.id}" 
    emr_managed_slave_security_group = "${aws_security_group.sg.id}" 
    instance_profile     = "${aws_iam_instance_profile.emr_profile.arn}" 
    } 
... 
} 
+1

问题与安全组无关。 –

0

更新2017年6月7日:作为Jun 6 2017,该AWS::EMR::SecurityConfiguration资源现在在CloudFormation可用,并且为2017年5月11日(v0.9.5)的Terraform中提供了emr_security_configuration资源。


不幸的是,它看起来并不像它目前可以指定使用任何CloudFormation的AWS::EMR::Cluster CloudFormation资源或Terraform的aws_emr_cluster资源RunJobFlow API一个SecurityConfiguration,并且有对应CreateSecurityConfiguration API没有资源。

Sep 21 2016上新增了EMR Security Configuration功能,新功能通告与其在现有CloudFormation资源中的相应支持之间通常存在滞后。

虽然Terraform的更新速度更快,因为它是一个开源社区的开源项目,但aws_emr_cluster资源仍然比较新(发布Oct 6 2016)。我打开了一个GitHub issue跟踪此实现的功能请求。

作为现在的解决方法,您可以创建一个Custom Resource,它直接调用CreateSecurityConfigurationRunJobFlow API。

相关问题