관리 메뉴

피터의 개발이야기

아마존 웹 서비스(AWS)로 시작하는 데브옵스-2 본문

책이야기/AWS

아마존 웹 서비스(AWS)로 시작하는 데브옵스-2

기록하는 백앤드개발자 2022. 6. 5. 16:43
반응형

1. Infra as a Code란

  IaC란 Infrastructure as a Code의 약자로 IT 서비스를 위한 시스템을 구성할 때 수동으로 구성하는 대시 Shell 기반의 스크립트(Shell Based Script)를 사용하여 컴퓨팅 인프라를 구성하는 기술을 말한다. 다시 말해, 인프라 구성을 프로그램 처럼 처리하는 방식을 가리킨다.  기존 기업들이 H/W 기반의 서버와 인프라를 사용하며 자체 IDC 호스팅을 통해 IT 인프라를 구축하여 운영하고 있다. 최근 스타트업과 메이저 기업들이 클라우드를 도입하면서 그 필요성과 요구가 늘어나게 되었다.

 

 

2.  IaC를 도입 시 기대효과

1. 비용절감:  IT 시스템의 운영괸리에 드는 인력과 비용을 절약하는 효과가 있다. 사람들이 할일을 시스템으로 하게 되면서 기존  수작업으로 진행했던 부분들을 자동화하고, 운영관리도 시스템으로 통합관리함으로써 비용 효율을 확보할 수 있게 되었다.
2. 빠른 실행: 인프라 운영관리가 자동화되면서 빠르고 효과적으로 구성하여 시장 상황에 보다 민첩하게 대응할 수 있다. 
3. 리스크관리: 인프라의 자동화는 수동 구성 시 발생할 수 있는 오유와 인적 오류(Human Error)와 관련된 위험을 제거할 수 있다. 

 이러한 Iac의 기대효과는 DevOps를 구현하는 데 필요한 핵심적인 역량이 된다.

 

 

3. IaC의 도구들

 Terraform은 오픈 소스 기반의 구성 조정 도구(Configuration Orchestration Tool)로 클라우드/온프라미스 모두 사용할 수 있다. Terraform은 상태 파일이라는 개념을 사용하여 인프라의 상태를 유지할 수 있다. Terraform은 이해가 쉽고 편리하여 접근성이 좋다. 

 

 Chef는 일반적인 기업에서 가장 많이 사용되는 도구이다. Chef는 Ruby 기반 DSL(Domain Specific Language)을 사용하여 Recipes와 Cookbook을 만들 수 있다. 이러한 레시피와 쿡북은 기존 서버에서 응용프로그램 및 유틸리티를 원하는 형태로 구성하는 데 필요한 정확한 단계를 설정할 수 있다. Chef는 On-Premise/Cloud 모두, AWS, Microsoft Azure, Google Cloud Platform, OpenStack 등과 같은 다양한 클라우드 서비스에서 사용할 수 있다.

 

 Puppet는 Chef와 비슷하다. 특징적인 부분은 Puppet에서는 각 서버 설정을 클래스 단위로 정의하거나 정의 완료된 클래스를 상속받아서 새로운 클래스에 정의하는 등 객체지향적으로 유연하게 기술하는 것이다.

 

 AWS CloudFormation은 AWS의 내부 리소스와 긴밀하게 통합되어 있으며, AWS에서만 사용될 수 있다. 그리고 CloudFormation은 JSON/YAML을 사용하여 템플릿을 생성할 수 있으며, stack을 통해 변경 사항을 사전에 확인해 다른 리소스에 미치는 영향을 사전에 확인하고 리소스 간의 종속성을 관리할 수 있다.

  또한 인프라의 조정 및 배치/업데이트 작업이 사전에 정의된 방식으로 수행되도록 하기 이해 오류가 감지되면 롤백 트리거를 이용하여 인프라 스택을 이전의 상태로 되돌릴 수 있다. 하나의 CloudFormation 템플릿으로 여러 AWS 계정 및 리전에 인프라 스택을 배치할 수 있다.

반응형
Comments