Google Compute Engine では、Google インフラで仮想マシンを作成および実行できます。Compute Engine は、Google インフラストラクチャ上で簡単に大きいコンピューティング クラスタを起動できる規模、パフォーマンス、および価値を備えています。先行投資なしで、高速に動作し、一貫性の高いパフォーマンスを提供するように設計されたシステムで数百万件の仮想 CPU を実行できます。

各種 Linux (Debian、Ubuntu、Suse、Red Hat、CoreOS) および Windows Server を含む各種オペレーティング システムを実行する仮想マシンを作成できます!

本ラボでは、仮想マシン タイプの仮想マシン インスタンスの作成方法について学びます。

学習内容

必要な環境

本チュートリアルをどのように使用しますか?

通読するだけ 通読し、演習をこなす

Google Cloud Platform についてのあなたの習熟度として、最も適切なものを選択してください

初心者 中級者 上級者

自己学習環境セットアップ

Google アカウント (Gmail または Google Apps) をまだ持っていない場合、作成する必要があります。Google Cloud Platform コンソール (console.cloud.google.com) にサインインし、新しいプロジェクトを作成します。

すべての Google Cloud プロジェクトで一意の名前であるプロジェクト ID (上記の名前はすでに取得されているため、使用できません!) を覚えてください。以降、本コードラボでは PROJECT_ID. と呼びます。

次に、Cloud Datastore、Cloud Storage などの Google Cloud リソースを使用するには、Developers Console で課金を有効にする必要があります。

本コードラボの実行には数ドルもかかりませんが、より多くのリソースを利用するか、実行し続けると、より多く料金がかかる場合があります (本書末尾の「クリーンアップ」セクションを参照してください)。

Google Cloud Platform の新規ユーザーは、300 ドル無料トライアルの対象となります。

Certain Compute Engine リソースは、リージョンまたはゾーンにあります。リージョンは、リソースを実行できる特定の地理的位置です。リージョンは、1 つまたは複数のゾーンで構成されます。たとえば、us-central1 リジョーンは、us-central1-a、us-central1-b、および us-central1-fゾーンが含まれるアメリカ中部のリージョンを示しています。

仮想マシンインスタンスおよび永続ディスクは、ゾーンにあり、それらはゾーン リソースとして参照されます。スタティック外部 IP アドレスなど、その他のリソースはリージョンにあり、リージョン リソースとして参照されます。リージョン リソースは、ゾーンにかかわらずそのリージョンのリソースであればどれでも使用できます。一方、ゾーン リソースを使用できるのは、同じゾーンの他のリソースのみです。たとえば、ディスクを仮想マシン インスタンスに追加するには、両方のリソースが同じゾーンになければなりません。同様に、スタティック IP アドレスを仮想マシン インスタンスに割り当てたい場合、仮想マシン インスタンスはスタティック IP と同じリージョンになければなりません。

最後に、これも重要なことですが、ゾーンによって、物理ハードウェアのタイプは異なります。たとえば、us-central1-a ゾーンは Sandy Bridge プロセッサを使用し、us-central1-c は Haswell プロセッサを使用します。

本セクションでは、Cloud Console からの新規 Google Compute Engine 仮想マシン インスタンスの作成方法について学びます。

Google Cloud Console へのログイン

他のブラウザ タブ/ウィンドウから Google Cloud Console (https://console.cloud.google.com) に移動します。ラボプロクターから与えられたログイン資格情報を使用します。

Compute Engine

Google Developer Console で、画面左上の [Menu] アイコンをクリックします。

次に、Compute Engine > VM Instances に移動します。

初めて初期化する場合、1 分程度かかる場合があります。初期化後、プロジェクトに仮想マシン インスタンスがない場合、次のように表示されます。

新規インスタンスの作成

新規インスタンスを作成するには、[Create instance] をクリックします。

新規インスタンス作成時に設定できる多くのパラメータがあります。次のものを使用しましょう。

名前

gcelab

ゾーン

us-central1-c

ゾーンの詳細については、『地域及びゾーン説明書』を参照してください。

: 選択されたゾーンは後で必要になります。

マシン タイプ

1 vCPU (n1-standard-1)

これは、1-CPU, 3.75GB RAM インスタンスです。

ミクロ インスタンス タイプから 32 コア/208GB RAM インスタンス タイプに至るまで、多くのマシン タイプがあります。詳細については、Machine Types 説明書を参照してください。

:新規プロジェクトには、CPU コアの数を制限するデフォルト リソース クォータがあります。プロジェクトについて、さらに要求できます。

ブート ディスク

New 10 GB standard persistent disk

Image: Debian GNU/Linux 8.3 (jessie)

次のような、さまざまなイメージから選択できます。Debian、Ubuntu、CoreOS、およびRed Hat Enterprise Linux、Windows Server などのプレミアム イメージ。詳細については、Operating System 説明書を参照してください。

注: オプションで、SSD Persistent Disk も選択できます。

Allow HTTP Traffic

Checked

後でインストールする Web サーバーにアクセスできるよう、このオプションをチェックします。

注: これによって、自動的に、ポート 80 に HTTP トラフィックを許可するファイアウォール ルールが作成されます。

[Create] をクリックして、新規仮想マシン インスタンスを作成します。

終了後、[VM Instances] ページで新規仮想マシンを確認します。VM インスタンス ページ上でマシンの External IP をメモします。それは、後で必要になります。

仮想マシンへの SSH を使用するには、右側の [SSH] をクリックしてください。

NGINX Web サーバーのインストール

ssh 適用後、sudo を使用して、root アクセスを取得します。

$ sudo su -

root ユーザーとして、NGINX をインストールします。

$ apt-get update
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Ign http://httpredir.debian.org jessie InRelease                                                          
Get:2 http://security.debian.org jessie/updates/main amd64 Packages [247 kB]
...
$ apt-get install nginx -y
Reading package lists...Done
Building dependency tree       
Reading state information...Done
The following extra packages will be installed:
...

NGINX が動作中であることを確認します。

$ ps auwx | grep nginx
root      1373  0.0  0.0  91180  2960 ?        Ss   03:59   0:00 nginx: master process /usr/sbin/nginx -g daemon on
; master_process on;
www-data  1374  0.0  0.0  91544  3652 ?        S    03:59   0:00 nginx: worker process                           
www-data  1375  0.0  0.0  91544  3652 ?        S    03:59   0:00 nginx: worker process                           
www-data  1376  0.0  0.0  91544  3652 ?        S    03:59   0:00 nginx: worker process                           
www-data  1377  0.0  0.0  91544  3652 ?        S    03:59   0:00 nginx: worker process

よくできました!では、Web ページを見てみましょう!メモしておいた仮想マシン インスタンスの External IP を使用し、新しいブラウザ ウィンドウ/タブで、http://EXTERNAL_IP/ にアクセスしてください。デフォルト ページが表示されます。

Google Cloud Console を使用して仮想マシン インスタンスを作成するのではなく、gcloud というコマンド ライン ツールを使用することも可能です。

Google Cloud Shell (Cloud で動作するコマンド ライン環境) を使用します。この Debian ベース仮想マシンには、必要な開発ツール (gcloudgit など) がすべてロードされており、永続的な 5GB ホーム ディレクトリを提供します。

画面右上のアイコンをクリックして、Google Cloud Shell を開きます。

開いたら、gcloud を使用して、コマンド ラインから新しい仮想マシン インスタンスを作成できます。

$ gcloud compute instances create gcelab2 --zone us-central1-c
Created [...].
NAME       ZONE           MACHINE_TYPE  PREEMPTIBLE INTERNAL_IP EXTERNAL_IP    STATUS
myinstance europe-west1-c n1-standard-1             10.240.X.X  X.X.X.X        RUNNING

いくつかのデフォルト値を使用して、インスタンスが作成されました。

最後に、gcloud を使用して、インスタンスに SSH を使用できます。

$ gcloud compute ssh gcelab2 --zone us-central1-c
Warning:Permanently added '130.211.124.238' (ECDSA) to the list of known hosts.
...
username@gcelab2:~$

リモート シェルから終了して、SSH から切断します。

username@gcelab2:~$ exit

前のセクションでは、仮想マシン用に選択できる多くの定義済みマシン タイプがあることを学びました。ただし、定義済みマシン タイプがニーズにマッチしない場合、カスタム仮想ハードウェア設定でインスタンスを作成できます。具体的には、効果的にカスタム マシン タイプを使用して、カスタム数の vCPU およびメモリ容量のインスタンスを作成できます。

Google Cloud Console を使用して、他の仮想マシンを作成し、[Customize] をクリックしてカスタム マシン タイプを選択します。

そして、スライダーを使用して、使用するコアの正確な数とメモリを選択します。

2 vCPU および 5 GB の RAM で仮想マシン インスタンスを作成します。

Google Compute Engine は、Google Cloud Platform の Infrastructure-as-a-Service の基礎です。既存のサーバー インフラストラクチャ、負荷分散装置、およびネットワーク トポロジを Google Cloud Platform に簡単にマッピングできます。

おさらい

次のステップ