라벨이 Terraform인 게시물 표시

CloudFormation vs Terraform

이미지
클라우드 인프라 구성을 최대한 자동화 하는 것이 플랫폼 관리 측면에서 매우 중요하다. 인프라 관리를 위해 코드(Code)를 사용하는 것이 필요하게 되었고, 여러개의 IAC ( Infrastructure As Code ) Tools 들을 검토하게 되었다.  여러 Tools 중에  CloudFormation 과 Terraform 이 가장 , 이를 비교 하였다. Terraform CloudFormation AWS 지원 거의 모든 서비스 가능 거의 모든 서비스 가능 멀티 클라우드 YES NO 커뮤니티 활성화 YES NO 프로그래밍 코드 길이 SHORT LONG 모듈화 SIMPLER Nested stacks GUI 제공 NO YES State 관리 프로세스 제공 NO YES 병렬처리 방지 제공 NO YES 에러 핸들링과 롤백 제공 NO YES 지원 및 라이센스 Free Free, Enterprise 고려해볼 다른 도구들 Pulumi AWS CDK, Troposphere 멀티 클라우드 지원 CloudFormation 은 AWS 만을 지원합니다. Terraform 은 거의 모든 주요 클라우드 공급자 및 Kubernetes 및 Docker와 가은 다양한 도구를 사용할 수 있습니다. 프로그래밍 코드 길이 CloudFormation 에서 인프라는 template 으로 불리는 JSON 또는 YAML 파일로 정의합니다.  복잡한 자원에 대해서는 상당히 길고 혼동 될 수 있습니다. "if" 및 "and" 구문은 지원되나 "for-loop" 또는 "if-else"구문은 사용할 수 업습니다. Terraform  은 HCL(Hashicorp Configuration Language)이 있습니다.  Terraform template는 읽기 쉽고 효율적입니다. 보통 동일한 인프라를 CloudFormation 보다 적은 코드로 구성 가능합니다. 관리 프로세스 CloudFormation 은 AWS 의 관리형 서비스 입니다. ...

Terraform

이미지
  테라폼 Hashicorp 사에서 오프소스로 개발한 범용 인프라 스트럭쳐 관리 도구입니다. 인프라를 안전하고 효율적으로 구축, 변경 및 버전 관리하기 위한 인프라 구축 자동화 도구 입니다. 주요 기능들은 아래와 같습니다. Infrastructure as Code : 인프라를 코드로 관리하여 버전화 할 수 있고, 쉽게 공유하고 재사용 할 수 있습니다. Execution Plans : apply 를 호출 할 때 terraform 이 수행할 작업을 미리 보여줍니다. Resource Graph : 모든 리소스의 그래프를 작성하여 효율적으로 인프라를 구축하고 인프라의 종속성에 대한 인사이트를 얻습니다. Change Automation : 복잡한 변경 집합을 인프라에 자동 적용 할 수 있습니다. 실행계획 및 리소스 그래프를 사용하면 많은 인적 오류를 피하고 Terraform이 어떤 순서로 변경 될 지 정확하게 알 수 있습니다. 관련 사이트들은 아래와 같습니다. 공식 사이트 :  https://www.terraform.io/ 지원하는 AWS 서비스 목록 :  https://www.terraform.io/docs/providers/aws/ 기초 튜토리얼 :  https://www.44bits.io/ko/post/terraform_introduction_infrastrucute_as_code 커뮤니티 :  https://www.terraform.io/community.html 개념 provisioning 어떤 프로세스나 서비스를 실행하기 위한 준비 단계를 프로비저닝이라고 이야기합니다. 프로비저닝에는 크게 네트워크나 컴퓨팅 자원을 준비하는 작업과 준비된 컴퓨팅 자원에 사이트 패키지나 애플리케이션 의존성을 준비하는 단계로 나뉘어집니다. 명확한 경계는 불분명하지만 테라폼은 전자에 치우쳐있는 도구라고 할 수 있습니다. provider 테라폼과 외부 서비스를 연결해주는 기능을 하는 모듈입니다. 예를 들어 테라폼으로 AWS ...