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>  # Required from version 0.3.0
    }
  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 문서를 참조하십시오. 문제가 발생하면 지원팀에 문의하거나 GitHub 이슈 티켓을 제출하십시오.

새로운 기능

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

XenServer Terraform 프로바이더 0.3.0

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

이전 릴리스

0.2.2

Mar 27, 2025 출시
이 릴리스에는 다음과 같은 개선 사항이 포함되어 있습니다:
  • XenServer Terraform Provider 종속성을 업데이트하여 업스트림 패키지의 보안 권고를 수정합니다.
  • Go SDK v25.3.0이 포함된 XenServer Terraform Provider를 릴리스합니다.

0.2.1

Jan 20, 2025 릴리스됨
이 릴리스에는 다음과 같은 새로운 자동화 기능이 도입되었습니다.
  • 전체 디스크 복사본으로 템플릿에서 VM을 생성합니다.
이 릴리스에는 다음과 같은 개선 사항이 포함되어 있습니다.
  • 사용성을 개선하기 위해 내부 참조 대신 UUID를 반환합니다.
이 릴리스에는 다음 문제에 대한 수정 사항이 포함되어 있습니다.
  • 풀을 생성, 수정 또는 삭제할 때 가끔 실패하고 오류와 함께 SSH 명령이 종료될 수 있습니다.

0.2.0

Nov 11, 2024 릴리스됨
이 릴리스에는 다음과 같은 새로운 자동화 기능이 도입되었습니다.
  • 풀에서 호스트를 쉽게 추가 및 제거하여 확장성을 개선하고 유지 관리를 간소화합니다.
  • 기본 SR 및 관리 네트워크를 업데이트합니다.
  • SMB/CIFS 스토리지를 생성 및 삭제하여 스토리지 구성에서 더 큰 유연성을 제공합니다.
이 릴리스에는 다음 개선 사항이 포함되어 있습니다.
  • VM 생성 시 디스크 수 제한을 제거하여 하드웨어 종속성을 줄이고 스토리지를 최적화합니다.
  • VM을 스냅샷으로 되돌릴 수 있도록 하여 복구 및 롤백을 더 간단하게 만듭니다.
  • 환경 변수에서 자격 증명을 읽을 수 있도록 하여 구성 관리를 간소화합니다.

0.1.2

Oct 31, 2024 출시
이 릴리스에는 다음 문제에 대한 수정 사항이 포함되어 있습니다.
  • XenServer Terraform Provider 버전 0.1.1을 사용하는 경우, Early Access에 25 September 2024, Normal에 2 October 2024 출시된 XenServer 8.4 업데이트를 적용한 후 호환성 문제가 발생할 수 있습니다. 버전 0.1.2는 이러한 호환성 문제를 해결합니다.