Init Script
    • PDF

    Init Script

    • PDF

    Article Summary

    Classic 환경에서 이용 가능합니다.

    Init Script에서는 Init Script 메뉴의 화면 구성과 스크립트 정보에 대해 설명하고, 스크립트를 생성하고 관리하는 방법에 대해 설명합니다.

    Init Script는 미리 작성해 둔 스크립트를 서버 생성 시 자동으로 실행시킬 수 있는 기능입니다. 같은 용도의 서버 여러 대를 일괄 생성하거나, 같은 환경의 서버를 주기적으로 생성하거나, 용도별로 서버 초기 환경 관리가 필요한 경우 등 여러 경우에 활용할 수 있습니다.

    스크립트 정보 확인

    Init Script 화면에서 스크립트 정보를 확인할 수 있습니다.

    Init Script 화면

    네이버 클라우드 플랫폼 포털에서 콘솔 > Services > Compute > Server > Init Script 메뉴를 차례대로 클릭하여 Init Script 화면을 확인할 수 있습니다.

    Init Script 화면은 다음과 같이 구성되어 있습니다.

    server-initscript-classic_screen_ko

    영역설명
    ① 메뉴명현재 확인 중인 메뉴명 및 생성한 스크립트 수
    ② 기본 기능Init Script 메뉴 최초 진입 시 제공되는 기능
    • [Script 생성] 버튼: 클릭하여 스크립트 생성
    • [상품 더 알아보기] 버튼: 클릭하여 Server 소개 페이지로 이동
    • [새로고침] 버튼: 클릭하여 스크립트 목록 새로 고침
    ③ 생성 후 기능스크립트 생성 후 제공되는 기능
    ④ 검색창스크립트 이름으로 스크립트 검색
    ⑤ 스크립트 목록생성한 스크립트의 목록
    • Script 이름: 스크립트 생성 시 입력한 이름
    • 설명: 스크립트에 대한 설명
      • [수정] 버튼을 클릭하여 설명 수정 가능
    • 보기/수정: [바로가기] 버튼을 클릭하여 스크립트 정보 확인 및 수정
    • OS 타입: 스크립트를 설치할 수 있는 OS 타입
    • 생성 일시: 스크립트를 생성한 일시
    • 마지막 수정 일시: 스크립트를 마지막으로 수정한 일시

    스크립트 생성

    서버 생성 시 자동으로 실행할 스크립트를 직접 생성할 수 있습니다.
    스크립트를 생성하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
    3. Init Script 메뉴를 클릭해 주십시오.
    4. [Script 생성] 버튼을 클릭해 주십시오.
    5. 스크립트의 이름과 OS 타입을 지정하고 스크립트를 작성한 후 [Script 생성] 버튼을 클릭해 주십시오.
      주의

      스크립트 내용에 보안 침해가 있을 수 있는 내용은 포함하지 마십시오. 이로 인한 문제 발생 시 귀책사유가 될 수 있습니다.

      • 스크립트의 이름에는 3~100자의 영어 대소문자, 숫자, 하이픈(-), 언더바(_)를 입력할 수 있습니다.
      • 스크립트의 내용은 영어로만 작성할 수 있으며, 한글이나 주석은 포함될 수 없습니다.
        • Linux의 경우 Python, Perl, Shell 등의 스크립트를 사용할 수 있습니다. 첫 줄에 #!/bin/bash, #!/usr/bin/env python, #!bin/perl 등과 같은 형태로 실행하려는 스크립트 경로를 지정해 주십시오.
        • Windows의 경우 Visual Basic 스크립트만 사용할 수 있습니다.
    6. Init Script 팝업 창의 [확인] 버튼을 클릭해 주십시오.
      • 생성된 스크립트가 목록에 표시됩니다.

    스크립트 수정

    생성한 스크립트의 OS 타입과 내용을 수정할 수 있습니다.
    스크립트의 OS 타입 및 내용을 수정하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
    3. Init Script 메뉴를 클릭해 주십시오.
    4. 스크립트 목록에서 수정할 스크립트를 클릭하여 선택한 후 [수정] 버튼을 클릭해 주십시오.
    5. 내용을 수정한 후 [Script 수정] 버튼을 클릭해 주십시오.
    6. Init Script 팝업 창의 [확인] 버튼을 클릭해 주십시오.
      • 수정된 내용이 저장됩니다.

    스크립트 삭제

    생성한 스크립트를 삭제하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
    3. Init Script 메뉴를 클릭해 주십시오.
    4. 스크립트 목록에서 삭제할 스크립트를 클릭하여 선택한 후 [삭제] 버튼을 클릭해 주십시오.
    5. Script 삭제 팝업 창의 내용을 확인한 후 [확인] 버튼을 클릭해 주십시오.
      • 스크립트가 삭제되어 목록에서 사라집니다.

    스크립트로 서버 생성

    서버에서 스크립트가 자동으로 실행되게 하려면, 서버를 생성할 때 설정 정보에 스크립트를 지정해 주어야 합니다.
    서버 설정(신규 콘솔/기존 콘솔) 단계에서 Script 항목에 원하는 스크립트를 선택해 주십시오.

    참고
    • 서버 이미지를 이용해 서버를 생성하거나 유사 서버를 생성할 때에는 스크립트를 사용할 수 없습니다.
    • 서버 생성이 완료되어 운영중으로 표시되더라도 스크립트 설치가 계속 진행 중일 수 있습니다. 설치 완료 여부를 확인하려면 진행 상태 로그를 확인해 주십시오.
      • Linux: /var/log/ncloud-init.log
      • Windows: C:\Program Files(X86)\NBP\ncloud-init\logs

    스크립트 예시

    다음의 스크립트 예시를 참고해 주십시오.

    Linux 서버

    Linux 서버에서 사용할 수 있는 스크립트의 예시를 안내합니다.

    Apache HTTP Server 설치

    Apache HTTP Server를 설치하는 스크립트는 다음과 같습니다.

    Perl 스크립트 예시

    #!/usr/bin/perl –w
    
    $result = `yum update-to httpd`;
    
    if ($result =~ /but not installed/) {
      print "http available\n";
      if ($result =~ /httpd available/) {
        print "http not installed\n";
        $iresult = `yum -y install httpd`;
        if ($iresult =~ /Complete/) {
          print "http installed\n";
          open (WP, ">/var/www/html/index.html") || die "cannot open index.html\n";
          print WP `ifconfig eth0 | grep "inet addr" | awk \'{print \$2}\'`;
          close(WP);
          `chkconfig --level 345 httpd on`;
          `service httpd restart`;
        }
      }
      else {
        print "http NOT available\n";
      }
    }
    else {
      print "http already installed\n";
    }
    

    Shell 스크립트 예시

    #!/bin/sh
    
    result=`yum update-to httpd`
    
    if [[ $result =~ *"but not installed"* ]]
    then
       if [[ $result =~ *"httpd available"* ]]
       then
          echo 'http available'
          echo 'http not installed'
    
          $iresult=`yum -y install httpd`
    
          if [[ $iresult =~ *"Complete"* ]]
          then
             echo 'http installed'
             echo 'test' >> /var/www/html/index.html
    
             /sbin/chkconfig --level 345 httpd on
             /sbin/service httpd restart
          fi
       else
          echo 'http Not available'
       fi
    else
       echo 'http already installed'
    fi
    

    Windows 서버

    Windows 서버에서 사용할 수 있는 스크립트의 예시를 안내합니다.

    Java JDK 설치

    Java JDK를 설치하는 스크립트는 다음과 같습니다.

    Visual Basic 스크립트 예시

    LOG_DIRECTORY = "C:\Windows\Temp"
    DEFAULT_LOG_FILE_PATH = LOG_DIRECTORY + "\init-install.log"
    
    Set ws = CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    ' logging (file & stdout)
    Function logInfo(str)
        WScript.Echo CStr(Now()) + " [INFO]: " + str
        Set objFile = objFSO.OpenTextFile(DEFAULT_LOG_FILE_PATH, 8, True)
        objFile.WriteLine CStr(Now()) + " [INFO]: " + str
        objFile.Close
    End Function
    
    tmp_jdk_download_path="C:\Windows\Temp\jdk.exe"
    jdk_installer_url="http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-windows-x64.exe"
    
    cmd="wget --no-check-certificate --no-cookies --header ""Cookie: oraclelicense=accept-securebackup-cookie"" " + jdk_installer_url + " -O " + tmp_jdk_download_path + " -c"
    
    
    ' download jdk
    ws.Run cmd,,TRUE
    
    WScript.Sleep 5000
    
    javaInstallCmdStr = "C:\Windows\Temp\jdk.exe /s /L C:\Windows\Temp\jdk-install.log"
    Set oExec1 = ws.Exec(javaInstallCmdStr)
    
    Do While oExec1.Status = 0
        loginfo "Info: Wait for install JDK to finish."
        WScript.Sleep 10000
    Loop
    

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.