클라우드와 컨테이너의 기초

이뮤터블 인프라스트럭처의 사고방식에 따른, 운영 서버의 소프트웨어 업데이트 방법으로 적절한 것은?

  1. A동작 중인 운영 서버에 SSH로 로그인하여 패키지를 업데이트한 다음 서비스를 재시작한다
  2. B업데이트를 넣은 새 이미지로 새 서버를 만들어 전환하고, 이전 서버는 수정하지 않고 폐기한다
  3. C운영 서버를 멈추지 않고 설정 파일을 수작업으로 수정하고, 바꾼 내용을 작업 기록에 남긴다
정답과 해설 보기

정답: B. 업데이트를 넣은 새 이미지로 새 서버를 만들어 전환하고, 이전 서버는 수정하지 않고 폐기한다

이뮤터블 인프라스트럭처에서는 한 번 만든 서버(가상 머신이나 컨테이너)에는 손을 대지 않으며, 변경이 필요할 때는 변경을 넣은 이미지로 새로운 것을 만들어 교체합니다. 모든 서버가 같은 이미지로 만들어지므로, 수작업의 차이가 쌓여 서버마다 구성이 어긋나는 것을 막을 수 있습니다. 문제가 일어났을 때도 이전 이미지로 다시 만들면 원래대로 되돌릴 수 있습니다. 로그나 데이터처럼 남겨야 하는 것은 서버 밖의 스토리지나 데이터베이스에 둡니다.

이 분야 연습하기 분야로 돌아가기

클라우드와 컨테이너의 기초의 다른 문제

  1. 운영 환경과 같은 구성의 환경을 두 개 준비하여, 한쪽에서 현재 버전을 실행한 채로 다른 쪽에 새 버전을 넣어 확인한 다음, 로드 밸런서가 향하는 곳을 한 번에 전환한다. 문제가 있으면 향하는 곳을 되돌려 즉시 원래 버전으로 돌아간다. 이 릴리스 방법은?
  2. 1시간에 12,000건의 요청을 받는 서비스에서 새 버전을 카나리 릴리스하여, 요청의 5%만 새 버전으로 보냈다. 새 버전에는 받은 요청의 3%가 실패하는 결함이 있었고, 1시간 뒤에 알아차려 모든 요청을 원래 버전으로 되돌렸다. 이 1시간 동안 결함으로 실패한 요청의 건수로 올바른 것은?
  3. CI/CD 파이프라인에서 만든 컨테이너 이미지를 스테이징 환경에서 시험하여 합격했다. 이 이미지를 운영 환경에 내보내는 방법으로 가장 적절한 것은?
  4. 위와 같이 데이터베이스의 접속 대상을 이미지에 써 넣지 않고, 컨테이너를 시작할 때 환경 변수로 전달하도록 했다. 이 설계의 주된 이점으로 가장 적절한 것은?
  5. 여러 서비스가 연계하여 동작하는 시스템에서, 이용자의 요청 하나가 어떤 서비스를 어떤 순서로 거쳤고 각각에서 시간이 얼마나 걸렸는지 조사하고 싶다. 관측 가능성을 위한 데이터 중 가장 적합한 것은?