본문 바로가기

카테고리 없음

하이브리드 클라우드 인프라를 코드로 관리하는 간편한 방법

최근 Red Hat Ansible 자동화 플랫폼 2.3 버전이 출시되었습니다. 여러 기능이 개선되었는데, 이번 포스팅에서는 이중 활용 범위가 넓어진 CaC(Configuration as Code) 기능에 대해 알아보겠습니다

CaC에 관심이 몰리는 이유

 

CaC에 대해 알아보기에 앞서 요즘 인프라를 코드로 관리하는 기술이 빠르게 발전하고 있는지 살펴보겠습니다. 인프라 운영 자동화를 코드 기반으로 하는 방법론과 관련 도구 수요가 늘고 있습니다. 그 이유는 기업 컴퓨팅 환경이 하이브리드 멀티 클라우드로 전환하고 있기 때문입니다. 예전에 비해 관리 복잡성이 높아지다 보니 자동화가 필수가 되었습니다. 이를 실현하는 방법 중 하나로 코드로 인프라를 제어하는 CaC에 대한 관심도 높아지고 있습니다. 그렇다면 그 이유는 무엇일까요? 일관성/재현성, 자동화/효율성, 민첩성/확장성, 협업 측면에서 이유를 찾을 수 있습니다.

 

인프라를 코드로 정의하면 모든 환경의 일관성을 유지하고 쉽게 재현할 수 있습니다. 이는 여러 위치에 서로 다른 유형의 인프라가 있을 수 있는 하이브리드 멀티 클라우드 환경에서 특히 중요합니다. 인프라를 코드로 관리하면 인프라 관리와 관련된 많은 작업을 자동화할 수 있시간을 아끼고 사람의 실수로 인한 장애 발생을 줄일 수 있습니다. 예기치 못한 위험 발생을 최소화할  수 있다는 것은 복잡성이 높은 하이브리드 멀티 클라우드 환경에서 특히 유용합니다. 코드형 인프라를 사용하면 필요에 따라 인프라를 빠르고 쉽게 확장 또는 축소할 수 있습니다. 비즈니수요에 맞리소스를 신속하게 프로비져닝하고 워크로드를 배포해야 하는 경우 중요한 요건이라 할 수 있습니다.  코드형 인프라는 Git과 같은 버전 제어 도구를 사용하여 관리할 수 있다른 팀원들과 쉽게 협업할 수 있습니다. 요즘처럼 DevOps 파이프라인에 맞춰 개발자와 운영자가 긴밀히 협업하는 시대에 매우 중요한 이점이라 할 수 있습니다. 정리하자면 하이브리드 환경에서 인프라를 코드로 관리하면 일관성을 보장하고, 작업을 자동화하고, 민첩성과 확장성을 높이고, 협업을 개선하는 도움이 있습니다.

 

인프라를 코드로 관리하는 방식

 

Red Hat Ansible 자동화 플랫폼은 코드를 통해 인프라를 관리할 수 있는 방법을 제공합니다. Red Hat Ansible 자동화 플랫폼을 이용하면 YAML 같은 간단한 언어를 사용하여 인프라를 정의하고 관리할 수 있습니다. 이렇게 하면 코드로 인프라를 관리하고, 변경 사항을 추적하고, 검토 및 배포할 수 있어 운영과 유지보수 모든 측면에서 유리합니다.

 

2.3 버전의 강화된 CaC

 

Red Hat Ansible 자동화 플랫폼 2.3 버전부터 작업 템플릿 내의 모든 항목에 ‘Prompt on launch’ 옵션이 추가됩니다. 다음 화면을 보시죠. 작업 템플릿의 모든 항목에 'Prompt on launch' 옵션을 선택할 수 있는 체크 박스가 있는 것이 보일 것입니다.

 

Red Hat Ansible 'Prompt on launch’ Ansible Playbook을 실행하기 전에 사용자에게 매개변수 값을 입력받도록 하는 옵션입니다. 이 옵션을 사용하면 Playbook 내에서 변수를 입력받을 때 입력 대화상자를 통해 값을 넣을 수 있습니다.

 

'Prompt on launch' 옵션을  적용하면 실행 시에 입력한 값에 따라 인프라를 구성할 수 있어 다양한  시나리오에 활용할 수 있습니다. 예를 들어 개발, 테스트 및 운영 환경에서 서로 다른 설정 값을 사용해야 할 때 이 옵션을 적용하여 각 환경에 맞는 설정 값을 입력받을 수 있습니다.

 

CaC 기능을 적극적으로 활용해야 하는 이유  

 

Red Hat Ansible 자동화 플랫폼 3.2 버전의 강화된 CaC 기능을 활용해 얻을 수 있는 효과는 다음과 같습니다.

 

l  다양한 환경과 필요한 런타임 구성의 조합을 모두 맞추기 위해 필요한 템플릿의 수를 줄일 수 있음

l  많은 템플릿을 복사하고 각 환경에 맞게 필요한 변경을 수행해는 수고를 덜 수 있음

l  Ansible Playbook을 변경하지 않고도 런타임에 구성 변수를 전달할 수 있음

l  Collection, CLI, UI를 사용하든 API를 호출하든 동일한 접근 방식을 사용할 수 있음

 

선택지가 넓어진 CaC 기능은 Red Hat Communities of Practice Controller Configuration Collection과 결합할 때 더 큰 시너지를 냅니다. 참고Red Hat Communities of Practice Controller Configuration Collection Ansible Playbook을 활용한 서버 구성을 자동화하는 템플릿입니다. 와 함께 Red Hat Ansible 'Prompt on launch' 옵션을 사용하려면 다음 단계를 참조 바랍니다.

 

1.              템플릿에서 원하는 항목의 'Prompt on launch' 옵션을 적용합니다.

l   템플릿에는 일반적으로 사용되는 매개변수를 미리 정의해 놓습니다.

l   'Prompt on launch' 옵션을 사용하기 위해서는 해당 매개변수를 입력받을 수 있도록 정의해야 합니다.

2.              컨트롤러 설정을 구성합니다.

l   Ansible Tower 또는 AWX와 같은 컨트롤러에서 구성 파일을 로드합니다.

l   'Prompt on launch' 옵션을 사용하기 위한 매개변수를 추가합니다.

3.              매개변수 값을 입력합니다.

l   컨트롤러에서 구성 파일을 로드한 후 매개변수 값을 입력할 수 있습니다.

l   이 때 'Prompt on launch' 옵션에 따라 입력 대화상자가 나타날 수 있습니다.

4.              Ansible Playbook을 실행합니다.

l   매개변수 값을 입력한 후 Ansible Playbook을 실행합니다.

l   이때 입력한 매개변수 값이 'Prompt on launch' 옵션에 따라 변수에 할당됩니다.

 

이렇게 구성하면 Red Hat Communities of Practice Controller Configuration Collection 'Prompt on launch' 옵션을 함께 사용해 Ansible Playbook을 더욱 유연하게 구성할 수 있습니다. 자동화 컨트롤러와 CaC 함께 작동하게 하는 자세한 방법에 대해서는 레드햇 문서를 참조하거나 락플레이스로 문의 바랍니다.

 

운영체제, 미들웨어, 데이터베이스, 마이그레이션(U2L, DB, WAS), 가상화, 클라우드 및 빅데이터 컨설팅 서비스 관련하여 궁금하신 점은 언제든 문의해 주시기 바랍니다. 아래 링크를 클릭해주세요.

 1:1 문의 바로가기 click

 락플레이스는 2005년에 출범하여 대한민국 리눅스의 역사와 성장을 함께 해온 19년차 오픈소스&클라우드 전문 기업으로 국내 최다 엔지니어, 국내 최고 기술력, 국내외 유수기업 컨설팅의 풍부한 경험과 탄탄한 기술력으로 고객의 성공적인 오픈소스 플랫폼 구축과 응용 프로그램 전체 범위의 서비스를 제공하고 있습니다. 락플레이스는 레드햇코리아로부터 Elite Business Associate/Advanced Business Parter/채널 어워드 한국  파트너/FY15 champion 등을 수상 파트너이며, Microsoft Microsoft Cloud Solution Partner(CSP)로서 함께하고 있습니다.