Terraform으로 XenServer® 자동화

Last published : Oct 07, 2026
XenServer Terraform Provider를 사용하면 IT 관리자가 XenServer 환경에 대한 구성 및 관리 작업을 자동화할 수 있습니다. 이는 자동화를 통해 일관성을 보장하고 수동 오류를 줄이며 시간을 절약할 수 있는 대규모 설정에서 특히 유용합니다. Terraform Provider를 사용하면 다음을 수행할 수 있습니다.
  • 가상 머신(VM) 생성
  • 스냅샷 관리(생성 및 제거)
  • 스토리지 구성(로컬 및 NFS 유형 추가 또는 제거)
  • 네트워크 설정 및 관리
  • XenServer 호스트에 대한 정보 검색
XenServer Terraform Provider의 주요 이점:
  • 자동화: IaC(Infrastructure-as-Code) 방식을 통해 XenServer 환경의 배포 및 관리를 간소화합니다.
  • 효율성: VM 생성, 스냅샷 관리, 스토리지 또는 네트워크 구성과 같은 작업을 자동화하여 수동 개입을 최소화합니다.
  • 일관성: 대규모 환경 전반에 걸쳐 균일한 구성을 보장하여 오류를 최소화합니다.
  • 확장성: QA 설정과 같은 환경의 생성 및 재구축을 간소화하여 빠른 인프라 성장을 지원합니다.

전제 조건

XenServer Terraform Provider를 사용하기 전에 다음 사항을 확인하십시오.
  • Terraform 버전 1.8 이상
    공식 Terraform 설치 가이드에서 Terraform을 다운로드합니다.
    Windows 사용자는 다음 명령을 실행하여 Chocolatey를 사용하여 Terraform을 설치할 수 있습니다.
    choco install terraform
  • 관리자 액세스 권한이 있는 XenServer 인스턴스
  • XenServer API 자격 증명
    여기에는 사용자 이름, 암호 및 XenServer의 IP 주소가 포함됩니다.

시작하기

  1. Terraform 구성을 준비합니다.
    시작하려면 XenServer Terraform Provider를 Terraform 구성 파일 main.tf에 추가합니다.
    terraform {
        required_providers {
            xenserver = {
            source = "xenserver/xenserver"
            }
        }
    }

    provider "xenserver" {
        host         = "https://<ip address of XenServer>"
        username     = "root"
        password     = <root password>
        ca_cert_path = <path to cert.pem>
    }
  2. 리소스를 정의합니다.
    예를 들어, VM을 생성하려면 구성 파일에 리소스를 정의합니다.
    data "xenserver_sr" "sr" {
        name_label = "Local storage"
    }

    resource "xenserver_vdi" "vdi1" {
        name_label   = "local-storage-vdi-1"
        sr_uuid      = data.xenserver_sr.sr.data_items[0].uuid
        virtual_size = 100 * 1024 * 1024 * 1024
    }

    data "xenserver_network" "network" {}

    resource "xenserver_vm" "windows_vm" {
        name_label       = "Windows VM"
        template_name    = "Windows 11"
        static_mem_max   = 4 * 1024 * 1024 * 1024
        vcpus            = 4
        cores_per_socket = 2
        cdrom            = "win11-x64_uefi.iso"
        boot_mode        = "uefi_security"
        boot_order       = "cdn"

        hard_drive = [
            {
                vdi_uuid = xenserver_vdi.vdi1.uuid,
                bootable = true,
                mode     = "RW"
            }
        ]

        network_interface = [
            {
            device       = "0"
            network_uuid = data.xenserver_network.network.data_items[0].uuid,
            }
        ]

        other_config = {
            "tf_created" = "true"
        }
    }
    또는 NFS 스토리지 리포지토리(SR)를 생성하려면 다음을 수행합니다.
    resource "xenserver_sr" "nfs" {
        name_label   = "Test NFS SR"
        type         = "nfs"
        content_type = ""
        shared       = true
        device_config = {
            server     = "192.0.2.1"
            serverpath = "/server/path"
            nfsversion = "3"
        }
        sm_config = {
            shared = "true"
        }
    }
  3. 구성을 초기화하고 적용합니다.
    XenServer Terraform Provider를 설치하려면 다음을 실행합니다.
    terraform init
    그런 다음 정의된 리소스를 프로비저닝하려면 다음을 실행합니다.
    terraform apply
고급 구성 및 추가 리소스에 대해서는 XenServer Terraform Provider Documentation을 참조하십시오. 문제가 발생하면 지원팀에 문의하거나 GitHub 문제 티켓을 제출하십시오.

새로운 기능

XenServer Terraform Provider는 새로운 자동화 기능, 수정 사항을 도입하고 지속적인 호환성을 보장하기 위해 XenServer 버전과 독립적으로 업데이트됩니다.

젠서버 테라폼 프로바이더 0.3.0

Sep 8, 2026 출시
이번 릴리스에는 다음과 같은 보안 개선 사항이 포함되어 있습니다:
  • TLS 인증서 확인이 이제 기본적으로 활성화됩니다. ca_cert_path 속성을 XenServer 호스트의 CA 인증서(PEM) 경로로 설정하십시오. 개발 또는 테스트 목적으로만 insecure = true를 설정하여 확인을 건너뛸 수 있습니다.
  • XenServer 호스트에 대한 모든 연결은 이제 HTTPS를 사용합니다.
이번 릴리스에는 다음과 같은 개선 사항이 포함되어 있습니다:
  • Go SDK v26.16.01과 함께 XenServer Terraform Provider를 릴리스합니다.
이번 릴리스에는 다음 문제에 대한 수정 사항이 포함되어 있습니다:
  • XenServer 9 호스트에서 이름 기반 네트워크 확인이 작동하지 못하게 하던 네트워크 인터페이스 이름 지정 비호환성을 해결합니다.