Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Init Script

Prev Next

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

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

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

스크립트 정보 확인

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

Init Script 화면

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

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

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

스크립트 생성

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

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

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

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

스크립트 수정

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

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

스크립트 삭제

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

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
  2. Init Script 메뉴를 클릭해 주십시오.
  3. 스크립트 목록에서 삭제할 스크립트를 클릭하여 선택한 후 [삭제] 버튼을 클릭해 주십시오.
  4. 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