클라우드 스크립트 및 클라우드 스크립트 템플릿

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2026년 06월 16일
  • 소요 시간: 5분
  • 클라우드 프로비저닝 및 거버넌스 애플리케이션에서 스크립트 실행은 클라우드 스크립트와 클라우드 스크립트 템플릿으로 나뉩니다. Blueprint, 자원 블록, OS 프로파일에 있는 스크립트를 사용하고 정책 스크립트를 사용하여 요청 양식 속성을 설정합니다. 정책 스크립트는 사용자 데이터를 재정의할 수 없습니다.

    클라우드 스크립트

    클라우드 스크립트는 플랫폼 기능을 사용하는 단순한 Java 스크립트입니다. 예시 클라우드 스크립트의 예:
    function evaluateTemplate() {
    	// Template Resolver is a helper function which we will use to fetch a template and replace its parameters,
    	// var templateResolver=new TemplateResolver(); this comes inbuild
    	// templateAttributes below will passed from the user.
    	var listDir=templateResolver.getTemplate('Install',templateAttributes);
    	return listDir;
    }
    

    각 클라우드 스크립트에는 특정 매개변수가 포함되어 있습니다. 매개변수는 액세스하려는 속성입니다. 매개변수에는 이름, 기본값 및 재정의 값이 포함됩니다. 기본값은 자원 블록에 사용 되는 문자열 리터럴, 자원 블록 매개변수 또는 양방향 스크립트 표현식인 값이 될 수 있습니다.

    기본적으로 클라우드 스크립트는 templateResolver 객체에 대한 액세스 권한을 가집니다. 기본적으로 templateResolver 객체에는 첫 번째 매개변수가 클라우드 스크립트 템플릿 이름인 gettemplate 메서드가 있습니다. templateAttributes는 클라우드 스크립트의 일부로 만들어진 클라우드 스크립트 매개변수입니다. 필요한 경우 templateAttributes에서 사용자 지정을 수행할 수 있습니다. 예를 들어, DevName 매개변수 값을 John에서 Emily로 변경해야 하는 경우 다음 코드 스니펫을 참조하십시오.

    function evaluateTemplate() {
    	// Template Resolver is a helper function which we will use to fetch a template and replace its parameters,
    	// var templateResolver=new TemplateResolver(); this comes inbuild
    	// templateAttributes below will passed from the user.
    	templateAttributes['DevName'] = 'Emily';
    	var customNodeName;
    	var now_GR = new GlideRecord('some_custom_table_to_query');
    	gr.addQuery('some_parameter','some_value');
    	gr.query();
    	if(gr.next())
    	 	customNodeName=gr.getValue('some_custom_node_name');
    		
    	templateAttributes['NodeName'] = customNodeName;
    	var listDir=templateResolver.getTemplate('Install',templateAttributes);
    	return listDir;
    }
    evaluateTemplate();
    

    클라우드 스크립트 템플릿

    클라우드 스크립트 템플릿은 실제로 실행이 가능하며 실행을 위해 가상 머신에 전달됩니다. 클라우드 템플릿은 실행 컨텍스트에 따라 모든 종류(Shell/PowerShell/CloudInit)가 될 수 있습니다. 먼저 클라우드 템플릿을 만든 다음 클라우드 스크립트와 연결해야 합니다.

    클라우드 스크립트(CloudInit)

    클라우드 제공자는 가상 머신에 부팅 시간에 스크립트를 실행하는 방법을 제공합니다. 클라우드 관리 애플리케이션에서는 다음과 같은 다양한 수준에서 cloudinit 스크립트를 지정할 수 있습니다.
    • 이미지 수준: 클라우드 스크립트를 만들 때 이 스크립트를 실행할 대상 이미지를 지정할 수 있습니다. 이 특정 이미지를 포함하는 OS 프로파일이 선택되면 이 이미지에 대한 기본 클라우드 스크립트가 실행됩니다. 아래 예시에서는 Apache 클라우드 스크립트가 특정 이미지와 연결되어 있습니다.

      이미지와 연결된 Apache 클라우드 스크립트.

    • OS 프로파일 수준: 특정 클라우드 제공자와 특정 AMI/이미지에 대해 cloudinit를 실행할 수 있습니다. 또한 원본 이미지에 관계 없이 cloudinit를 OS 프로파일에 연결할 수도 있습니다. 다음 예시에서는 여러 이미지가 OS 프로파일과 연결되어 있습니다. 클라우드 스크립트 OS 프로파일 매핑 탭에서 OS 프로파일에 클라우드 스크립트를 매핑할 수 있습니다. OS 프로파일을 사용하는 클라우드 스크립트의 매핑은 이미지 수준의 클라우드 스크립트 연결보다 우선합니다.

      OS 프로파일의 클라우드 스크립트 기본값

      이 예에서 Apache 클라우드 스크립트는 Centos OS 프로파일에 매핑됩니다. 필요한 경우 OS 프로파일 매핑 재정의 섹션에서 스크립트 매개변수를 재정의할 수 있습니다.
    • 자원 블록: 클라우드 스크립트를 OS 프로파일에 매핑하는 동안 Blueprint에 사용되는 특정 자원 블록과 특정 자원 별칭에 대해 클라우드 스크립트를 실행할지 여부를 선택할 수 있습니다. OS 프로파일 생성 문서를 참조하십시오.

    클라우드 스크립트(Postinit)

    클라우드 스크립트를 자원 블록에서 Postinit 스크립트로 사용할 수 있습니다. 프로비저닝할 가상 머신이 있는 자원 블록을 만든 후에 ExecuteScript 작업을 추가할 수 있습니다. ExecuteScript 작업은 스크립트 매개변수(클라우드 스크립트 풀)를 사용하며 실행할 스크립트를 선택할 수 있습니다. ExecuteScript 작업의 ScriptParameters 속성을 사용하여 모든 스크립트 매개변수를 재정의합니다. 스크립트 매개변수 및 해당 재정의 값의 JSON 맵을 제공할 수 있습니다. ScriptParamters 속성의 클라우드 관리 작업에서 지원하는 모든 표현식입니다.