산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 클라우드 컴퓨팅

Bare Metal Cloud 기반 Terraform을 사용한 코드형 인프라

IaC(Infrastructure as Code)는 가상화된 클라우드 리소스 관리 프로세스를 간소화합니다. 클라우드 네이티브 전용 서버의 도입으로 이제 동일한 수준의 유연성으로 물리적 시스템을 배포할 수 있습니다.

phoenixNAP의 클라우드 네이티브 전용 서버 플랫폼인 Bare Metal Cloud(BMC)는 IaC 호환성을 염두에 두고 설계되었습니다. BMC는 DevOps에서 가장 널리 사용되는 IaC 도구 중 하나인 HashiCorp Terraform과 완전히 통합됩니다. 이 통합을 통해 사용자는 맞춤형 Terraform 공급자를 활용하여 몇 줄의 코드로 몇 분 만에 BMC 서버를 배포할 수 있습니다.

코드로서의 인프라가 필요한 이유

코드형 인프라는 사람이 읽을 수 있는 구성 파일을 통해 클라우드 리소스 배포 및 관리 프로세스를 자동화하는 방법입니다. 속도와 민첩성이 핵심인 DevOps에서 중추적인 역할을 합니다.

IaC 이전에는 시스템 관리자가 모든 것을 손으로 배포했습니다. 모든 서버, 데이터베이스, 로드 밸런서 또는 네트워크를 수동으로 구성해야 했습니다. 이제 팀은 다양한 IaC 엔진을 활용하여 몇 분 만에 여러 제공업체의 수백 대의 서버를 가동하거나 분해합니다.

시장에는 강력한 IaC 도구가 많이 있지만 Terraform은 IaC 분야에서 가장 눈에 띄는 업체 중 하나입니다.

Terraform의 기본 사항

HashiCorp의 Terraform은 DevOps 팀이 클라우드 네이티브 리소스를 안전하게 배포, 수정 및 버전화할 수 있도록 하는 코드 엔진으로서의 인프라입니다. 오픈 소스 도구는 무료로 사용할 수 있지만 대부분의 팀에서는 협업 및 거버넌스를 지원하는 Terraform Cloud 또는 Terraform Enterprise와 함께 사용하도록 선택합니다.

Terraform으로 배포하기 위해 개발자는 HCL(HashiCorp Configuration Language)로 작성된 구성 파일에 원하는 리소스를 정의합니다. 그런 다음 Terraform은 해당 파일을 분석하여 실행 계획을 생성합니다. 사용자가 확인하면 구성 파일에 정의된 내용을 정확하게 프로비저닝하기 위한 계획을 실행합니다.

Terraform은 인프라의 원하는 상태와 기존 상태 간의 차이점을 식별합니다. 이 메커니즘은 여러 환경에서 일관성을 유지하는 것이 중요한 DevOps 파이프라인에서 필수적인 역할을 합니다.

Terraform으로 베어메탈 클라우드 서버 배포

Terraform은 소프트웨어를 지원하는 공급자 목록을 계속해서 증가시키고 있습니다. 공급자는 사용자가 구성 파일에서 초기화하는 다양한 서비스 공급자의 맞춤형 플러그인입니다.

phoenixNAP에는 자체 Terraform 공급자인 pnap이 있습니다. 모든 Bare Metal Cloud 사용자는 웹 기반 Bare Metal Cloud Portal을 사용하지 않고 BMC 서버를 배포 및 관리하는 데 사용할 수 있습니다. phoenixNAP 공급자 및 설명서의 소스 코드는 공식 Terraform 공급자 페이지에서 사용할 수 있습니다.

베어메탈 클라우드를 사용한 Terraform 사용 예

Terraform으로 BMC 서버 배포를 시작하려면 BMC 계정을 만들고 로컬 시스템 또는 원격 서버에 Terraform을 설치합니다. Terraform을 실행하기 전에 필요한 인증 데이터를 수집하여 config.yaml에 저장합니다. 파일. clientId이 필요합니다. clientSecret , 둘 다 BMC 계정에서 찾을 수 있습니다.

모든 것이 설정되면 원하는 BMC 리소스 정의를 시작합니다. 이렇게 하려면 Terraform 구성 파일을 만들고 pnap 공급자를 사용하겠다고 선언하세요. :

terraform {
  required_providers {
    pnap = {
          source = "phoenixnap/pnap"
          version = "0.6.0"
    }
  }
}

provider "pnap" {
  # Configuration options
}

configuration options용으로 예약된 섹션 BMC 인프라의 원하는 상태에 대한 설명을 포함해야 합니다.

가장 기본적인 Bare Metal Cloud 서버 구성을 배포하려면 s1.c1.small , Phoenix 데이터 센터의 Ubuntu OS 사용:

resource "pnap_server" "My-First-BMC-Server" {
    hostname = "your-hostname"
    os = "ubuntu/bionic"
    type = "s1.c1.small"
    location = "PHX"
    ssh_keys = [
       "ssh-rsa..."
    ]
    #action = "powered-on"
}

인수 이름 action 서버에서 수행할 수 있는 전원 동작을 나타내며 재부팅, 재설정, 전원 켜기, 전원 끄기, 종료가 포함됩니다. 모든 인수 이름에는 해당 값이 포함되어야 하지만 작업 인수는 정의할 필요가 없습니다.

이 Bare Metal Cloud 인스턴스를 배포하려면 terraform init를 실행하세요. Terraform에 초기화 프로세스를 시작하도록 지시하는 CLI 명령입니다.

Terraform 구성은 .tf 파일에 저장해야 합니다. 확대. Terraform은 구성을 정의하기 위해 도메인별 언어를 사용하지만 사용자는 JSON으로 구성 파일을 작성할 수도 있습니다. 이 경우 파일 확장자는 .tf.json이어야 합니다. .

모든 Terraform 구성 파일은 재사용 가능 , 확장 가능 , 버전 관리 가능 BMC 프로비저닝 체계에 대한 보다 쉬운 팀 협업을 위한 것입니다.

하나 또는 수백 대의 서버를 배포해야 하는 경우 Terraform과 BMC가 이를 가능하게 합니다. 구성 파일에 정의할 수 있는 서버 수에는 제한이 없습니다. phoenixNAP와 함께 다른 공급자를 사용할 수도 있습니다.

복잡한 설정을 더 쉽게 관리할 수 있도록 Terraform에는 모듈이라는 기능이 있습니다. — 추상적인 방식으로 환경의 아키텍처를 정의할 수 있는 컨테이너. 모듈은 하나 이상의 인프라 개체를 포함하는 다른 모듈을 호출할 수 있는 재사용 가능한 코드 덩어리입니다.

Terraform Cloud를 사용한 BMC 구성 협업

Terraform 구성을 작성하고 프로비저닝하는 방법을 배웠다면 전체 DevOps 팀이 새로운 BMC 리소스를 배포하고 기존 BMC 리소스를 수정하는 데 더 효율적으로 작업할 수 있도록 하는 방법을 설정하고 싶을 것입니다.

Terraform 구성을 버전 제어 시스템에 저장하고 무료로 Terraform Cloud에서 원격으로 실행할 수 있습니다. 이렇게 하면 잘못 구성된 리소스를 배포할 가능성을 줄이고 감독을 개선하며 모든 변경 사항이 클라우드에서 안정적으로 실행되도록 할 수 있습니다.

또한 Terraform Cloud의 원격 상태 저장소를 활용할 수도 있습니다. Terraform 상태 파일은 실제 세계에 배포된 리소스로 Terraform 구성을 매핑합니다. Terraform Cloud를 사용하여 상태 파일을 저장하면 팀이 항상 같은 페이지에 있는지 확인할 수 있습니다.

Terraform의 또 다른 큰 장점은 모든 구성 파일을 재사용할 수 있다는 것입니다. 따라서 동일한 환경을 여러 번 복제하는 것이 매우 쉽습니다. 여러 환경에서 일관성을 유지함으로써 팀은 고품질 코드를 프로덕션에 더 빠르고 안전하게 전달할 수 있습니다.

인프라 자동화

이 문서에서는 프로그래밍 방식으로 Bare Metal Cloud 리소스와 상호 작용하기 위해 Terraform의 유연성을 활용하는 방법에 대한 광범위한 개요를 제공했습니다. phoenixNAP Terraform 공급자와 Terraform Cloud를 사용하면 몇 줄의 코드로 여러 BMC 인스턴스를 빠르게 배포, 구성 및 해제할 수 있습니다.

인프라 프로비저닝에 대한 이 자동화된 접근 방식은 DevOps 워크플로의 속도와 민첩성을 향상시킵니다. BMC를 Terraform Cloud와 함께 사용하면 팀이 전용 서버가 수동으로 프로비저닝되기를 기다리는 데 시간을 낭비하지 않고 소프트웨어 구축에 집중할 수 있습니다.


클라우드 컴퓨팅

  1. 성능, 효율성을 위한 클라우드 인프라 구축
  2. IT 전문가에게 지도 제작 기술이 필요한 이유
  3. 온프레미스 인프라가 더 이상 사용되지 않습니까?
  4. 주간 패킷:흐리고 혁신 가능성
  5. 코드로서의 인프라의 장단점
  6. DevOps Services와 함께 클라우드를 사용할 때의 이점
  7. 코드 준비 컨테이너:클라우드에서 프로세스 자동화 도구 시작하기
  8. 클라우드 컴퓨팅 인프라; 기본 이해
  9. AWS 치트 시트:시험 가이드 포함
  10. 프레스 브레이크로 판금 구부리기