เบเปเปเบซเปเบเบปเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเบธเบก, เบฅเบงเบกเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ loops, เบเปเบฒเบเปเบฒเบเบฐเปเบซเบผเบเปเบฅเบฐเปเบเบฑเบเบเบดเบเบเบฒเบเบเปเบฒเปเบเปเบเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฑเบเบซเบฒเบเบปเปเบงเปเบเบซเบผเบฒเบเบเบตเปเบกเบตเบเบปเบเบเบฐเบเบปเบ Terraform เปเบเบเบเบปเปเบงเปเบ:
- count เปเบฅเบฐ for_each เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบกเบตเบเปเปเบเปเบฒเบเบฑเบ;
- เบเปเบฒโเบเบฑเบโเบชเบนเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบฒเบ downtimeโ;
- เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบเบเบฒเบเบเบตเปเบเบตเบเปเปเบเปเปเบชเบฒเบกเบฒเบเบฅเบปเปเบกเปเบซเบฅเบง;
- refactoring เบชเบฒเบกเบฒเบเบกเบต pitfalls เบเบญเบเบเบปเบ;
- เบเบฒเบเปเบฅเบทเปเบญเบเปเบงเบฅเบฒเบชเบญเบเบเปเบญเบเปเบกเปเบเบชเบญเบเบเปเบญเบ ... เบเบฑเบเบเบฒเบเปเบฅเบทเปเบญเบเปเบงเบฅเบฒ.
เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบ เปเบฅเบฐ for_each เบกเบตเบเปเปเบเปเบฒเบเบฑเบ
เบเบปเบงเบขเปเบฒเบเปเบเบเบปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเปเบฒเปเบเปเบขเปเบฒเบเบเบงเปเบฒเบเบเบงเบฒเบเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเบเบฑเบเปเบฅเบฐเบเบฒเบเบชเบฐเปเบเบเบญเบญเบ for_each เปเบ loops เปเบฅเบฐเปเบซเบเบเบปเบเบเบฒเบกเปเบเบทเปเบญเบเปเบ. เบเบงเบเปเบเบปเบฒเบเบฐเบเบดเบเบฑเบเปเบเปเบเบต, เปเบเปเบเบงเบเปเบเบปเบฒเบกเบตเบเปเปเบเปเบฒเบเบฑเบเบเบตเปเบชเปเบฒเบเบฑเบเบชเบญเบเบขเปเบฒเบเบเบตเปเปเบเบปเปเบฒเบเปเบญเบเบฅเบฐเบงเบฑเบ.
- Count เปเบฅเบฐ for_each เบเปเปเบชเบฒเบกเบฒเบเบญเปเบฒเบเบญเบตเบเบเบปเบงเปเบเบเบปเบเบเบฐเบฅเบดเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเป.
- count เปเบฅเบฐ for_each เบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเบเบนเบเปเบเป.
count เปเบฅเบฐ for_each เบเปเปเบชเบฒเบกเบฒเบเบญเปเบฒเบเบญเบตเบเบเบปเบงเปเบเบเบปเบเบเบฐเบฅเบดเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเป
เบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ EC2 เบซเบผเบฒเบเบญเบฑเบเปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบซเบเบเบปเบเบเบตเปเบเปเบฒเบเบเปเปเบเปเบญเบเบเบฒเบเปเบเป ASG. เบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบฑเบเปเบเบเบเบตเป:
resource "aws_instance" "example_1" {
count = 3
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
เปเบซเปเปเบฎเบปเบฒเปเบเบดเปเบเบเบงเบเปเบเบปเบฒเปเบเบทเปเบญเบฅเบฐเบญเบฑเบ.
เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเบเบฑเบเบเบทเบเบเบฑเปเบเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป, เบฅเบฐเบซเบฑเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเบกเบตเบเบฑเบเบซเบฒ: เปเบกเบทเปเบญเบเปเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบชเบฐเบซเบกเบฑเบ, เบกเบฑเบเบเบฐเบชเปเบฒเบเบชเบฒเบกเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ EC2. เปเบเปเบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเบเบถเปเบเปเบเปเบเปเบฅเบฐเปเบเบ Availability (AZ) เบเบฒเบเปเบเบเบฒเบเบเบทเปเบ AWS เปเบเบเบฐเบเบธเบเบฑเบเบเบญเบเบเปเบฒเบ? เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบซเปเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบเปเบซเบผเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบเบเบเบฒเบเปเบซเบผเปเบเบเปเปเบกเบนเบ aws_availability_zones เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ loop เบเปเบฒเบเปเบเปเบฅเบฐเบญเบฑเบเปเบฅเบฐเบชเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ EC2 เปเบเบกเบฑเบเปเบเบเปเบเปเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบเปเบฅเบฐเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฑเบเบชเบฐเบเบต array:
resource "aws_instance" "example_2" {
count = length(data.aws_availability_zones.all.names)
availability_zone = data.aws_availability_zones.all.names[count.index]
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
data "aws_availability_zones" "all" {}
เบฅเบฐเบซเบฑเบเบเบตเปเบเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบต, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเบญเบตเบเปเบซเบผเปเบเบเปเปเบกเบนเบเปเบเบเบเปเปเบกเบตเบเบฑเบเบซเบฒเปเบเป. เปเบเปเบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเบเปเบฒเบเปเบฒเบเบงเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบชเปเบฒเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบขเปเบฒเบ? เปเบเบทเปเบญเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบตเป, เบงเบดเบเบตเบเบตเปเบเปเบฒเบเบเบตเปเบชเบธเบเปเบกเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบ random_integer, เปเบเบดเปเบ, เบเบฒเบกเบเบทเปเปเบเบฐเบเปเบฒ, เปเบซเปเบเบปเบเปเบเบฑเบเบเปเบฒเบเบงเบเปเบเบฑเบกเปเบเบเบชเบธเปเบก:
resource "random_integer" "num_instances" {
min = 1
max = 3
}
เบฅเบฐเบซเบฑเบเบเบตเปเบชเปเบฒเบเบเบปเบงเปเบฅเบเบชเบธเปเบกเบฅเบฐเบซเบงเปเบฒเบ 1 เปเบฅเบฐ 3. เปเบซเปเปเบเบดเปเบเบงเปเบฒเบกเบตเบซเบเบฑเบเปเบเบตเบเบเบทเปเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบเปเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเปเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_instance:
resource "aws_instance" "example_3" {
count = random_integer.num_instances.result
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
เบเปเบฒเบเปเบฒเบเปเบเปเปเบเบ terraform เปเบเบฅเบฐเบซเบฑเบเบเบตเป, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเปเปเบเบดเบเบเบฒเบเบเปเปเปเบเบเบตเป:
Error: Invalid count argument
on main.tf line 30, in resource "aws_instance" "example_3":
30: count = random_integer.num_instances.result
The "count" value depends on resource attributes that cannot be determined until apply, so Terraform cannot predict how many instances will be created. To work around this, use the -target argument to first apply only the resources that the count depends on.
Terraform เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบเบฒเบเบเบฑเบ เปเบฅเบฐ for_each เปเบเปเบเบทเบเบเบดเบเปเบฅเปเปเบเบฅเบฐเบซเบงเปเบฒเบเปเบฅเบเบฐเบเบฒเบเบงเบฒเบเปเบเบ, เบเปเบญเบเบเบตเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเปเบเบฐเบเบทเบเบชเปเบฒเบ เบซเบผเบทเบเบฑเบเปเบเป. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเบฑเบเปเบฅเบฐ for_each เบชเบฒเบกเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเบปเบงเบซเบเบฑเบเบชเบท, เบเบปเบงเปเบ, เปเบซเบผเปเบเบเปเปเบกเบนเบ, เปเบฅเบฐเปเบกเปเบเบฐเบเบฑเปเบเบฅเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ (เบเบฒเบเปเบเบเบตเปเบเบงเบฒเบกเบเบฒเบงเบเบญเบเบเบงเบเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเปเบเปเบงเบฅเบฒเบเปเบฒเบเบปเบ), เปเบเปเบเปเปเปเบกเปเบเบเบปเบงเปเบเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเบดเบเปเบฅเป.
count เปเบฅเบฐ for_each เบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเบเบนเบเปเบเป
เบกเบทเปเบซเบเบถเปเบเบเปเบฒเบเบญเบฒเบเบเบฐเบเบทเบเบฅเปเปเบฅเบงเบเปเบซเปเปเบเบตเปเบกเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเบเบฑเบเปเบเบปเปเบฒเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเบเบนเบเบเบญเบเบเปเบฒเบ:
module "count_example" {
source = "../../../../modules/services/webserver-cluster"
count = 3
cluster_name = "terraform-up-and-running-example"
server_port = 8080
instance_type = "t2.micro"
}
เบฅเบฐเบซเบฑเบเบเบตเปเบเบฐเบเบฒเบเบฒเบกเปเบเปเบเบฒเบเบเบฑเบเบขเบนเปเปเบเปเบกเบเบนเบเปเบเบทเปเบญเบชเปเบฒเบเบชเบฒเบกเบชเปเบฒเปเบเบปเบฒเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ webserver-cluster. เบซเบผเบทเบเปเบฒเบเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบกเบเบนเบเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบญเบตเบเปเบชเปเบเบฒเบเปเบเบทเปเบญเบเปเบ Boolean เปเบเบเบเปเบฒเบเบปเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเบเบฑเบเบเบญเบเบกเบฑเบเปเบเบฑเบ 0. เบเบตเปเบญเบฒเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบฅเบฐเบซเบฑเบเบเบตเปเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบ, เปเบเปเบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบฅเปเบเปเบเบ terraform:
Error: Reserved argument name in module block
on main.tf line 13, in module "count_example":
13: count = 3
The name "count" is reserved for use in a future version of Terraform.
เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เปเบเบฑเบเบเบญเบ Terraform 0.12.6, เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบฑเบเบซเบผเบท for_each เปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเปเบกเบเบนเบเปเบกเปเบเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ. เบญเบตเบเบเบฒเบกเบเบฑเบเบเบถเบเบเบฒเบเบเปเบญเบ Terraform 0.12 (http://bit.ly/3257bv4), HashiCorp เบงเบฒเบเปเบเบเบเบตเปเบเบฐเปเบเบตเปเบกเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเปเบเบญเบฐเบเบฒเบเบปเบ, เบเบฑเปเบเบเบฑเปเบเบเบถเปเบเบขเบนเปเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบญเปเบฒเบเบซเบเบฑเบเบชเบทเปเบซเบผเบฑเปเบกเบเบตเป, เบกเบฑเบเบญเบฒเบเบเบฐเบกเบตเบขเบนเปเปเบฅเปเบง. เปเบเบทเปเบญเบเบญเบเบซเบฒเปเบเปเบเบญเบ,
เบเปเปเบเปเบฒเบเบฑเบเบเบญเบ Zero Downtime Deployments
เบเบฒเบเปเบเป block create_before_destroy เบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบ ASG เปเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบตเปเบเบตเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเปเบเปเบเบฒเบเบชเบนเบเบเบฒเบเบขเบธเบเปเบฎเบฑเบเบงเบฝเบ, เบเบปเบเปเบงเบฑเปเบเบเปเบฒเปเบเบทเบญเบเบซเบเบถเปเบ: เบเบปเบเบฅเบฐเบเบฝเบเบเบฒเบเบเบฑเบเบเบฐเบซเบเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ. เบซเบผเบทเปเบเบทเปเบญเปเบซเปเบกเบตเบเบงเบฒเบกเบเบฑเบเปเบเบเบซเบผเบฒเบเบเบถเปเบ, เบเบตเปเบเบฐเบเบฑเบเบเบฐเบซเบเบฒเบ ASG เบเบฑเบเบเบทเบเปเบเบเปเบญเบ min_size เปเบเบเบธเบเปเบเบฒเบเบเปเบฒเปเบเป, เปเบเบดเปเบเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฑเบเบซเบฒเบเปเบฒเบเปเบฒเบเปเบเปเบเบปเบเบฅเบฐเบเบฝเบเบเบฒเบเบเบฑเบเบเบฐเบซเบเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบทเปเบญเปเบเบตเปเบกเบเปเบฒเบเบงเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบ.
เบเบปเบงเบขเปเบฒเบ, เปเบกเบเบนเบ webserver-cluster เบกเบตเบเบนเปเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ aw_autoscaling_schedule, เปเบเบดเปเบเปเบเปเบงเบฅเบฒ 9 เปเบกเบเปเบเบปเปเบฒเบเบฐเปเบเบตเปเบกเบเปเบฒเบเบงเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบ cluster เบเบฒเบเบชเบญเบเบซเบฒเบชเบดเบ. เบเปเบฒเบเปเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบงเบฅเบฒ, เปเบงเบปเปเบฒเบงเปเบฒ, 11 เปเบกเบเปเบเบปเปเบฒ, ASG เปเบซเบกเปเบเบฐเบเบนเบเบเปเบงเบเบเบฝเบเปเบเปเบชเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบชเบดเบเปเบฅเบฐเบเบฑเบเบเบปเบเปเบเบฑเบเปเบเบเบเบฑเปเบเบเบปเบเบเปเบงเบฒ 9 เปเบกเบเปเบเบปเปเบฒเบเบญเบเบกเบทเปเบเปเปเบกเบฒ.
เบเปเป เบเบณ เบเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเบซเบฅเบตเบเบฅเปเบฝเบเปเบเปเปเบเบซเบผเบฒเบเบงเบดเบเบต.
- เบเปเบฝเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเปเบเบตเบเบเบถเปเบเบเปเบณเปเบ aws_autoscaling_schedule เบเบฒเบ 0 9 * * * (โเปเบฅเปเบเปเบงเบฅเบฒ 9 เปเบกเบเปเบเบปเปเบฒโ) เบกเบฒเปเบเบฑเบ 0-59 9-17 * * * (โเปเบฅเปเบเบเบธเบเปเบเบฒเบเบตเบเบฒเบ 9 เปเบกเบเปเบเบปเปเบฒเบซเบฒ 5 เปเบกเบเปเบฅเบโ). เบเปเบฒ ASG เบกเบตเบชเบดเบเปเบเบตเบเปเบงเบตเปเบฅเปเบง, เบเบฒเบเปเบเปเบเบปเบเบฅเบฐเบเบฝเบเบเบฒเบเบเบฑเบเบเบฐเบซเบเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบตเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเบฐเบเปเปเบเปเบฝเบเปเบเบเบซเบเบฑเบ, เปเบเบดเปเบเปเบเบฑเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ. เปเบเปเบเปเบฒ ASG เปเบเปเบเบทเบเบเปเบฒเบกเบฒเปเบเปเปเบเบเปเปเบเบปเบเบกเบฒเบเบตเป, เบเบปเบเบฅเบฐเบเบฝเบเบเบตเปเบเบฐเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเปเบเปเบงเบฅเบฒเบชเบนเบเบชเบธเบเบเบญเบเบซเบเบถเปเบเบเบฒเบเบตเบเปเบฒเบเบงเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบกเบฑเบเบเบฐเบเบฑเบเบฅเบธเบชเบดเบ. เบเบตเปเบเปเปเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบชเบฐเบซเบเปเบฒเบเบฒเบกเบเบฑเบเบซเบกเบปเบ, เปเบฅเบฐเบเบฒเบเบเบฐเปเบเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบฒเบเบชเบดเบเปเบเบซเบฒเบชเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเบเบฑเบเบเบทเบเปเบเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเป.
- เบชเปเบฒเบเบชเบฐเบเบฃเบดเบเปเบเบเบเบณเบเบปเบเปเบญเบเบเบตเปเปเบเป AWS API เปเบเบทเปเบญเบเบณเบเบปเบเบเบณเบเบงเบเปเบเบตเบเปเบงเบตเบเบตเปเปเบเบทเปเบญเบเปเบซเบงเบขเบนเปเปเบ ASG, เปเบเบซเบฒเบกเบฑเบเปเบเบเปเบเปเปเบซเบผเปเบเบเปเปเบกเบนเบเบเบฒเบเบเบญเบ (เปเบเบดเปเบ "เปเบซเบผเปเบเบเปเปเบกเบนเบเบเบฒเบเบเบญเบ" เปเบเปเปเบฒ 249), เปเบฅเบฐเบเบณเบเบปเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบตเปเบเปเบญเบเบเบฒเบเบเบญเบ ASG เปเบซเปเบเบฑเบเบเปเบฒเบเบตเปเบชเบปเปเบเบกเบฒเปเบเบ เบชเบฐเบเบฃเบดเบ. เบเปเบงเบเบงเบดเบเบตเบเบตเป, เปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบ ASG เปเบซเบกเปเบเบฐเปเบฅเปเบเบขเบนเปเปเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบฝเบงเบเบฑเบเบเบฑเบเบฅเบฐเบซเบฑเบ Terraform เบเบตเปเบกเบตเบขเบนเปเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเบฒเบเบเบตเปเบเบฐเบฎเบฑเบเบชเบฒ.
เปเบเปเบเบญเบ, Terraform เบเบฐเบกเบตเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเบเบปเบงเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเบเบตเปเบเปเปเบกเบตเปเบงเบฅเบฒเบซเบผเบธเบเบฅเบปเบ, เปเบเปเปเบเปเบเบทเบญเบเบเบถเบเบชเบฐเบเบฒ 2019, เบเบตเบกเบเบฒเบ HashiCorp เบเปเปเบกเบตเปเบเบเบเบตเปเบเบฐเปเบเบตเปเบกเบซเบเปเบฒเบเบตเปเบเบตเป (
เปเบเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบเบญเบฒเบเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเบเปเปเบชเปเบฒเปเบฅเบฑเบ
เบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบเบชเปเบฒเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ, เปเบเปเบเปเบฒเบชเบฑเปเบเบเปเบฒเปเบเปเบชเบปเปเบเบเบทเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบเบปเบงเบขเปเบฒเบ, เบฅเบญเบเปเบเบตเปเบกเบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_iam_user เบเบตเปเบกเบตเบเบทเปเบเบฝเบงเบเบฑเบเบเบฑเบเบเบนเปเปเบเป IAM เบเบตเปเบเปเบฒเบเบชเปเบฒเบเบเบถเปเบเบเปเบญเบเปเปเบฒเบเบตเปเปเบเบเบปเบเบเบต 2:
resource "aws_iam_user" "existing_user" {
# ะะพะดััะฐะฒััะต ััะดะฐ ะธะผั ัะถะต ัััะตััะฒัััะตะณะพ ะฟะพะปัะทะพะฒะฐัะตะปั IAM,
# ััะพะฑั ะฟะพะฟัะฐะบัะธะบะพะฒะฐัััั ะฒ ะธัะฟะพะปัะทะพะฒะฐะฝะธะธ ะบะพะผะฐะฝะดั terraform import
name = "yevgeniy.brikman"
}
เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบฒเบเปเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบ, Terraform เบเบฐเบญเบญเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบ:
Terraform will perform the following actions:
# aws_iam_user.existing_user will be created
+ resource "aws_iam_user" "existing_user" {
+ arn = (known after apply)
+ force_destroy = false
+ id = (known after apply)
+ name = "yevgeniy.brikman"
+ path = "/"
+ unique_id = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
เบเปเบฒโเบซเบฒเบโเบเปเบฒเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเปเบฒโเบชเบฑเปเบโเบเปเบฒโเปเบเปโเบเบตเปโเบเปเบฒเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
Error: Error creating IAM User yevgeniy.brikman: EntityAlreadyExists:
User with name yevgeniy.brikman already exists.
on main.tf line 10, in resource "aws_iam_user" "existing_user":
10: resource "aws_iam_user" "existing_user" {
เบเบฑเบเบซเบฒ, เปเบเปเบเบญเบ, เปเบกเปเบเบงเปเบฒเบเบนเปเปเบเป IAM เบเบตเปเบกเบตเบเบทเปเบเบฑเปเบเบกเบตเบขเบนเปเปเบฅเปเบง. เปเบฅเบฐเบเบตเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบถเปเบเบเปเปเบเบฝเบเปเบเปเบเบฑเบเบเบนเปเปเบเป IAM, เปเบเปเบเบฑเบเปเบเบทเบญเบเบเบธเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ. เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบงเปเบฒเบเบนเปเปเบเบเบนเปเบซเบเบถเปเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเปเบงเบเบเบปเบเปเบญเบเบซเบผเบทเปเบเปเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ, เปเบเปเปเบเบเบฒเบเปเบเบเปเปเบเบฒเบก, เบเบฒเบเบเบฑเบเบเบนเป IDs เบเปเบฒเปเบเบชเบนเปเบเบฒเบเบเบฑเบเปเบเปเบ. เบกเบตเบซเบผเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบตเปเบกเบฑเบเบเบฐเบเบฑเบเบเบนเปเบกเบฒเปเบซเบกเปเบเบฑเบ Terraform เปเบเบเปเบเบเปเบ.
เบเบธเบเบชเปเบฒเบเบฑเบเปเบกเปเบเบงเปเบฒเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบ terraform เบเบฝเบเปเบเปเปเบเปเปเบงเบฅเบฒเปเบเบปเปเบฒเปเบเปเบเบเบฑเบเบเบตเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบตเปเบเบทเบเบเปเบฒเบเบปเบเปเบงเปเปเบเปเบเบฅเปเบฅเบฑเบ Terraform. เบเปเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบฒเบเบญเบทเปเบ (เบเบปเบงเบขเปเบฒเบ, เบเปเบงเบเบเบปเบเปเบญเบเปเบเบเบเบฒเบเบเบฅเบดเบเปเบชเป console AWS), เบเบงเบเบกเบฑเบเบเบฐเบเปเปเบชเบดเปเบเบชเบธเบเปเบเปเบเบฅเปเบเบญเบเบฅเบฑเบเปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ Terraform เบเบฐเบเปเปเปเบญเบปเบฒเบเบงเบเบกเบฑเบเปเบเบปเปเบฒเปเบเบเบฑเบเบเบตเปเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบเบฒเบเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเบทเบเบเปเบญเบเบขเบนเป glance เบเปเบฒเบญเบดเบเบเบฐเบเบฒเบเปเบเบฑเบเบเปเปเบชเปเบฒเปเบฅเบฑเบ.
เบกเบตเบชเบญเบเบเบปเบเบฎเบฝเบเบเบตเปเบเบฐเบฎเบฝเบเบฎเบนเปเบเบฒเบเบเบตเป.
- เบเปเบฒเบเปเบฒเบเปเบเปเปเบฅเบตเปเบกเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Terraform เปเบฅเปเบง, เบขเปเบฒเปเบเปเบญเบฑเบเบญเบทเปเบ. เบเปเบฒเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเปเบฒเบเบเบทเบเบเบฑเบเบเบฒเบเปเบเบเปเบเป Terraform, เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบเบฑเบเปเบเบเบกเบฑเบเบเปเบงเบเบเบปเบเปเบญเบเปเบเป. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบเปเปเบเบฝเบเปเบเปเบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเปเปเบเบงเบฒเบกเบเบดเบเบเบฒเบ Terraform เบเบตเปเปเบเบเบเบฐเบซเบผเบฒเบ, เปเบเปเบเปเบฒเบเบเบฑเบเบเบฐเบเบดเปเบชเบเบเบปเบเบเบฐเปเบซเบเบเบซเบผเบฒเบเบขเปเบฒเบเบเบญเบ IaC เปเบเบฒเบฐเบงเปเบฒเบฅเบฐเบซเบฑเบเบเบฐเบเปเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบตเปเบเบทเบเบเปเบญเบเบเบญเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเปเบฒเบ.
- เบเปเบฒเบเปเบฒเบเบกเบตเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบฅเปเบง, เปเบซเปเปเบเปเบเปเบฒเบชเบฑเปเบเบเปเบฒเปเบเบปเปเบฒ. เบเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบฅเบตเปเบกเปเบเป Terraform เบเบฑเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบตเปเบกเบตเบขเบนเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบกเบฑเบเปเบชเปเปเบเบฅเปเบเบญเบเบฅเบฑเบเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบเบเปเบฒเปเบเบปเปเบฒ terraform. เบงเบดเบเบตเบเบตเป Terraform เบเบฐเบฎเบนเปเบงเปเบฒเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบญเบฑเบเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบธเปเบกเบเบญเบ. เบเปเบฒเบชเบฑเปเบเบเปเบฒเปเบเบปเปเบฒเปเบเปเปเบงเบฅเบฒเบชเบญเบเบเบฒเบเปเบเปเบเบฝเบ. เบเปเบฒเบญเบดเบเปเบกเปเบเบเบตเปเบขเบนเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบเบเปเบฒเบ. syntax เบขเบนเปเบเบตเปเบเบตเปเปเบกเปเบเบเบทเบเบฑเบเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฐเบเบฒเบเบญเบ: _. (เปเบเบฑเปเบ: aws_iam_user.existing_user). เบเบฒเบเปเบเปเบเบฝเบเบเบตเบชเบญเบเปเบกเปเบ ID เบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเบปเปเบฒ. เบชเบปเบกเบกเบธเบเบงเปเบฒ ID เบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_iam_user เปเบกเปเบเบเบทเปเบเบนเปเปเบเป (เบเบปเบงเบขเปเบฒเบ, yevgeniy.brikman), เปเบฅเบฐ ID เบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_instance เปเบกเปเบ ID เปเบเบตเบเปเบงเบต EC2 (เปเบเบฑเปเบ: i-190e22e5). เบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบปเปเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบกเปเบเบกเบฑเบเบเบฐเบชเบฐเปเบเบเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบเบขเบนเปเบเปเบฒเบเบฅเบธเปเบกเบเบญเบเบซเบเปเบฒเบเบญเบเบกเบฑเบ.
เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบกเปเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเปเบเบปเปเบฒเบเบตเป synchronizes เบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_iam_user เบเบตเปเบเปเบฒเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ Terraform เบเบญเบเบเปเบฒเบเบเปเบญเบกเบเบฑเบเบเบนเปเปเบเป IAM เปเบเบเบปเบเบเบต 2 (เบเบฒเบเบเปเบฝเบเบเบทเปเบเบญเบเบเปเบฒเบเบชเปเบฒเบฅเบฑเบ yevgeniy.brikman, เปเบเปเบเบญเบ):
$ terraform import aws_iam_user.existing_user yevgeniy.brikman
Terraform เบเบฐเปเบเบซเบฒ API AWS เปเบเบทเปเบญเบเบญเบเบซเบฒเบเบนเปเปเบเป IAM เบเบญเบเบเปเบฒเบเปเบฅเบฐเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบเบฅเปเบเบญเบเบฅเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบกเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_iam_user.existing_user เปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ Terraform เบเบญเบเบเปเบฒเบ. เบเบฒเบเบเบตเป, เปเบกเบทเปเบญเบเปเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบ, Terraform เบเบฐเบฎเบนเปเบงเปเบฒเบเบนเปเปเบเป IAM เบกเบตเบขเบนเปเปเบฅเปเบงเปเบฅเบฐเบเบฐเบเปเปเบเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบเบกเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.
เบกเบฑเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเบชเบฑเบเปเบเบเบงเปเบฒเบเปเบฒเบเปเบฒเบเบกเบตเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเปเบฒเปเบเบปเปเบฒเปเบเบปเปเบฒเปเบเปเบ Terraform, เบเบฒเบเบเบฝเบเบฅเบฐเบซเบฑเบเบเปเบงเบเบเบปเบเปเบญเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบปเปเบฒเปเบเปเบฅเบฐเบเบฑเปเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ. เบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเบธเปเบกเบเปเบฒเบเบตเปเบเบฐเบเบญเบเบซเบฒเปเบเบทเปเบญเบเบกเบทเปเบเบฑเปเบ Terraforming (http://terraforming.dtan4.net/), เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบฅเบฐเบชเบฐเบเบฒเบเบฐเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบฒเบเบเบฑเบเบเบต AWS เบเบญเบเบเปเบฒเบ.
Refactoring เบชเบฒเบกเบฒเบเบกเบต pitfalls เบเบญเบเบเบปเบ
เบเบฐเบเบดเบชเบฑเบเบเบญเบ เปเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบปเปเบงเปเบเปเบเบเบฒเบเบเบฝเบเปเบเบผเปเบเบผเบกเบเบตเปเบเปเบฒเบเบเปเบฝเบเปเบเบเบชเปเบฒเบเบเบฒเบเปเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบเบเบฐเบเบฐเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบถเบเบเบดเบเปเบฒเบเบฒเบเบเบญเบเบเปเปเบเปเบฝเบเปเบเบ. เบเบตเปเปเบกเปเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบฅเบฐเบซเบฑเบเบเบฑเบเปเบเบ, เบชเบฐเบญเบฒเบ, เปเบฅเบฐเบเปเบฒเบเบเปเปเบเบฒเบเบฎเบฑเบเบชเบฒ. Refactoring เปเบเบฑเบเปเบเบฑเบเบเบดเบเบเบตเปเบเบฒเบเบเปเปเปเบเปเบเบตเปเบเบงเบเบเบฐเบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบเบฐเบเปเบฒ. เปเบเปเปเบกเบทเปเบญเบกเบฑเบเบกเบฒเบเบฑเบ Terraform เบซเบผเบทเปเบเบทเปเบญเบเบกเบท IaC เบญเบทเปเบเป, เบเปเบฒเบเบเปเบญเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเบเบตเปเบชเบธเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบฒเบเบซเบกเบฒเบเปเบเบดเบ "เบเบถเบเบเบดเบเปเบฒเบเบฒเบเบเบญเบ" เบเบญเบเบฅเบฐเบซเบฑเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเปเบเบฒเบเบเบดเบเบเบฐเปเบเบตเบเบเบทเปเบ.
เบเบปเบงเบขเปเบฒเบ, เบเบฐเปเบเบเบเบปเปเบงเปเบเบเบญเบ refactoring เปเบกเปเบเบเบฒเบเบเปเบฝเบเบเบทเปเบเบญเบเบเบปเบงเปเบเบซเบผเบทเบซเบเปเบฒเบเบตเปเบเบตเปเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบซเบผเบฒเบ. IDEs เบซเบผเบฒเบเบเบปเบเบกเบตเบเบปเบงเบเปเบงเบเปเบเบเบปเบงเบชเปเบฒเบฅเบฑเบเบเบฒเบ refactoring เปเบฅเบฐเบชเบฒเบกเบฒเบเบเปเบฝเบเบเบทเปเบเบปเบงเปเบเปเบฅเบฐเบซเบเปเบฒเบเบตเปเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบปเปเบงเปเบเบเบเบฒเบ. เปเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบเบตเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเบเบปเปเบงเปเบ, เบเบตเปเปเบกเปเบเบเบฑเปเบเบเบญเบเปเบฅเบฑเบเบเปเบญเบเบเบตเปเปเบเบปเปเบฒเบญเบฒเบเบเบฐเบเปเปเบเบดเบเบเปเบฝเบงเบเบฑเบ, เปเบเปเปเบ Terraform เบเปเบฒเบเบเปเบญเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเบเบตเปเบชเบธเบเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบญเบฒเบเบเบฐเบเบฐเบชเบปเบเบเบฑเบเบเบฑเบเบซเบฒ.
เบเบปเบงเบขเปเบฒเบ, webserver-cluster module เบกเบต input variable cluster_name:
variable "cluster_name" { description = "The name to use for all the cluster resources" type = string }
เบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเบเปเบฒเบเปเบฅเบตเปเบกเปเบเปเปเบกเบเบนเบเบเบตเปเปเบเบทเปเบญเบเบณเปเบเปเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ foo. เบเปเปเบกเบฒ, เบเปเบฒเบเบเปเบญเบเบเบฒเบเบเปเบฝเบเบเบทเปเบเปเบฅเบดเบเบฒเบเบเบญเบเบเปเบฒเบเปเบเบฑเบเปเบเบ. เบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบญเบฒเบเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบฑเบเปเบฅเบทเปเบญเบเปเบฅเบฑเบเบเปเบญเบ, เปเบเปเปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบเปเบฅเปเบง เบกเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เบเบงเบฒเบกเบเบดเบเปเบกเปเบเบงเปเบฒ webserver-cluster module เปเบเปเบเบปเบงเปเบ cluster_name เปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเปเบฒเบเบงเบเบซเบเบถเปเบ, เบฅเบงเบกเบเบฑเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบทเปเบเบญเบเบชเบญเบเบเบธเปเบกเบเบงเบฒเบกเบเบญเบเปเบเปเบฅเบฐ ALB:
resource "aws_lb" "example" { name = var.cluster_name load_balancer_type = "application" subnets = data.aws_subnet_ids.default.ids security_groups = [aws_security_group.alb.id] }
เบเปเบฒเบเปเบฒเบเบเปเบฝเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบทเปเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ, Terraform เบเบฐเบฅเบถเบเปเบงเบตเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฑเปเบเปเบฅเบฐเบชเปเบฒเบเปเบซเบกเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบกเบฑเบ. เปเบเปเบเปเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฑเปเบเปเบเบฑเบ ALB, เบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฅเบถเบเบกเบฑเบเปเบฅเบฐเบเบฒเบเบเบฒเบงเปเบซเบฅเบเปเบงเบตเบเบฑเบเปเบซเบกเป, เบเปเบฒเบเบเบฐเบเปเปเบกเบตเบเบปเบเปเบเบเบตเปเบเบฐเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเบเบญเบเบเปเบฒเบ. เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เบเปเบฒเบเบธเปเบกเบเบงเบฒเบกเบเบญเบเปเบเบเบทเบเบฅเบถเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเปเบฒเบเบเบฐเปเบฅเบตเปเบกเบเบฐเบเบดเปเบชเบเบเบฒเบเบเบฒเบฅเบฐเบเบญเบเปเบเบทเบญเบเปเบฒเบเปเบเปเบเบปเบเบเปเบงเบฒเบเบธเปเบกเปเบซเบกเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ.
เบเบฐเปเบเบเบเบญเบเบเบฒเบ refactoring เบญเบทเปเบเบเบตเปเบเปเบฒเบเบญเบฒเบเบเบฐเบชเบปเบเปเบเปเบกเปเบเบเบฒเบเบเปเบฝเบเปเบเบ Terraform ID. เปเบซเปเปเบญเบปเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบ aws_security_group เปเบเปเบกเบเบนเบ webserver-cluster เปเบเบฑเบเบเบปเบงเบขเปเบฒเบ:
resource "aws_security_group" "instance" { # (...) }
เบเบปเบงเบฅเบฐเบเบธเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ instance. เบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบ refactoring เบเปเบฒเบเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบฐเบเปเบฝเบเปเบเบฑเบเบเบทเปเบเบตเปเปเบเบปเปเบฒเปเบเปเบเปเบซเบผเบฒเบเบเบถเปเบ (เปเบเบเบงเบฒเบกเบเบดเบเปเบซเบฑเบเบเบญเบเบเปเบฒเบ) cluster_instance:
resource "aws_security_group" "cluster_instance" { # (...) }
เบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเปเบเบเบตเปเบชเบธเบ? เบกเบฑเบเบเบทเบเบเปเบญเบ: เบเบฒเบเบเบฑเบเบเบงเบฒเบ.
Terraform เปเบเบทเปเบญเบกเปเบเบเปเบเปเบฅเบฐ ID เบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฑเบ ID เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเบฅเบฒเบง. เบเบปเบงเบขเปเบฒเบ, iam_user เปเบกเปเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบ ID เบเบนเปเปเบเป AWS IAM, เปเบฅเบฐ aws_instance เปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบ ID เปเบเบตเบเปเบงเบต AWS EC2. เบเปเบฒเบเปเบฒเบเบเปเบฝเบ ID เบเบฑเบเบเบฐเบเบฒเบเบญเบ (เปเบงเบปเปเบฒเบเบฒเบ instance เปเบเบฑเบ cluster_instance, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ aws_security_group), เบเบฑเบ Terraform เบกเบฑเบเบเบฐเบเบฒเบเบปเบเบเบทเบเบฑเบเบงเปเบฒเบเปเบฒเบเปเบเปเบฅเบถเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบปเปเบฒเบญเบญเบ เปเบฅเบฐเปเบเบตเปเบกเบญเบฑเบเปเปเป. เบเปเบฒเบเปเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเป, Terraform เบเบฐเบฅเบถเบเบเบธเปเบกเบเบงเบฒเบกเบเบญเบเปเบเปเบเบปเปเบฒเปเบฅเบฐเบชเปเบฒเบเปเบซเบกเป, เปเบเบเบฐเบเบฐเบเบตเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเปเบฒเบเปเบฅเบตเปเบกเบเบฐเบเบดเปเบชเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบทเบญเบเปเบฒเบเปเบเป.
เบเบตเปเปเบกเปเบเบชเบตเปเบเบปเบเบฎเบฝเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบเปเบฒเบเบเบงเบเบเบญเบเบเบญเบเบญเบญเบเบเบฒเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบตเป.
- เปเบเปเบเบณเบชเบฑเปเบเปเบเบเบชเบฐเปเปเบต. เบกเบฑเบเบชเบฒเบกเบฒเบเปเบเบตเบเปเบเบตเบ snags เบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเป. เบเบปเบเบเบงเบเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบกเบฑเบเบขเปเบฒเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเปเบฅเบฐเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเป Terraform เบงเบฒเบเปเบเบเบเบตเปเบเบฐเบฅเบถเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบญเบฒเบเบเบฐเบเปเปเบเบทเบเบฅเบถเบเบเบดเปเบก.
- เบชเปเบฒเบเบเปเบญเบเบเบตเปเบเปเบฒเบเบเบฐเบฅเบถเบ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบปเบเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ, เปเบซเปเบเบดเบเบขเปเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบเบงเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเบเบปเบเปเบเบเบเปเบญเบเบเบตเปเบเบฐเบฅเบถเบเบเบปเปเบเบชเบฐเบเบฑเบ. เบเปเบฒเบเปเบฒเบเบญเบเปเบกเปเบเปเบกเปเบ, create_before_destroy เบชเบฒเบกเบฒเบเบเปเบงเบเปเบเป. เบเบปเบเปเบเปเบฎเบฑเบเบเบฝเบงเบเบฑเบเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธเปเบเปเบเปเบงเบเบเบปเบเปเบญเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเบญเบเบเบฑเปเบเบเบญเบ: เบเปเบฒเบญเบดเบเปเบเบตเปเบกเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบซเบกเปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบชเบฐเบซเบกเบฑเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบญเบปเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบปเปเบฒเบญเบญเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบเบเปเบฒเปเบเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.
- เบเบฒเบเบเปเบฝเบเปเบเบเบเบปเบงเบฅเบฐเบเบธเบเปเบญเบเบเบฒเบเบเปเบฝเบเบชเบฐเบเบฒเบเบฐ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเปเบฝเบ ID เบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ (เบเบปเบงเบขเปเบฒเบ, เบเปเบฝเบเบเบทเป aws_security_group เบเบฒเบ instance เปเบเบฑเบ cluster_instance) เปเบเบเบเปเปเบกเบตเบเบฒเบเบฅเบถเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบฅเบฐเบชเปเบฒเบเปเบงเบตเบเบฑเบเปเบซเบกเปเบเบญเบเบกเบฑเบ, เบเปเบฒเบเบเปเบญเบเบเบฑเบเบเบธเบเปเบเบฅเปเบฅเบฑเบ Terraform เบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก. เบขเปเบฒเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบเปเบงเบเบเบปเบเปเบญเบ - เปเบเปเบเปเบฒเบชเบฑเปเบเบเบญเบเบฅเบฑเบ terraform เปเบเบ. เปเบกเบทเปเบญเบเปเบฝเบเบเบทเปเบเบปเบงเบฅเบฐเบเบธ, เบเปเบฒเบเบเบงเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบ mv state terraform, เปเบเบดเปเบเบกเบต syntax เบเปเปเปเบเบเบตเป:
terraform state mv <ORIGINAL_REFERENCE> <NEW_REFERENCE>
ORIGINAL_REFERENCE เปเบกเปเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเบซเบกเบฒเบเปเบเบดเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบฎเบนเบเปเบเบเบเบฐเบเบธเบเบฑเบเบเบญเบเบกเบฑเบ, เปเบฅเบฐ NEW_REFERENCE เปเบกเปเบเบเปเบญเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเปเบฒเบเบกเบฑเบ. เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบเปเบฝเบเบเบทเปเบเบธเปเบก aws_security_group เบเบฒเบ instance เปเบเบฑเบ cluster_instance, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ terraform state mv aws_security_group.instance aws_security_group.cluster_instance
เบญเบฑเบเบเบตเปเบเบญเบ Terraform เบงเปเบฒเบชเบฐเบเบฒเบเบฐเบเบตเปเปเบเบตเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบ aws_security_group.instance เปเบเปเบกเบทเปเบญเบเปเบญเบเบเบงเบเบเบฐเบเบทเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบ aws_security_group.cluster_instance. เบเปเบฒเบซเบฒเบเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเบฝเบเบเบทเปเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบเบฒเบ terraform เบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเปเปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบเปเปเบฎเบฑเบเบเบธเบเบขเปเบฒเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ.
- เบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเป. เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบซเบผเบฒเบเปเบกเปเบเบเปเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเป. เบเปเบฒเบเปเบฒเบเบเบฐเบเบฒเบเบฒเบกเบเปเบฝเบเบเบงเบเบกเบฑเบ, Terraform เบเบฐเบฅเบถเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบปเปเบฒเปเบฅเบฐเบชเปเบฒเบเปเบซเบกเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบกเบฑเบ. เปเบเปเบฅเบฐเบซเบเปเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฐเบเบตเปเบเบญเบเปเบเบดเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเปเบฝเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฐเปเบเบฒเบฐ, เบเบฑเปเบเบเบฑเปเบเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฐเบเบงเบเปเบเบดเปเบเปเบญเบเบฐเบชเบฒเบ. เบชเบฐเปเบซเบกเบตเปเบเปเบเปเบฒเบชเบฑเปเบเปเบเบเบเบฒเบเปเบฅเบฐเบเบดเบเบฒเบฅเบฐเบเบฒเบเปเบฒเปเบเปเบเบธเบเบเบฐเบชเบฒเบ create_before_destroy.
เบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบญเบเบเบฒเบเปเบฅเบทเปเบญเบเปเบกเปเบเบชเบญเบเบเปเบญเบ ... เบเบฑเบเบเบฒเบเปเบฅเบทเปเบญเบเปเบงเบฅเบฒ
APIs เบเบญเบเบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบเบฅเบฒเบงเบเบฒเบเบญเบฑเบ, เปเบเบฑเปเบ AWS, เปเบกเปเบเบเปเปเบชเบญเบเบเปเบญเบเบเบฑเบ เปเบฅเบฐเบกเบตเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบฑเบเบเปเบฒ. Asynchrony เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเปเบเปเบเบญเบเบชเบฒเบกเบฒเบเบชเบปเปเบเบเบทเบเบเบฒเบเบเบญเบเปเบเปเปเบเปเบเบฑเบเบเบตเปเบเบเบเปเปเบเปเบญเบเบฅเปเบเปเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบฎเปเบญเบเบเปเปเบซเปเบชเปเบฒเปเบฅเบฑเบ. เบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบตเปเบเบฑเบเบเปเบฒเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเบญเบฒเบเบเบฐเปเบเปเปเบงเบฅเบฒเปเบเบทเปเบญเปเบเปเบเบฐเบซเบเบฒเบเปเบเบเบปเปเบงเบฅเบฐเบเบปเบ; เปเบเบเบฐเบเบฐเบเบตเปเบกเบฑเบเปเบเบตเบเบเบถเปเบ, เบเปเบฒเบเบญเบเบเบญเบเบเปเบฒเบเบญเบฒเบเบเบฐเบเปเปเบชเบญเบเบเปเบญเบเปเบฅเบฐเบเบถเปเบเบเบฑเบเบงเปเบฒเปเบซเบผเปเบเบเปเปเบกเบนเบ replica เปเบกเปเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเบฒเบเปเบ API เบเบญเบเบเปเบฒเบ.
เบเบปเบงเบขเปเบฒเบ, เบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเปเบเบปเปเบฒเปเบเบซเบฒ API เบเบฑเบ AWS เบเปเปเบซเปเบกเบฑเบเบชเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ EC2. API เบเบฐเบชเบปเปเบเบเบทเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ "เบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ" (201 เบชเปเบฒเบ) เปเบเบทเบญเบเบเบฑเบเบเบต, เปเบเบเบเปเปเบเปเบญเบเบฅเปเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบปเบงเบกเบฑเบเปเบญเบเบเบทเบเบชเปเบฒเบ. เบเปเบฒเบเปเบฒเบเบเบฐเบเบฒเบเบฒเบกเปเบเบทเปเบญเบกเบเปเปเบกเบฑเบเบเบฑเบเบเบต, เบกเบฑเบเปเบเบทเบญเบเปเบเปเบเบญเบเบเบฐเบฅเบปเปเบกเปเบซเบฅเบงเปเบเบฒเบฐเบงเปเบฒเปเบเบเบธเบเบเบฑเปเบ AWS เบเบฑเบเบเปเบฒเบฅเบฑเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบซเบผเบท, เปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฑเบเบเปเปเปเบเป booted. เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเปเบเบซเบฒเบญเบทเปเบเปเบเบทเปเบญเบฎเบฑเบเปเบญเบปเบฒเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเป, เบเปเบฒเบเบญเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเปเปเบเบดเบเบเบฒเบ (404 เบเปเปเบเบปเบ). เบชเบดเปเบเปเบกเปเบเบงเปเบฒเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ EC2 เบเบตเปเบญเบฒเบเบเบฐเบเบฑเบเบเบทเบเปเบเบตเบเปเบเปเปเบเบเบปเปเบง AWS เบเปเบญเบเบเบตเปเบกเบฑเบเบเบฐเบกเบตเบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเบฅเปเบเปเบฒเบชเบญเบเบชเบฒเบกเบงเบดเบเบฒเบเบต.
เปเบกเบทเปเบญเปเบเบเปเปเบเบฒเบกเบเบตเปเบเปเบฒเบเปเบเป API asynchronous เบเบตเปเบกเบตเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบตเปเบเบฝเบ, เบเปเบฒเบเบเปเบญเบเบฅเบญเบเบเบทเบเบเปเบฒเบฎเปเบญเบเบเปเบเบญเบเบเปเบฒเบเปเบเบฑเบเปเบฅเบเบฐเบเบปเบเบเปเบงเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเปเบฅเบฑเบเปเบฅเบฐเปเบเปเบเบฐเบซเบเบฒเบเบเปเบฒเบเบฅเบฐเบเบปเบ. เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, AWS SDK เบเปเปเปเบเปเบชเบฐเบซเบเบญเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเบตเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป, เปเบฅเบฐเปเบเบเบเบฒเบ Terraform เปเบเบตเบเบเบปเบเบเบธเบเบเบฒเบเปเบกเบเปเบกเปเบซเบผเบฒเบเปเบเบฑเปเบ 6813 (https://github.com/hashicorp/terraform/issues/6813):
$ terraform apply aws_subnet.private-persistence.2: InvalidSubnetID.NotFound: The subnet ID 'subnet-xxxxxxx' does not exist
เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบญเบทเปเบเป, เบเปเบฒเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ (เปเบเบฑเปเบเปเบเบทเบญเบเปเบฒเบเบเปเบญเบ) เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบเบฒเบเบฒเบกเปเบญเบปเบฒเบเปเปเบกเบนเบเบเบฒเบเบขเปเบฒเบเบเปเบฝเบงเบเบฑเบเบกเบฑเบ (เปเบเบฑเปเบ ID เบเบญเบเปเบเบทเบญเบเปเบฒเบเบเปเบญเบเบเบตเปเบชเปเบฒเบเปเบซเบกเป), เปเบฅเบฐ Terraform เบเปเปเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบกเบฑเบเปเบเป. เบชเปเบงเบเปเบซเบเปเบเบญเบเปเบกเบเปเบกเปเปเบซเบผเบปเปเบฒเบเบตเป (เบฅเบงเบกเบเบฑเบ 6813) เปเบเปเบเบทเบเปเบเปเปเบเปเบฅเปเบง, เปเบเปเบเบงเบเปเบเบปเบฒเบเบฑเบเบเบนเบเบเบทเบเปเบเบฑเบเปเบเปเบฅเบฐเปเบฅเบเบฐ, เปเบเบเบชเบฐเปเบเบฒเบฐเปเบเปเบงเบฅเบฒเบเบตเป Terraform เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบซเบกเป. เบเบตเปเปเบกเปเบเบซเบเปเบฒเบฅเปเบฒเบเบฒเบ, เปเบเปเปเบเบเปเบฅเบฐเบเบตเบซเบผเบฒเบเบเบตเปเบชเบธเบเบเปเปเปเบเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบญเบฑเบเบเบฐเบฅเบฒเบเปเบเป. เปเบกเบทเปเบญเบเปเบฒเบเปเบเป terraform เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบงเบเบเบฐเปเบฎเบฑเบเบงเบฝเบ, เปเบเบฒเบฐเบงเปเบฒเปเบงเบฅเบฒเบเบตเปเบเปเปเบกเบนเบเบเบฐเปเบเปเบฅเบฒเบกเปเบเบเบปเปเบงเบฅเบฐเบเบปเบ.
excerpt เบเบตเปเปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบตเบเบฒเบเบซเบเบฑเบเบชเบทเปเบเบ Evgeniy Brikman
"Terraform: เปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเปเบเบฅเบฐเบเบฑเบเบฅเบฐเบซเบฑเบ" .
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com