Init Script
- 인쇄
- PDF
Init Script
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Classic 환경에서 이용 가능합니다.
Init Script는 미리 작성해 둔 스크립트를 서버 생성 시 자동으로 실행시킬 수 있는 기능입니다. 같은 용도의 서버를 여러 대 일괄 생성하거나, 같은 환경의 서버를 주기적으로 생성하거나 용도별로 서버 초기 환경 관리가 필요한 경우 등 여러 가지 경우에 활용할 수 있습니다.
스크립트 생성
서버 생성 시 자동으로 실행할 스크립트를 직접 생성할 수 있습니다. 스크립트를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
- Init Script 메뉴를 클릭해 주십시오.
- [Script 생성] 버튼을 클릭해 주십시오.
- 스크립트의 이름과 OS 타입을 지정하고 스크립트를 작성한 후 [Script 생성] 버튼을 클릭해 주십시오.주의
스크립트 내용에 보안 침해가 있을 수 있는 내용은 포함하지 마십시오. 이로 인한 문제 발생 시 귀책 사유가 될 수 있습니다.
- Linux의 경우 Python, Perl, Shell 등의 스크립트를 사용할 수 있습니다. 첫 줄에
#!/bin/bash
,#!/usr/bin/env python
,#!bin/perl
등과 같은 형태로 실행하려는 스크립트 경로를 지정해 주십시오. - Windows의 경우 Visual Basic 스크립트만 사용할 수 있습니다.
- 스크립트의 내용은 영문으로만 작성할 수 있으며, 한글이나 주석은 포함될 수 없습니다.
- Linux의 경우 Python, Perl, Shell 등의 스크립트를 사용할 수 있습니다. 첫 줄에
- 확인 팝업 창의 [확인] 버튼을 클릭해 주십시오.
- 스크립트가 생성됩니다.
스크립트 수정
생성한 스크립트의 OS 타입과 내용을 수정할 수 있습니다. 스크립트의 OS 타입 및 내용을 수정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
- Init Script 메뉴를 클릭해 주십시오.
- 수정할 스크립트를 선택한 후 [수정] 버튼을 클릭해 주십시오.
- 내용을 수정한 후 [Script 수정] 버튼을 클릭해 주십시오.
- 확인 팝업 창의 내용을 확인한 후 [확인] 버튼을 클릭해 주십시오.
- 스크립트가 수정됩니다.
스크립트 삭제
생성한 스크립트를 삭제하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
- Init Script 메뉴를 클릭해 주십시오.
- 삭제할 스크립트를 선택한 후 [삭제] 버튼을 클릭해 주십시오.
- 확인 팝업 창의 내용을 확인한 후 [확인] 버튼을 클릭해 주십시오.
- 스크립트가 삭제됩니다.
스크립트를 사용해 서버 생성
생성한 스크립트를 사용해 서버를 생성하는 방법은 다음과 같습니다.
참고
- 내 서버 이미지를 이용해 서버를 생성하거나 유사 서버를 생성할 때에는 스크립트를 사용할 수 없습니다.
- 서버 생성에 대한 자세한 내용은 서버 생성을 참고해 주십시오.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Server 메뉴를 차례대로 클릭해 주십시오.
- Server 또는 Bare Metal Server 메뉴를 클릭해 주십시오.
- [서버 생성] 버튼을 클릭해 주십시오.
- 생성하려는 서버 이미지 오른쪽의 [다음] 버튼을 클릭해 주십시오.
- 서버 설정 정보를 지정한 후 [다음] 버튼을 클릭해 주십시오.
- Script 선택에서 사용할 스크립트를 선택해 주십시오.
- 인증키 설정을 지정한 후 [다음] 버튼을 클릭해 주십시오.
- 네트워크 접근 설정을 지정한 후 [다음] 버튼을 클릭해 주십시오.
- 설정 내용을 확인한 후 [서버 생성] 버튼을 클릭해 주십시오.
- 서버가 생성되고 스크립트가 실행됩니다.
- 서버의 상태가 운영중으로 표시되더라도 스크립트 설치가 계속 진행 중일 수도 있습니다. 설치 완료 여부를 확인하려면 다음 경로에서 진행 상태 로그를 확인해 주십시오.
- 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
이 문서가 도움이 되었습니까?