2017-07-28 65 views
1

我正在嘗試在該VPC內部構建VPC和子網。第三,我試圖在該子網內創建一個AWS實例。聽起來很簡單,但subnet_id參數似乎打破了terraform'apply'(計劃工作得很好)。我錯過了什麼嗎?從main.tfterrafrom aws_instance subnet_id - 啓動源實例時出錯:不支持:請求的配置目前不受支持

resource "aws_vpc" "poc-vpc" { 
    cidr_block  = "10.0.0.0/16" 
    instance_tenancy = "dedicated" 
    enable_dns_hostnames = "true" 
} 

resource "aws_subnet" "poc-subnet" { 
    vpc_id  = "${aws_vpc.poc-vpc.id}" 
    cidr_block = "10.0.1.0/24" 
    map_public_ip_on_launch = "true" 
    availability_zone = "${var.availability_zone}" 
} 


resource "aws_instance" "POC-Instance" { 
    ami = "${lookup(var.amis, var.region)}" 
    instance_type = "${var.instance_type}" 
    availability_zone = "${var.availability_zone}" 
    associate_public_ip_address = true 
    key_name = "Pipeline-POC-Key-Pair" 
    vpc_security_group_ids = ["${aws_security_group.poc-sec-group.id}"] 
    subnet_id = "${aws_subnet.poc-subnet.id}" 
} 

提取物如果我刪除subnet_id的「應用」的作品,但在我的默認VPC創建實例。這不是目標。

任何幫助,將不勝感激。我是terraform的新手,所以請溫和。

回答

1

我工作了,想發佈這個,希望能夠節省一些時間。

問題是aws_vpc提供程序中aws_instance提供程序和instance_tennancy中的subnet_id衝突。刪除實例租期,並且所有內容都是固定的(或設置爲默認值)

錯誤消息沒有意義。我問過這是否可以改進。

+1

您問哪裏?看起來我的糟糕的錯誤消息是AWS上的一件事情:例如,請參閱[請求的配置當前不受支持](https://forums.aws.amazon.com/thread.jspa?messageID=744918򵷖),它指出T2實例不作爲專用支持。 –

+0

我推特給他們https://twitter.com/jcrben/status/947670722679160832 –

0

如果您想創建自己的VPC網絡並且不使用默認網絡,那麼您還需要創建路由表和Internet網關,以便您可以訪問創建的EC2。您還需要添加後續配置,以創建一個帶有ec2實例的完整VPC網絡,可通過您分配的公共IP訪問

# Internet GW 
resource "aws_internet_gateway" "main-gw" { 
    vpc_id = "${aws_vpc.poc-vpc.id}" 

    tags { 
     Name = "poc-vpc" 
    } 
} 

# route tables 
resource "aws_route_table" "main-public" { 
    vpc_id = "${aws_vpc.poc-vpc.id}" 
    route { 
     cidr_block = "0.0.0.0/0" 
     gateway_id = "${aws_internet_gateway.main-gw.id}" 
    } 

    tags { 
     Name = "main route" 
    } 
} 

# route associations public 
resource "aws_route_table_association" "main-public-1-a" { 
    subnet_id = "${aws_subnet.poc-subnet.id}" 
    route_table_id = "${aws_route_table.main-public.id}" 
}