Init Script
    • PDF

    Init Script

    • PDF

    Article Summary

    Classic環境で利用できます。

    Init Scriptでは、 Init Script メニューの画面構成とスクリプト情報について説明し、スクリプトの作成と管理方法について説明します。

    Init Scriptはあらかじめ作成しておいたスクリプトをサーバ作成時に自動実行できる機能です。同じ用途のサーバを複数台一括作成したり、同じ環境のサーバを定期的に作成したり、用途別にサーバ初期環境管理が必要な場合など様々な場合に活用できます。

    スクリプト情報確認

    Init Script画面でスクリプト情報を確認できます。

    Init Script画面

    NAVERクラウドプラットフォームポータルで、 コンソール > Services > Compute > Server > Init Script メニューを順にクリックすると、Init Script画面を確認できます。

    Init Script画面は、以下のように構成されています。

    server-initscript-classic_screen_ja

    領域説明
    ① メニュー名現在確認中のメニューの名前および作成したスクリプト数
    ② 基本機能Init Scriptメニューに初回アクセスすると提供される機能
    • [Script作成] ボタン: クリックしてスクリプトを作成
    • [サービスの詳細を見る] ボタン: クリックして Server紹介ページへ移動
    • [更新] ボタン: クリックしてスクリプトリストを更新
    ③ 作成後の機能スクリプト作成後に提供される機能
    ④ 検索ボックススクリプト名でスクリプトを検索
    ⑤ スクリプトリスト作成したスクリプトのリスト
    • Script 名: スクリプト作成時に入力した名前
    • 説明: スクリプトの説明
      • [修正] ボタンをクリックして説明を修正可能
    • 見る/修正: [ショートカット] ボタンをクリックしてスクリプト情報を確認・修正
    • OSタイプ: スクリプトをインストールできる OSタイプ
    • 作成日時: スクリプトを作成した日時
    • 最終修正日時: スクリプトを最後に修正した日時

    スクリプト作成

    サーバ作成時に自動実行するスクリプトを直接作成できます。
    スクリプトを作成する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの 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. NAVERクラウドプラットフォームコンソールの Region メニューや Platform メニューから利用中の環境をクリックします。
    2. Services > Compute > Server メニューを順にクリックします。
    3. Init Script メニューをクリックします。
    4. スクリプトリストから修正するスクリプトをクリックして選択した後、 [修正] ボタンをクリックします。
    5. 内容を修正し、 [Script修正] ボタンをクリックします。
    6. Init Scriptポップアップの [確認] ボタンをクリックします。
      • 修正された内容が保存されます。

    スクリプト削除

    作成したスクリプトを削除する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの 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.