테라폼, 복잡한 클라우드 인프라 관리 자동화로 해결

단순 반복 서버 관리를 스크립트 이용해 자동화

컴퓨팅입력 :2021/04/27 17:15

“테라폼을 이용하면 복잡하고 많은 시간이 필요한 클라우드 인프라 관리를 커피한잔 마시고 올 시간에 처리할 수 있다”

22일 만난 넥슨 IT본부 게임인프라실의 최용호 엔지니어는 클라우드 관리 자동화 오픈소스인 테라폼을 소개 하며 실제 사용 사례를 소개했다. 

하시코프에서 개발한 테라폼은 코드로 인프라를 관리하는 IaC(Infrastructure as Code)라는 개념에서 출발한 클라우드 인프라관리 자동화 도구다.

서버 추가, 설정 변경 등의 인프라 관리를 스크립트로 저장해 같은 상황에 반복해서 사용할 수 있어 인프라 관리 중 발생하는 반복작업을 최소화한다.

넥슨 IT본부 게임인프라실 최용호 엔지니어

아마존웹서비스(AWS), 마이크로소프트(MS) 애저, 구글클라우드플랫폼(GCP) 등 같은 주요 클라우드 서비스를 비롯한 다양한 클라우드 서비스를 지원하며, 멀티클라우드 리소스를 선언하고 관리할 수도 있다.

최용호 엔지니어는 “그동안 서비스를 위한 대규모 클라우드 인프라를 구축하려면 네트워크 구성, 다수 서버 추가, DB 설정 등 수많은 작업을 개발자가 직접 해야 했다”며 “테라폼을 활용해 사전에 만들어진 스크립트를 이용하면 이 모든 작업을 한번에 마칠 수 있다”고 밝혔다.

그는 “특히 인프라 구축 작업은 특정 순서를 거쳐야 하고, 해당 순서마다 대기시간이 발생한다”며 “사람이 관리할 때는 대기시간을 모두 기다려야 했지만, 테라폼으로 자동화하면 대기시간을 기다릴 필요 없이 다른 업무에 참여할 수 있다”고 설명했다.

테라폼 사용 예시(이미지=최용호 엔지니어)

클라우드 인프라 관리 작업은 규모에 따라 소모되는 시간도 비례한다. 최근 클라우드 관련 서비스가 급증하며 테라폼 등 클라우드 인프라 자동화 도구가 주목받고 있다.

테라폼은 사람으로 인해 발생할 수 있는 오류도 최소화한다. 같은 작업이라고 해도 사람이 매번 손으로 작성할 경우 실수가 발생할 경우가 있다. 하지만 사전에 검증된 코드를 작성한 후 이를 사용해 오류 발생률을 줄인다.

최 엔지니어는 “우리 팀의 경우 초기 인프라 구축에 테라폼을 활용하고 있다”며 “이를 활용해 개발 및 테스트 환경을 구축해 정상으로 동작하는 지 확인한 후 이를 스크립트화 한다”고 말했다.

이어서 그는 “실제 서비스 운영환경을 사전에 작성한 스크립트를 사용하면, 인프라 구축 속도가 단축될 뿐 아니라 관리요소도 많이 줄어든다”고 설명했다.

대규모 클라우드 인프라 환경에서 변경되는 사항을 자동으로 버전 관리할 수 있는 것도 테라폼의 장점 중 하나다. 인프라 리소스를 관리하는 스크립트를 깃 저장소 등에 올린 후 이를 배포해 한번에 변경사항을 적용할 수 있다.

테라폼 활용 장점 (이미지=최용호 개발자)

클라우드 인프라 변경 업데이트 중 문제가 발생했을 경우엔, 깃의 변경 이력을 바탕으로 간단하게 원상복구가 가능하다.

다만 테라폼은 스크립트를 작성하는 초기 단계에서 많은 시간을 요구한다는 단점도 있다. 클라우드 인프라 상에 실제 리소스를 만드는 것이기 때문에 작성한 스크립트 결과를 확인하려면 일련의 모든 작업을 거쳐야 한다. 오류가 발생할 경우 스크립트 수정과 재실행을 반복하게 되는 만큼 시간은 더욱 오래 걸린다.

최용호 엔지니어는 “스크립트 작성 과정에서 시행착오를 거치며 시간이 많이 걸릴 수 있다”며 “하지만 잘 완성하면 잘 동작하는 구성으로 오류 없이 계속 인프라를 만들고 구축할 수 있다는 점은 충분히 장점”이라고 강조했다.

최용호 엔지니어는 테라폼 사용 중 주의 사항으로 스크립트 업데이트 반영을 지목했다. 스크립트 업데이트 시 변경된 설정으로 인해 기존 인프라를 의도치 않게 제거하고 다시 생성할 수 있는데 이로인해 서비스 운영에 장애가 발생할 수 있기 때문이다.

최 엔지니어는 “스크립트를 적용하면 어떤 리소스가 지워지고 추가되는지 보여주는 계획단계가 있는데 이를 그냥 넘어가서 문제가 발생하는 경우가 있다”며 “실제 운영 중인 서비스에 장애가 발생할 수도 있으니 계획 단계에서 꼼꼼하게 확인하길 바란다”고 주의했다.

관련기사

이어서 그는 “클라우드 환경에 대한 개념을 이해하고 있으면 테라폼에 대한 학습 기간은 오래 걸리지 않는다”며 “클라우드 서비스를 사용 중이라면 보다 효율적인 업무 환경을 위해 적용을 고려해보길 바란다”고 말했다.

※이 기사는 정보통신산업진흥원(NIPA) Open UP과 지디넷코리아가 공동기획한 기사입니다.