【GCP入門編・第27回】インスタンステンプレートを使って、よく使うインスタンスを素早く立ち上げよう!

【GCP入門編・第27回】インスタンステンプレートを使って、よく使うインスタンスを素早く立ち上げよう!

GCP

投稿日:2018/12/26 | 最終更新日:2019/01/11

ロードバランサーの背後にアプリケーションサーバーを複数立ち上げる場合、どのように効率良くサーバーの起動を行えば良いでしょうか。 GCP には、 Cloud Load Balancing というサービスがあり、Compute Engine のインスタンスに対してロードバランシングを行うことが可能です。この時に、ロードバランサーの背後に配置するサーバーを管理するために使用するのが、インスタンステンプレートと、次の記事で解説するインスタンスグループです。
この記事では、インスタンステンプレートの作成方法と使用方法を解説していきます。

この記事の目的

  • インスタンステンプレートとは何かを学ぼう。
  • インスタンステンプレートの作り方と使い方を覚えよう。

インスタンステンプレートとは

インスタンステンプレートとは、 Compute Engine のインスタンスを作成するためのテンプレートとして使用される、 REST API のリソースです。

Compute Engine のインスタンスタイプ、イメージ、ブートディスクや VPC Network など、インスタンスを作成するための API リクエストで指定することのできる属性を指定することができます。インスタンスのメタデータやスタートアップスクリプト、永続ディスクやサービスアカウントなども指定することが可能です。

インスタンステンプレートはブラウザ上のコンソール、 gcloud コマンド、 API 経由で使用することが可能です。 API 経由でインスタンステンプレートを作成する場合、以下の例のような JSON でテンプレートを定義します。

{
"name": "example-template",
"properties": {
  "machineType": "n1-standard-4",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-9"
      }
    }
  ]
  }
}

上の例では、 example-template という名前でテンプレートを定義しており、 このテンプレートを使用動することで、タイプが n1-standard-4, ネットワークのインターフェースが1つ、ブートディスクが projects/debian-cloud/global/images/family/debian-9 となっているインスタンスを作成することが可能です。

インスタンステンプレートを作成する

それでは、実際にインスタンステンプレートを作成し、それを使ってインスタンスを起動してみます。まずはブラウザのコンソールを立ち上げて下さい。

コンソール左側のメニューから [Compute Engine] をクリックし、表示されたメニューの [Instance templates] をクリックします。

初めてインスタンステンプレートを作成する場合、画面には以下のように [Create Instance template] のボタンのみが表示されています。 [Create Instance template] をクリックし、インスタンステンプレートの作成に進みます。

下の画面はインスタンステンプレートの作成画面です。 Compute Engine のインスタンス作成画面とほぼ同じものが表示されています。 Machine Type を [small (1 shared vCPU)] に変更し、 [Create] をクリックします。

インスタンステンプレートの作成が完了すると、 インスタンステンプレートの一覧画面が表示されます。次のセクションでは、作成したインスタンステンプレートを使って、インスタンスを立ち上げます。

インスタンステンプレートを使ってインスタンスを立ち上げる

先ほど作成したインスタンステンプレートを使って、インスタンスを立ち上げます。

まず、インスタンステンプレートの一覧画面から、先ほど作成した [instance-template-1] をクリックします。クリックすると、以下の詳細表示画面が表示されます。

ここで、上に表示されている [Create VM] ボタンをクリックすると、インスタンスの作成画面が表示されます。インスタンステンプレートはゾーンと関係なく使用できるリソースですので、この画面でゾーンを選択し、インスタンスを起動します。

インスタンステンプレートは編集することができません。インスタンステンプレートの内容を更新したい場合は、削除して新しいインスタンステンプレートを作成しましょう。

おわりに

いかがでしたか。単純な例の紹介となってしまいましたが、インスタンスの設定項目を毎回考える必要がなくなるため、同じ設定でインスタンスを使用することが多い場合に便利に使用できる機能です。

次の記事で紹介するインスタンスグループは、インスタンステンプレートを用いて同じタイプのインスタンスを複数作成する機能です。インスタンステンプレート・インスタンスグループ・ Cloud Load Balancing を組み合わせることで、 Compute Engine のインスタンスに対してロードバランシングを行うことが可能です。

同じシリーズの記事

記事を探す

GCP のメリットを最大限に活用しよう!

GCP・G Suite のご相談・
お見積り依頼はお気軽に
TEL.03-5840-8815
お問合せフォーム TEL.03-5840-8815