Init Script
    • PDF

    Init Script

    • PDF

    기사 요약

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

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

    스크립트 생성

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

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

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

      • Linux의 경우 Python, Perl, Shell 등의 스크립트를 사용할 수 있습니다. 첫 줄에 #!/bin/bash, #!/usr/bin/env python, #!bin/perl 등과 같은 형태로 실행하려는 스크립트 경로를 지정해 주십시오.
      • Windows의 경우 Visual Basic 스크립트만 사용할 수 있습니다.
      • 스크립트의 내용은 영문으로만 작성할 수 있으며, 한글이나 주석은 포함될 수 없습니다.
    7. 확인 팝업 창의 [확인] 버튼을 클릭해 주십시오.
      • 스크립트가 생성됩니다.

    스크립트 수정

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

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

    스크립트 삭제

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

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

    스크립트를 사용해 서버 생성

    생성한 스크립트를 사용해 서버를 생성하는 방법은 다음과 같습니다.

    참고
    • 내 서버 이미지를 이용해 서버를 생성하거나 유사 서버를 생성할 때에는 스크립트를 사용할 수 없습니다.
    • 서버 생성에 대한 자세한 내용은 서버 생성을 참고해 주십시오.
    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
    2. Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
    3. Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
    4. Server 또는 Bare Metal Server 메뉴를 클릭해 주십시오.
    5. [서버 생성] 버튼을 클릭해 주십시오.
    6. 생성하려는 서버 이미지 오른쪽의 [다음] 버튼을 클릭해 주십시오.
    7. 서버 설정 정보를 지정한 후 [다음] 버튼을 클릭해 주십시오.
      • Script 선택에서 사용할 스크립트를 선택해 주십시오.
    8. 인증키 설정을 지정한 후 [다음] 버튼을 클릭해 주십시오.
    9. 네트워크 접근 설정을 지정한 후 [다음] 버튼을 클릭해 주십시오.
    10. 설정 내용을 확인한 후 [서버 생성] 버튼을 클릭해 주십시오.
    • 서버가 생성되고 스크립트가 실행됩니다.
    • 서버의 상태가 운영중으로 표시되더라도 스크립트 설치가 계속 진행 중일 수도 있습니다. 설치 완료 여부를 확인하려면 다음 경로에서 진행 상태 로그를 확인해 주십시오.
      • Linux 서버: /var/log/ncloud-init.log
      • Windows 서버: C:\Program Files(X86)\NBP\ncloud-init\logs

    스크립트 샘플

    다음의 스크립트 샘플을 참고해 주십시오.

    Linux 샘플

    Apache HTTP 서버를 설치하는 스크립트 샘플은 다음과 같습니다.

    • 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 샘플

    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.