설명
ROS 스택에는 배포할 리소스를 정의하는 템플릿이 필요합니다. 템플릿 없이 스택 이름이나 정책만 지정하면 생성에 필요한 정의가 완성되지 않습니다.
잠재적 영향
- 스택 생성이 실패하거나 필요한 인프라를 배포하지 못할 수 있습니다.
- 실제 배포 내용을 확인하기 어려워 코드 검토와 운영 자동화에 혼선이 생길 수 있습니다.
해결 방법
template_body 또는 template_url로 검토된 템플릿을 지정하세요. 템플릿의 리소스와 매개변수를 검증하고 변경 이력을 관리하세요. 스택 정책이 배포 내용과 보호 요구에 맞는지도 별도로 확인하세요.
예시
변경 전은 템플릿이 빠진 불완전한 구성입니다. 변경 후 template_body는 형식 버전만 보인 발췌이므로 실제 배포에는 필요한 리소스 정의도 포함해야 합니다.
변경 전
hcl
resource "alicloud_ros_stack" "example" {
stack_name = "tf-testaccstack"
stack_policy_body = <<EOF
{
"Statement": [{
"Action": "Update:Delete",
"Resource": "*",
"Effect": "Allow",
"Principal": "*"
}]
}
EOF
}
변경 후
hcl
resource "alicloud_ros_stack" "example" {
stack_name = "tf-testaccstack"
template_body = <<EOF
{
"ROSTemplateFormatVersion": "2015-09-01"
}
EOF
}
스택 정책은 템플릿을 대신하지 않습니다. template_body를 지정하는 것만으로 리소스 구성이 올바르거나 보호 정책이 충분하다고 판단할 수는 없습니다.