Google Compute Engineで仮想マシンを作る

2015年1月30日(金)
出張 純也(でばり じゅんや)

Google Compute Engineとは

Google Compute Engine(以下、GCE)は仮想マシンを提供するサービスです。Googleが利用しているものと同じインフラを利用したサービス展開が可能となっており、高パフォーマンスの仮想マシンや、別ゾーンとの通信、ロードバランシングなどの様々な機能が利用可能です。

GCEの状況や利用目的に応じて、ゾーン、インスタンスタイプ、OS、ネットワークなどを設定して利用していく必要があります。仮想マシンが配置されるゾーンは、アメリカ(us-central1)、ヨーロッパ(europe-west1)、アジア(asia-east1)の3箇所に大別され、それぞれのゾーンの下に複数のゾーンが存在しています。ゾーンは今後追加・削除が行われる可能性があります。日本からのアクセスを想定する場合は asia-east1 のゾーンを利用すると良いでしょう。

インスタンスのタイプは標準(n1-standard)、ハイメモリ(n1-highmem)、ハイCPU(n1-highcpu)、共有コア(f1-micro、g1-small)の4種類が準備されています。OSには、無料/有料の両方があります。OSによっては、最新版や安定版など様々なバージョンが選択可能となっています。OSの種類についても今後追加されていくと思われます。

表1:GCEで利用可能なOS

無料Debian
CentOS
CoreOS
Ubuntu
有料Red Hat Enterprise Linux
SUSE
Windows Server

ネットワークについては、ファイアウォールの設定や、IPアドレス(固定IPとエフェメラルIPがある)の設定を行います。

WebインターフェースでGCEを始める

ではWebインターフェースを利用して、GCE上にWebサーバを立ててみましょう。CentOS 7上にnginxでWebサーバを構築します(図4~図6)。まずプロジェクトのページのサイドバーから、[計算処理]−[Compute Engine]−[VMインスタンス]とクリックし、開いたページで「インスタンスを作成する」をクリックします。

GCEのインスタンスを作成する

図4:GCEのインスタンスを作成する

インスタンスの設定項目

図5:インスタンスの設定項目

インスタンスの設定項目(続き)

図6:インスタンスの設定項目(続き)

必要な設定は以下の通りです。

  • ファイアウォール:HTTPトラフィックを許可する
  • ゾーン:asia-east1-a
  • マシンタイプ:n1-standard-1
  • ブートソース:イメージからディスクを新規作成
  • イメージ:centos-7-v20141205(記事執筆時点での最新版)
  • ブートディスクの種類:標準の永続化ディスク
  • 「インスタンスを削除する際にブートディスクを削除する」をチェック
  • 外部IP:エフェメラル

設定後、「作成」ボタンをクリックしてインスタンス作成を開始します。多くの場合、30秒以内に作業が完了し、画面はインスタンス一覧に変化します。この時点で、インスタンスにアクセス可能となります(図7)。

インスタンス作成が完了し、インスタンス一覧が表示される

図7:インスタンス作成が完了し、インスタンス一覧が表示される

インスタンス名の右側にある「SSH」ボタンをクリックすることで、インスタンスにSSHで接続できます。ユーザ設定やSSH公開鍵の登録など、接続に必要な設定はGCP側で自動的に行われるため、すぐに計算処理を開始することができます。

さっそく接続して、nginxをインストールします。「SSH」をクリックすると、ブラウザの新しいウィンドウでSSHクライアントが立ち上がります(図8)。

インスタンスにSSHで接続

図8:インスタンスにSSHで接続

nginxのインストールから起動までは、図9のようにコマンドを入力します。

nginxのインストールから起動まで

図9:nginxのインストールから起動まで

これでnginxが立ち上がりました。CentOSを普通に利用するのであれば、ポートを開放する必要がありますが、Google Compute Engineでは、インスタンス作成時に「HTTPポートを開放する」にチェックをしていれば、自動的にポート80が開放されるようになっています。

自動的に割り振られたURLを確認し、nginx の初期ページが表示されていれば成功です(図10)。

nginxが起動していることを確認

図10:nginxが起動していることを確認

コマンドラインでGCEを始める

GCEについては、Webインターフェースが充実しているため、わざわざコマンドラインを利用する必要はないと感じるかもしれません。しかしGCPは発展途上のプラットフォームであり、頻繁にUIが変更されます。一方コマンドラインインターフェースは、Webインターフェースより変更頻度が低いため、一度覚えてしまえば何度でも同じように作業ができます。

コマンドラインでGCEを操作するためには、gcloudコマンドのインストールが必須です。gcloudコマンドは、Google Cloud SDKから入手可能です。gcloudコマンドのインストールが終わったら、早速インスタンスを作成しましょう。図11では、Webインターフェースで作成したものと同じインスタンスを作成しています。

gcloudコマンドでインスタンスを作成してみる

図11:gcloudコマンドでインスタンスを作成してみる

これで、作成したインスタンスにSSHで接続することができました。Webインターフェースを確認すると、インスタンスが立ち上がっていることがわかります(図12)。

コマンドラインで作成したインターフェースをWebインターフェースで確認

図12:コマンドラインで作成したインターフェースをWebインターフェースで確認

図9の手順でnginxをインストール、起動してから、外部IPとして表示されているアドレスに接続して、nginx が起動していることを確認しましょう。

著者
出張 純也(でばり じゅんや)
株式会社ゴーガ エンジニア
大阪大学大学院情報科学研究科博士後期課程修了。博士(情報科学)。大学院ではソフトウェア開発におけるプロジェクト進行データをマイニングしてプロジェクト管理に役立てる研究に従事する。研究で得た多くのことを活かすべくゴーガに入社。日本酒が好きで、日本酒好き仲間を増やすべく勉強中。実は表千家茶通箱の免状を持っている。情報処理学会会員。O型のさそり座。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています