LabHub

Terraform 실전 · 모듈화 · 퀴즈

퀴즈: 모듈화

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 자식 모듈 안에 `provider` 설정 블록을 두면 안 되는 가장 큰 이유는?

    1. 같은 모듈을 두 번 호출하면 프로바이더 설정이 충돌해 두 번째 호출이 막힌다
    2. 그 모듈 호출을 코드에서 제거할 수 없게 되어 파괴 자체가 막힌다
    3. 모듈 안 프로바이더 설정이 루트 설정을 덮어써 루트 리소스까지 영향을 받는다
    4. 문법상 허용되지 않아 `init` 단계에서 곧바로 오류로 걸러진다
  2. 모듈 안에서 만든 리소스의 값을 루트에서 쓰려면?

    1. 자식 모듈에 `output` 을 정의하고 그것을 참조한다
    2. `module.<이름>.<리소스타입>.<리소스이름>` 으로 직접 참조한다
    3. 상태 파일을 직접 읽는다
    4. 같은 리소스를 루트에 한 번 더 선언한다
  3. 같은 모듈로 인스턴스를 두 벌 만들고 싶습니다. 올바른 방법은?

    1. 루트 디렉터리를 두 벌로 나눠 각각 따로 `apply` 한다
    2. 같은 `source` 를 서로 다른 호출 이름으로 두 번 선언한다
    3. 모듈 디렉터리를 통째로 복사해 이름만 다른 두 벌로 만든다
    4. 모듈 안 리소스마다 `count = 2` 를 넣어 두 벌씩 만들게 한다
  4. `module.bundle.module.left.local_file.box` 라는 상태 주소가 뜻하는 것은?

    1. 같은 local_file.box 가 bundle 과 left 두 모듈에 중복 등록되어 주소가 합쳐졌다
    2. bundle 모듈이 두 번 적용되어 두 번째 적용분에만 left 라는 접두어가 붙었다
    3. bundle 모듈이 left 라는 이름의 리소스를 만들었고 그 타입이 local_file.box 다
    4. bundle 모듈 안에서 left 라는 이름으로 다시 모듈을 호출했고 그 안에 local_file.box 가 있다
  5. 모듈 입력값 검증을 `variable` 의 `validation` 으로 하는 이점은?

    1. 검증을 통과한 입력만 상태에 남아 모듈별 상태 크기가 눈에 띄게 줄어든다
    2. 모듈이 요구하는 프로바이더 버전을 변수 검증으로 함께 고정할 수 있다
    3. 잘못된 값이 모듈 경계에서 거부되어 오류가 어느 호출의 어느 변수 때문인지 바로 드러난다
    4. 잘못된 조합을 미리 걸러 계획 단계의 조회 횟수가 줄고 실행이 빨라진다
  6. 모듈을 나누는 기준으로 가장 실용적인 것은?

    1. 네트워크·컴퓨트·스토리지처럼 리소스 종류별로 나눈다
    2. 함께 바뀌고 함께 사라지는 것들을 한 모듈로 묶는다
    3. 모듈마다 파일 줄 수가 비슷해지도록 균등하게 나눈다
    4. 담당자를 한 명씩 붙일 수 있도록 팀 인원수에 맞춰 나눈다