Bạn có thể vui lòng giúp giải thích và khắc phục lỗi này không?
Tôi có chương trình TF sau cho một phiên bản với tệp mẫu và ổ đĩa EBS sử dụng id ổ đĩa đó:
tài nguyên "aws_instance" "edge1" {
instance_type = "t3a.micro"
ami = data.aws_ami.ubuntu.id
key_name = "ozonm"
£ thiết bị chặn gốc
root_block_device {
volume_size = 10
}
user_data = data.template_file.user_data_edge1.rendered
}
£ Kết thúc tài nguyên "aws_instance" "edge1"
£
£ EBS cho gia đình
£
tài nguyên "aws_ebs_volume" "homes" {
Availability_zone = aws_instance.edge1.availability_zone
kích thước = 1
}
tài nguyên "aws_volume_attachment" "homes-volume-attachment" {
device_name = "/dev/xvdf"
instance_id = aws_instance.edge1.id
volume_id = aws_ebs_volume.homes.id
}
dữ liệu "template_file" "user_data_edge1" {
template = file("metadata-edge1.yml", { vol_id = aws_ebs_volume.homes.id })
}
Vì vậy, điều này mang lại cho tôi một lỗi chu kỳ:
Lỗi: Chu kỳ: data.template_file.user_data_edge1, aws_instance.edge1, aws_ebs_volume.homes
trong khi tôi nghĩ là không nên. Tôi biết sự phụ thuộc vòng tròn là gì, khi các đối tượng đầu tiên đề cập đến đối tượng thứ hai, trong khi đối tượng thứ hai đề cập đến đối tượng thứ nhất. Nhưng tôi nghĩ nó hoàn toàn ổn trong trường hợp này với thứ tự sau:
- khối lượng được tạo ra
- tệp mẫu được hiển thị bằng id âm lượng
- phiên bản được tạo bằng tệp mẫu cho user_data
- khối lượng được đính kèm với ví dụ
Nhưng biểu đồ TF cho thấy rằng phiên bản phụ thuộc vào âm lượng:
Vậy tại sao điều này lại xảy ra và làm cách nào tôi có thể sử dụng id ổ đĩa trong tệp mẫu chẳng hạn?
Cảm ơn trước!