メニュー

Google Compute Engine (GCE) でのインスタンス起動方法!

【GCP入門編・第3回】難しくない! Google Compute Engine (GCE) でのインスタンス起動方法!

GCP

記事投稿 | 2017.05.15

Google Compute Engine (GCE) でのインスタンス起動方法!

Google Cloud Platform (GCP) では、Google Compute Engine (GCE) という Infrastructure as a Service (IaaS) を提供しています。この分野は Amazon が Amazon Web Service (AWS) を提供し始めたことで活発に利用されるようになり、現在は様々な Web サービスが AWS や GCP 、 Microsoft の運営する Azure といったクラウドサービスで運用されています。

この記事では、 Google の提供する GCE について紹介し、実際に GCE 上でインスタンスを立ち上げる方法について解説します。

この記事の目的

  • Google Compute Engine を使ってインスタンスを立ち上げてみる。
  • 簡単なサンプルアプリケーションを動作させる為に、 SSH でログインし、グローバル IP の付与を行い、 nginx をインストールする。

Google Compute Engine (GCE) とは

GCP の提供するサービスの中では、初期の頃からサービスが提供されていた PaaS である Google App Engine が有名ですが、年々サービスが追加され、現在ではコンピューティング、ストレージ、ビッグデータ、機械学習など様々なサービスが提供されています。この中で Google Compute Engine は AWS の EC2 に相当するサービスとなっており、時間あたりの課金で仮想マシンをレンタルすることができるサービスです。

GCE の特徴は何といっても、 Google が実際に運用環境で使用している強力なインフラの上で動く、ということでしょう。 Google は数年前から、自社の運用するデータセンターについて紹介するようになっており、電力の効率的な利用や高いセキュリティ、環境への配慮といった高いレベルのデータセンター運営が有名になっています。

GCE のインスタンスは Google の高品質なインフラ上で動作するため、高いネットワーク性能が期待できること、また物理的にセキュアな環境に置かれること、といった利点が期待できます。

また、コストに関しても長く稼働するインスタンスには自動的に値引きを適用する、ストレージや CPU の性能が高いため、他社に比べ性能あたりの単価は割安となる、といった点が宣伝されています。

使用感に関しても、 GCE は非常に優れたインターフェースを持っていると言えるでしょう。ブラウザから操作できるコンソールがシンプルでわかりやすく、インスタンスの立ち上げや削除といった操作は非常に直感的に行えます。 Google Cloud SDK に含まれているツールを使えば、コンソールと同様の操作をコマンドラインからも実行することが可能です。

さて、それでは早速 GCE を使用して、インスタンスを立ち上げてみましょう。 GCE の試用には GCP の試用の準備が必要です。【GCP入門編・第2回】 Google Cloud Platform (GCP) の事前準備!の記事で試用の手順を解説していますので、参考にしてください。

Google Compute Engine (GCE) でインスタンスを立ち上げてみる

今回は GCP の試用準備を完了している方々を対象に、 Compute Engine でのインスタンスの立ち上げについて解説します。

GCP のコンソールにログインし、左側のメニューから “Compute Engine” を選択します。インスタンスを立ち上げる前の状態では、左側に Compute Engine のメニュー、そして中央にインスタンスを立ち上げるためのボタンが表示されています。ここでは、 [Create Instance] をクリックしてみましょう。

01.png

クリックをすると、インスタンスを立ち上げる画面へと移動します。 Name にインスタンスの名前を入力し、 Zone の選択項目でインスタンスを立ち上げるデータセンターのゾーンを選択します。この Zone は、インスタンスが実際に配置されるデータセンターを表しています。日本からのアクセスが多いサービスの場合は東京にあるデータセンターである “asia-northeast1-a, b, c” を、アメリカからのアクセスが多い場合は “us-central1” や “us-east1” を配置する、といった使い分けが可能です。
ここではデフォルトで表示されている東京リージョンの “asia-northeast1-a” を選びます。

02.png

次に “Machine type” を選択します。 Machine type は CPU の数や設定されるメモリの量を決めるためのパラメーターです。デフォルトでは standard の “1 vCPU” が選択されていますが、時間あたりのコストが高い為、ここでは “micro” の選択をお勧めします。

Boot disk は OS のイメージの選択肢です。デフォルトでは “Debian” となっていますが、ここでは “Ubuntu 16.04 LTS” を選択します。 Identity and API access はデフォルトで設定されている “Compute Engine default service account” を、 Access scopes はデフォルトの “Allow default access” を選択します。

Firewall の項目では、そのインスタンスに外部からアクセス可能なポートを指定します。デフォルトでは外部からのアクセスは全てブロックするようになっていますので、明示的にアクセスを許可するポートを指定する必要があります。ここでは、サンプルを動作させる為に “Allow HTTP traffic” にチェックを入れておきます。これで80番ポートへの外部からのアクセスが可能になります。

ここまでの設定を終えたら、画面下部にある [Create] をクリックしましょう。

画面が遷移し、 VM Instances というタイトルの下に、新しく作成したインスタンスが表示されます。名前がデフォルトのままであれば、 ”instance-1” と表示されています。

03.png

インスタンスの起動が完了すると、緑のチェックが表示されます。 Zone, Machine type は先ほど設定した通りに ”asia-northeast1-a”, “1 vCPU, 0.6GB” となっているかと思います。 internal IP は GCP のプロジェクト内部で利用可能な IP アドレス、 External IP はグローバル IP が設定されています。なお、インスタンスを立ち上げた状態で既にグローバル IP が付与されていますので、セキュリティには十分注意が必要です。 Connect には ”SSH” と表示されています。このボタンをクリックすると、ブラウザ上にターミナル画面が表示され、下の画面のようにログインが完了した状態の画面が開きます。

04.png

このままブラウザで作業を行うよりも、ローカルマシンからログインを行う方が何かと便利ですので、先ほど設定した SSH キーを使い、ローカルマシンからのログインを試してみましょう。 macOS にデフォルトでインストールされている ssh コマンドや、 Windows でよく利用される TeraTerm、 PuTTY を利用しても良いのですが、 Compute Engine の場合は Cloud SDK の機能である ”gcloud compute ssh” が便利ですので、そちらをオススメします。

”Connect” ボタンについている下向きの三角形をクリックすると、インスタンスに接続する方法の選択肢が表示されます。この中から、 ”View gcloud command” をクリックしてみましょう。下の画面のように、 gcloud を使用してインスタンスに接続するためのコマンドが表示されます。

05.png

このコマンドでインスタンスに接続するために、まずは gcloud のインストールと設定を行います。

まず、 Cloud SDK のサイトから、 Cloud SDK をダウンロードし、次にダウンロードした圧縮ファイルを解凍し、手順に従ってインストール処理を行います。 macOS の場合は install.sh を実行、 Windows の場合はインストーラーを実行することでインストールが完了します。

インストール完了後は gcloud init コマンドを実行し、プロジェクト(本記事の場合は ”My Cloud Project” )を選択します。

ターミナルを開き、以下のコマンドを実行することで、設定が開始されます。

$ gcloud init

06.png

Google アカウントへのログインを求められますので、ログインを行います。ブラウザが開きますので、アカウントへのログインを行い、 OAuth の認証画面で許可を行います。

ターミナル画面に戻ると、下の図のようにプロジェクトの選択を求められますので、プロジェクトを選択します。

07.png

次に、 Compute Engine で利用するデフォルトのゾーンを選択します。デフォルトのゾーンは “asia-northeast1-a” を選択するのが良いでしょう。以下のコマンドをターミナルに入力します。

$ gcloud config set compute/zone asia-northeast1-a

08.png

設定が完了したら、先ほど表示した gcloud のコマンドをコピーし、ターミナルにペーストして実行します。

$ gcloud compute ssh instance-1
Updating project ssh metadata…

09.png

以上で、インスタンスに接続できたのではないでしょうか。 gcloud compute ssh コマンドを使うことで、インスタンス名で ssh アクセスすることができますので、いちいち IP アドレスを調べることなくインスタンスにアクセスすることが可能となります。

なお、この状態では Web サーバーも何も入っていない為、 nginx をインストールし、80番ポートにアクセスできることを確認します。 nginx のインストールは、 “apt-get” で行います。

$ sudo apt-get install nginx

「続行しますか?」に「Y」と答えることで、 nginx のインストールが行われます。

10.png
インストールが完了したら、 GCP のコンソールに戻り、 External IP をクリックしましょう。下図の通り、 “Welcome to nginx!” と表示されれば、インストールは無事成功です。

11.png

今回立ち上げたインスタンスを使うことで、 Web アプリケーションの立ち上げが可能になります。
その手順については、別記事にて解説いたします。

PAGE TOP