Google Compute Engine では、Google インフラで仮想マシンを作成および実行できます。Compute Engine は、Google インフラストラクチャ上で簡単に大きいコンピューティング クラスタを起動できる規模、パフォーマンス、および価値を備えています。先行投資なしで、高速に動作し、一貫性の高いパフォーマンスを提供するように設計されたシステムで数百万件の仮想 CPU を実行できます。
各種 Linux (Debian、Ubuntu、Suse、Red Hat、CoreOS) および Windows Server を含む各種オペレーティング システムを実行する仮想マシンを作成できます!
本ラボでは、仮想マシン タイプの仮想マシン インスタンスの作成方法について学びます。
全てのパソコンは Codelab のみの使用となります!
ログイン後https://kiosk.gcplab.me/next17-tokへアクセスしてください。
退出なさる時はログアウトを忘れずにお願いいたします。
講師は、セットアップ済みの既存のプロジェクトで一時アカウントをあなたと共有するので、課金の有効化や本コードラボの実行に伴うコストについては心配いりません。それらのアカウントはすべて、コードラボ終了直後に無効化されます。
ログインに使用する一時ユーザー名/パスワードを講師から受け取った後、Google Cloud Console にログインします。https://console.cloud.google.com/.
割り当てられたプロジェクト ID をメモしてください (上のスクリーンショットでは「next17-t
ok-xxxx」)。以降、本コードラボでは PROJECT_ID と呼びます。
Certain Compute Engine リソースは、リージョンまたはゾーンにあります。リージョンは、リソースを実行できる特定の地理的位置です。リージョンは、1 つまたは複数のゾーンで構成されます。たとえば、us-central1 リジョーンは、us-central
1-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 (https://console.cloud.google.com) に移動します。ラボプロクターから与えられたログイン資格情報を使用します。
Google Developer Console で、画面左上の [Menu] アイコンをクリックします。
次に、Compute Engine > VM Instances に移動します。
初めて初期化する場合、1 分程度かかる場合があります。初期化後、プロジェクトに仮想マシン インスタンスがない場合、次のように表示されます。
東京リージョンにインスタンスを作成します。新規インスタンスを作成するには、[Create instance] をクリックします。
新規インスタンス作成時に設定できる多くのパラメータがあります。次のものを使用しましょう。
名前 |
|
ゾーン |
ゾーンの詳細については、『地域及びゾーン説明書』を参照してください。 注: 選択されたゾーンは後で必要になります。 |
マシン タイプ |
これは、1-CPU, 3.75GB RAM インスタンスです。 ミクロ インスタンス タイプから 32 コア/208GB RAM インスタンス タイプに至るまで、多くのマシン タイプがあります。詳細については、Machine Types 説明書を参照してください。 注:新規プロジェクトには、CPU コアの数を制限するデフォルト リソース クォータがあります。プロジェクトについて、さらに要求できます。 |
ブート ディスク |
次のような、さまざまなイメージから選択できます。Debian、Ubuntu、CoreOS、およびRed Hat Enterprise Linux、Windows Server などのプレミアム イメージ。詳細については、Operating System 説明書を参照してください。 注: オプションで |
Allow HTTP Traffic |
後でインストールする Web サーバーにアクセスできるよう、このオプションをチェックします。 注: これによって、自動的に、ポート 80 に HTTP トラフィックを許可するファイアウォール ルールが作成されます。 |
[Create] をクリックして、新規仮想マシン インスタンスを作成します。
終了後、[VM Instances] ページで新規仮想マシンを確認します。VM インスタンス ページ上でマシンの External IP
をメモします。それは、後で必要になります。
仮想マシンへの SSH を使用するには、右側の [SSH] をクリックしてください。
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 ベース仮想マシンには、必要な開発ツール (gcloud,git
など) がすべてロードされており、永続的な 5GB ホーム ディレクトリを提供します。
画面右上のアイコンをクリックして、Google Cloud Shell を開きます。
開いたら、gcloud
を使用して、コマンド ラインから新しい仮想マシン インスタンスを作成できます。
$ gcloud compute instances create gcelab2 --zone asia-northeast1-c Created [...]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS myinstance asia-northeast1-c n1-standard-1 10.240.X.X X.X.X.X RUNNING
いくつかのデフォルト値を使用して、インスタンスが作成されました。
n1-standard-1
マシン タイプ
. n1-highmem-4、n1-highcpu-6、 な
ど、他のマシン タイプを選択できます。ニーズにマッチする定義済みマシン タイプがない場合、カスタム マシン タイプを使用します。すべてのデフォルトを確認するには、gcloud compute instances create --help を実行します。
最後に、gcloud を使用して、インスタンスに SSH を使用できます。
$ gcloud compute ssh gcelab2 --zone asia-northeast1-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 に簡単にマッピングできます。