반응형

코드형 인프라(Infrastructure as Code, IaC)

코드형 인프라를 사용해 AWS 리소스를 간편하게 배포할 수 있습니다. IaC 사용 시에는 코드를 사용하여 인프라 정의, 배포, 구성, 업데이트, 제거를 수행할 수 있습니다.

 

템플릿은 환경에서 배포할 리소스를 설명 및 정의하는 텍스트 파일ㅇ립니다. 지정한 리소스를 프로비저닝하는 엔진이 해당 템플릿을 처리합니다. 템플릿의 기능은 다음과 같습니다.

  • JSON 또는 YAML 템플릿 파일에서 전체 애플리케이션 스택(애플리케이션에 필요한 모든 리소스)을 정의합니다. 템플릿은 ㅌ코드로 간주하여 버전 제어 시스템을 통해 관리합니다.
  • EC2 인스턴스 크기와 EC2 키 페어 등 템플릿의 런타임 파라미터를 정의합니다.
  • IaC 솔루션은 템플릿에 정의된 리소스를 프로비저닝합니다.

 

IaC를 활용할 때 이점은 다음과 같습니다.

  • 빠른 속도와 높은 안정성
    프로그래밍 방식으로 인프라를 구축하므로 수동 배포보다 속도가 빠르며 오류 발생 가능성은 줄어듭니다.
  • 재사용성
    인프라를 재사용 가능한 모듈로 구성할 수 있습니다.
  • 문서 및 버전 제어
    템플릿에는 배포된 리소스를 문서화하고, 버전 제어는 시간이 지남에 따라 인프라의 기록을 제공합니다. 오류가 발생할 경우 인프라가 정상적으로 작동했던 이전 버전으로 롤백할 수도 있습니다.
  • 유효성 검사
    템플릿에서 코드 검토를 수행하므로 오류 발생 가능성을 줄일 수 있습니다.

AWS CI/CD

 

IaC 이점

인프라를 코드형으로 구축하는 경우, 환경을 구축하면서 반복성과 재사용성의 이점을 활용할 수 있습니다. 템플릿 하나 또는 여러 템플릿의 조합으로 복잡한 동일 환경을 구축할 수 있습니다. 아래의 예에서는 아키텍처 템플릿을 사용하여 여러 AWS 리전에서 동일한 리소스를 생성합니다. 그중 하나는 개발 환경이고 다른 하나는 프로덕션 환경입니다.

 

 

특정 컨텍스트와 일치하도록 리소스를 구축하려면 조건에 따라 환경을 생성합니다. 예를 들어 개발 환경이나 프로덕션 환경에서 각기 다른 AMI를 사용하도록 템플릿을 설계할 수도 있습니다.

 

템플릿에 새로운 리소스를 추가하도록 업데이트 된다면, 이러한 환경을 시작하는 데 사용되는 템플릿을 한 번만 변경하는 것으로 모든 환경에 새로운 리소스가 추가됩니다. 이 기능을 활용해 리소스를 일관된 방식으로 더 간편하게 유지 관리할 수 있고, 작업을 병렬 처리할 수 있으므로 작업량도 줄일 수 있습니다.

반응형

'자격증 > AWS SAA' 카테고리의 다른 글

[AWS SAA] 39. 인프라 관리  (0) 2023.09.02
[AWS SAA] 38. CloudFormation  (0) 2023.09.01
[AWS SAA] 36. 자동 크기 조정  (0) 2023.08.31
[AWS SAA] 35. Elastic Load Balancing(ELB)  (0) 2023.08.30
[AWS SAA] 34. 경보 및 이벤트  (0) 2023.08.29