CloudOps 엔지니어가 다음 AWS CloudFormation 템플릿을 검토하고 있습니다. 스택 생성이 실패하는 이유는 무엇입니까?
- A. CloudFormation 템플릿의 Outputs 섹션이 생략되었습니다.
- B. CloudFormation 템플릿의 Parameters 섹션이 생략되었습니다.
- C. PrivateDnsName은 CloudFormation 템플릿에서 설정할 수 없습니다.✓ 정답
- D. VPC가 CloudFormation 템플릿에 지정되지 않았습니다.
해설
【핵심 용어】 ▸ CloudFormation — AWS 인프라를 코드로 정의하고 자동으로 생성/관리하는 서비스 ▸ PrivateDnsName — 읽기 전용 속성으로, 리소스 생성 후에만 AWS가 자동 할당 (템플릿에서 직접 설정 불가) ▸ Stack Creation — 템플릿으로부터 AWS 리소스를 생성하는 프로세스 【정답 포인트】 ▸ "PrivateDnsName은 출력 속성" → (C) PrivateDnsName을 CloudFormation 템플릿에서 직접 설정하려면 실패 ▸ 템플릿에서 값을 할당하려 했으나, AWS가 자동으로 생성되는 읽기 전용 속성이므로 충돌 발생 【오답 체크】 (A) Outputs 섹션 — 선택 사항, 생략해도 스택 생성 성공. 리소스 생성에는 영향 없음. (B) Parameters 섹션 — 선택 사항, 없어도 기본값으로 스택 생성 가능. (D) VPC 지정 — 선택 사항이 아니면 필수지만, 리소스 유형에 따라 암묵적 또는 기본 VPC 사용 가능. 【시험 포인트】 ▸ 패턴: CloudFormation에서 읽기 전용 속성(예: PublicIpAddress, PrivateDnsName, ResourceId)은 template에서 설정 불가 ▸ 함정: 템플릿이 완전해 보이지만, 특정 리소스의 읽기 전용 속성을 설정하려는 오류 발생 ▸ 해결책: GetAtt()를 사용해 생성 후 속성값을 참조하거나, Outputs 섹션에서 출력