クラウドマスター認定試験2 - 土の試練 学習チュートリアル1

スタートアップスクリプトを使ってサーバを作ろう

チュートリアルをはじめるなら

無料クーポンでさくらのクラウドを触ってみよう!

※無料クーポンの配布期間は終了いたしました。

本チュートリアルは、teratail × さくらインターネットのインフラ構築スキル認定企画「 クラウドマスター認定試験2 クラウドクエスト 」の学習コンテンツとして作成されました。

本企画では、「さくらのクラウド」を使ってサーバを作るときにソフトウェアのインストールやセットアップを自動的に行ってくれる「スタートアップスクリプト」という機能について、3回に分けて解説します。最終的には、自分でスタートアップスクリプトを書けるようになることを目指します。

スタートアップスクリプトとは

概要

スタートアップスクリプトは、新たにサーバを作成する際、任意の「スタートアップスクリプト」を選択することにより、起動時にそれらを自動的に実行する機能です。この機能を使うと、例えばこんなことができます。

  • WordPressやRedmineなどのアプリケーションがインストールされたサーバを作り、すぐに利用できるようにする
  • 多数のユーザを登録したサーバを作り、起動したらログインできるようにする
  • サーバ内の各種設定を事前に投入する

つまり、スタートアップスクリプトを使うことで、サーバ作成後の設定作業を大幅に軽減することができます。また、今後のチュートリアルで紹介するSacloud APIと組み合わせることで、アクセスの増減に応じてシステムの規模を自動的に拡大/縮小するなど、インフラの自動化も簡単に行えるようになります。

スタートアップスクリプトの詳細な仕様は、さくらのクラウドドキュメントの「スタートアップスクリプトとは」をご参照ください。

パブリックスクリプト

スタートアップスクリプトは自分で書くこともできますが、まずは既存のスクリプトを使ってサーバを作ってみるのがよいでしょう。さくらのクラウドでは、すぐにお使いいただける設定済みの便利なスクリプトを多数用意しています。代表的なものをいくつかご紹介します。

  • メールシステム (Web UI付き)
  • WordPress (CMS)
  • マストドン (SNS)
  • Let's Encrypt (無料のSSL/TLS証明書)
  • LAMP (Linux, Apache, MySQL, PHP)
  • Ruby on Rails (Web開発フレームワーク)
  • Node-RED (GUIプログラミングツール)
  • Redmine (プロジェクト管理ツール)
  • Zabbix (監視ツール)

スタートアップスクリプトの一覧とソースコードはGitHubで公開していますので、詳しく知りたい方はそちらをご覧ください。

超入門編のゴールを確認

超入門編のゴールは、WordPressのスタートアップスクリプトを使用して、WordPressがすぐに利用できるサーバを構築することです。作成したサーバは、下図のように、インターネット回線に接続した状態で起動します。

今回作成するサーバのスペックは「CPU:1個、メモリ:1GB、ディスク:SSD 20GB、NIC:1個、OS:CentOS 6.9 64bit」です。

事前準備(無料クーポンの入手)

実際の作業に移る前に、まずは"さくらのクラウド"のアカウントを作成しましょう。作成までの全体の流れはこちらから確認できます。次の4つのステップで完了です。

なお、今回はさくらインターネットさんのご厚意で、2018/4/30までのお申し込みに限り、teratail上で2万円のクーポンIDを獲得できるようになりました。(クーポンIDは本文の冒頭から取得可能です。クーポンIDの適用方法はこちらからご確認ください。)期間中は、teratailアカウントをお持ちの方は1人1枚獲得できるので、ぜひこの機会に入手してください。

※初めてさくらのクラウドをご利用される方、または現在クーポンをご利用されていない方のみ適用可能です。

※クーポンIDの登録期限は2018/4/30(月)までです。クーポンIDを取得したら、期限までにご自身のアカウントにIDを登録するようにしてください。ID登録月を含む4ヶ月(登録日の翌々々月末まで。1月に登録した場合、4月末まで)、2万円分の割引が有効となります。

スタートアップスクリプトを使ってサーバを作成する

それではサーバを作りましょう。「さくらのクラウド」のトップページの右上「コントロールパネルログイン」より、コントロールパネルにログインしてください。ログインに成功すると、下図のようにコントロールパネルのホーム画面が表示されますので「さくらのクラウド(IaaS)」をクリックします。

すると、下図のようにサーバ作成など各種操作を行う画面に切り替わります。

ここで左サイドメニューから「サーバ」をクリックし、続いて右上の「追加」ボタンをクリックします。すると、下図のようなサーバ作成の初期画面が表示されます。

サーバ作成は通常モードで

さくらのクラウドにおけるサーバ作成には「シンプルモード」と「通常モード」があります。シンプルモードはサーバ作成時の設定項目をできるだけ少なくしたもので、簡単にサーバを作ることができますが、シンプルモードではスタートアップスクリプトを指定することができません。よって、今回は画面右上の「シンプルモード」のチェックを外します。すると下図のようにサーバの各種設定項目を細かく指定できる通常モードに遷移します。

通常モードに遷移したら、先に決めておいたサーバのスペック通りに各項目を選択していきます。ここでは、デフォルト値から変更する部分を中心に説明します。説明のない項目はデフォルト値のままで結構です。(なお、さくらのクラウドのマニュアルサイトに詳細な説明がありますので、必要に応じてご参照ください)

1. サーバプラン

仮想コア数1、メモリ 1GBを選びます。

2. ディスク

ディスクプランは「SSD」、ディスクソースは「アーカイブ」を選択します。アーカイブ選択のプルダウンメニューから「CentOS 6.9 64bit」を選択し、ディスクサイズは「20GB」を選びます。(なお、CentOSのバージョンは7.xではなく6.xを選ぶことに注意してください。これは、今回使用するスタートアップスクリプトがCentOS 6.xに対応したものだからです)

事前に推奨スペックを確認しよう

今回は最低スペックのサーバを作成していますが、使用するスタートアップスクリプトや、サーバにどれぐらいのアクセスがあるかによって、必要なスペックは異なります。サーバを作成する前に、スタートアップスクリプトの説明文やソフトウェアのドキュメントなどを読んで、推奨スペックを確認しておきましょう。

3. NIC

デフォルト値のままで結構です。

4. ディスクの修正

管理ユーザ(root)のパスワードを設定します。このパスワードはサーバにログインする時に使います。ホスト名は「wordpress」とします。公開鍵は使わないので「なし」を選択します。

スタートアップスクリプトを選択

その次に、いよいよスタートアップスクリプトを指定します。まずスタートアップスクリプトの種別として「shell」を選択します。すると、スクリプトを選ぶプルダウンメニューが出てきますので、ここでは「[public] WordPress」を選択します。

その他の設定を行う

設定項目はさらに続きます。以下のように設定してください。

5. シンプル監視

デフォルト値のままで結構です。

6. サーバの情報

名前を「wordpress」とします。説明・タグ・アイコンは設定不要です。

7. その他のオプション

デフォルト値のままで結構です。作成数は1とします。

サーバ作成を実行

ここまで設定できたら、画面最下部右側の「作成」ボタンを押します。すると、下図のような操作確認のポップアップが出ますので、「作成」を選択します。

作成を実行すると、サーバ作成作業の進捗を示す画面が表示されます。しばらく待ち、すべてのステータスが「成功」に変わったら作成完了です。完了したら「閉じる」をクリックします。

サーバの動作を確認する

サーバの作成が完了したら、動作確認をしましょう。

コントロールパネルでの確認

まず、コントロールパネルの左サイドメニューから「サーバ」をクリックします。下図のように「wordpress」が表示されていれば、サーバが作成されています。また、また、設定したホスト名(今回だと「wordpress」)の左が緑になっていれば、サーバが起動しています。

サービスが起動していることの確認

サーバの起動が確認できたら、今度はスタートアップスクリプトで指定したWordPressがインストールされ、起動していることを確認しましょう。

まずは作成したサーバのIPアドレスを取得します。先ほど表示したサーバ一覧画面にて「wordpress」の行にマウスをもっていき、右クリックして「IPアドレスをコピー」を選択すると、サーバのIPアドレスがコピーされます。次に、ブラウザの新しいタブを開き、「http://サーバのIPアドレス/」にアクセスします。WordPressの初期画面が表示されたら正常に起動しています。

サーバ起動=構築完了ではない

今回指定したWordPressのスタートアップスクリプトは比較的短時間で完了するため、おそらくサーバが起動したらすぐにWordPressの初期画面にアクセスできると思います。しかし、スタートアップスクリプトの中には、ソフトウェアのサイズが大きいためダウンロードに時間がかかるとか、設定作業が膨大などの理由で処理に時間がかかるものもあり、そのような場合はサーバ起動後もスクリプトの処理が続きます。スクリプトの説明文に予想処理時間が書いてあるときは、所定の時間が経過してからサーバにアクセスしてください。

まとめ

今回は、スタートアップスクリプトの初歩として、これを使ってサーバを作成する方法を説明しました。インストールや設定のコマンドを自分で打たなくてよいので、実用的なサーバが簡単に作れることをおわかりいただけたかと思います。ぜひ活用してみてください。
次回は、公開されているスタートアップスクリプトを読んで理解するとともに、これを自分の要件に合わせて編集して使う方法をお伝えします。

ここまでの内容を理解できているか確かめよう!

※ チュートリアルのステータスを「完了」にするためにはチェックテストを受ける必要があります。