Terraform/OpenTofu 기초 · plan 읽는 법 · 퀴즈
퀴즈: plan 읽는 법
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
계획에서 `-/+` 표시가 뜻하는 것은?
- 삭제한 뒤 다시 만든다
- 새로 만든 뒤 옛것을 삭제한다
- 데이터 소스를 읽기만 한다
- 제자리에서 속성만 수정한다
`terraform plan -detailed-exitcode` 가 2 를 반환했다면?
- 오류가 발생했다
- 변경 사항이 있다
- 변경 사항이 없다
- 잠금 획득에 실패했다
계획을 `-out` 으로 파일에 저장한 뒤 그 파일로 적용해야 하는 이유는?
- 리뷰한 계획과 실제로 적용되는 계획이 같다는 것을 보장하기 위해
- 계획 파일에 직전 상태가 함께 담겨 적용이 실패해도 되돌릴 수 있기 때문
- 계획 파일이 없으면 apply 가 승인 프롬프트를 건너뛰고 곧바로 실행되기 때문
- 계획 파일을 거치지 않으면 apply 가 상태의 `serial` 을 올리지 않기 때문
계획 JSON 의 `resource_drift` 에 담기는 것은?
- 삭제 예정 리소스의 속성을 통째로 담아 둔 백업
- 프로바이더가 계획 중에 보고한 경고와 사용 중단 안내
- 이번 apply 로 실제 적용될 변경 동작의 전체 목록
- 조회 단계에서 발견한, 코드 밖에서 이미 벌어진 변경
`-target` 을 쓸 때 도구가 경고를 내는 이유는?
- 대상에서 빠진 리소스가 상태에서 제거되어 상태 파일이 망가지기 때문에
- 옵션을 한 번에 하나만 줄 수 있어 여러 리소스를 함께 지정할 수 없기 때문에
- 그래프의 일부만 처리해 나머지가 코드와 어긋난 채 남을 수 있어서
- 다음 메이저 버전에서 없어질 예정이라 대체 문법으로 옮겨야 하기 때문에
프로바이더 메이저 버전을 올린 뒤 수백 개 리소스에 변경이 떴습니다. 가장 먼저 할 일은?
- 잠금 파일을 되돌려 이전 프로바이더 버전으로 다시 고정하고 업그레이드를 보류한다
- 계획을 JSON 으로 뽑아 동작별로 세어, 실제 인프라 변경인지 상태 속성 채움인지 구분한다
- 상태 파일을 지우고 모든 리소스를 새 프로바이더로 다시 import 한다
- 곧바로 적용해 새 프로바이더가 기대하는 형태로 상태를 한 번에 맞춰 둔다