arrow_back

仮想マシンの作成

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

仮想マシンの作成

Lab 40分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP001

Google Cloud セルフペース ラボ

概要

Compute Engine では、Google インフラストラクチャ上でさまざまなオペレーティング システムを実行する仮想マシンを作成できます。その中には Linux の主なディストリビューション(Debian、Ubuntu、SUSE、Red Hat、CoreOS)や Windows Server などが含まれます。安定した高速パフォーマンスを提供するシステム上で、多数の仮想 CPU を運用することができます。

このハンズオンラボでは、Google Cloud コンソールと gcloud コマンドラインを使用して、さまざまなマシンタイプの仮想マシン インスタンスを作成します。また、NGINX ウェブサーバーを仮想マシンに接続する方法も学習します。

ラボからコマンドをコピーして適切な場所に貼り付けることは簡単ですが、コアコンセプトに対する理解を深めるために、コマンドをご自身で入力することをおすすめします。

演習内容

  • Cloud コンソールで仮想マシンを作成する。

  • gcloud コマンドラインで仮想マシンを作成する。

  • ウェブサーバーをデプロイし、仮想マシンに接続する。

前提条件

  • Linux の標準的なテキスト エディタ(vimemacsnano など)の使用経験があると役に立ちます。

設定

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

リージョンとゾーンについて

一部の Compute Engine リソースは、リージョンまたはゾーンに属します。リージョンとは、リソースを実行できる特定の地理的位置です。各リージョンには、1 つまたは複数のゾーンがあります。たとえば、リージョン us-central1 は米国中部のリージョンを指し、ゾーン us-central1-aus-central1-bus-central1-cus-central1-f が含まれています。

リージョン ゾーン
米国西部 us-west1-a、us-west1-b
米国中部 us-central1-a、us-central1-b、us-central1-d、us-central1-f
米国東部 us-east1-b、us-east1-c、us-east1-d
西ヨーロッパ europe-west1-b、europe-west1-c、europe-west1-d
東アジア asia-east1-a、asia-east1-b、asia-east1-c

ゾーン内にあるリソースをゾーンリソースと呼びます。仮想マシン インスタンスと永続ディスクはゾーンに属します。永続ディスクを仮想マシン インスタンスにアタッチするには、両方のリソースを同じゾーン内に配置する必要があります。同様に、インスタンスに静的 IP アドレスを割り当てるには、インスタンスが静的 IP と同じリージョンに存在している必要があります。

Compute Engine ページのリージョンとゾーンのドキュメントで、リージョンとゾーンの詳細と一覧をご確認ください。

タスク 1. Cloud コンソールから新しいインスタンスを作成する

ここでは、Cloud コンソールで Compute Engine を使って新しい事前定義のマシンタイプを作成する方法を学びます。

  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] の順にクリックします。

    最初に初期化する際は 1 分ほどかかることがあります。

  2. 新しいインスタンスを作成するには、[インスタンスを作成] をクリックします。

  3. 新しいインスタンスの作成時に構成できるパラメータは多数ありますが、このラボでは以下を使用します。

項目 その他の情報
名前 gcelab VM インスタンスの名前
リージョン リージョンについて詳しくは、Compute Engine ガイドのリージョンとゾーンをご覧ください。
ゾーン * 注: 後で必要になるので、選択したゾーンを控えておいてください。ゾーンについて詳しくは、Compute Engine ガイドのリージョンとゾーンをご覧ください。
シリーズ E2 シリーズの名前
マシンタイプ vCPU 2 個 これは(e2-medium)2 CPU、4 GB RAMのインスタンスです。マイクロ インスタンス タイプから 32 コア、208 GB RAM のインスタンス タイプまで、選択できるマシンタイプは複数あります。詳しくは、Compute Engine ガイドのマシン ファミリーについてをご覧ください。注: 新しいプロジェクトにはデフォルトのリソース割り当てが適用されるため、CPU コアの数が制限される場合があります。このラボ以外のプロジェクトで作業を行う際は、より多くの CPU コアをリクエストできます。
ブートディスク 新しい 10 GB のバランス永続ディスク OS イメージ: Debian GNU/Linux 11(bullseye) Debian、Ubuntu、CoreOS から、Red Hat Enterprise Linux や Windows Server などのプレミアム イメージまで、選択できるイメージは複数あります。詳しくは、オペレーティング システムのドキュメントをご覧ください。
ファイアウォール HTTP トラフィックを許可する 後でインストールするウェブサーバーにアクセスするために、このオプションを選択します。注: これによって、ポート 80 に HTTP トラフィックを許可するファイアウォール ルールが自動的に作成されます。
  1. [作成] をクリックします。

    マシンが作成されるまでに 1 分ほどかかります。その後、新しい仮想マシンが [VM インスタンス] ページに表示されます。

  2. SSH を使用して仮想マシンに接続するには、該当するマシンの行で [SSH] をクリックします。

    これによって、ブラウザから直接 SSH クライアントを起動できます。

    注: SSH を使用してインスタンスに接続する方法について詳しくは、Compute Engine ガイドの Google のツールを使用して Linux VM に接続するをご覧ください。

タスク 2. NGINX ウェブサーバーをインストールする

ここでは、仮想マシンを接続するために、世界的に広く利用されているウェブサーバーである NGINX ウェブサーバーをインストールします。

  1. OS を更新します。

    sudo apt-get update

    想定される出力:

    Get:1 http://security.debian.org stretch/updates InRelease [94.3 kB] Ign http://deb.debian.org strech InRelease Get:2 http://deb.debian.org strech-updates InRelease [91.0 kB] ...
  2. NGINX をインストールします。

    sudo apt-get install -y nginx

    想定される出力:

    Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: ...
  3. NGINX が実行されていることを確認します。

    ps auwx | grep nginx

    想定される出力:

    root 2330 0.0 0.0 159532 1628 ? Ss 14:06 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; www-data 2331 0.0 0.0 159864 3204 ? S 14:06 0:00 nginx: worker process www-data 2332 0.0 0.0 159864 3204 ? S 14:06 0:00 nginx: worker process root 2342 0.0 0.0 12780 988 pts/0 S+ 14:07 0:00 grep nginx
  4. ウェブページを表示するために、Cloud コンソールに戻って該当するマシンの行の [外部 IP] をクリックするか、新しいブラウザ ウィンドウまたはタブで [外部 IP] の値を http://EXTERNAL_IP/ に追加します。

    このデフォルトのウェブページが開きます。

    デフォルトの nginx ページ

    このラボの進捗状況を確認するには、下の [進行状況を確認] をクリックします。チェックマークが表示されていれば完了しています。

    Compute Engine インスタンスを作成し、NGINX サーバーをインスタンスに追加して、必要なファイアウォール ルールを設定する

タスク 3. gcloud で新しいインスタンスを作成する

Cloud コンソールを使用する代わりに、コマンドライン ツール gcloud を使用して仮想マシンのインスタンスを作成できます。このツールは Google Cloud Shell にプリインストールされています。Cloud Shell は Debian ベースの仮想マシンであり、さまざまな開発ツール(gcloudgit など)と永続的な 5 GB のホーム ディレクトリが用意されています。

注: ご自身のマシンで試す場合は、gcloud コマンドライン ツールガイドをご覧ください。
  1. Cloud Shell で、コマンドラインから gcloud を使用して新しい仮想マシン インスタンスを作成します。

    gcloud compute instances create gcelab2 --machine-type e2-medium --zone {{{project_0.startup_script.project_zone}}}

    想定される出力:

    Created [...gcelab2]. NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.3 EXTERNAL_IP: 34.136.51.150 STATUS: RUNNING

    このラボの進捗状況を確認するには、下の [進行状況を確認] をクリックします。チェックマークが表示されていれば完了しています。

    gcloud で新しいインスタンスを作成する

    新しいインスタンスには以下のデフォルト値が設定されます。

    • 最新の Debian 11(bullseye)イメージ。
    • e2-mediumマシンタイプ
    • インスタンスと同じ名前のルート永続ディスクが自動的にインスタンスに組み込まれます。

    ご自身のプロジェクトで作業している場合、カスタム マシンタイプを指定できます。

  2. すべてのデフォルトを表示するために、次のコマンドを実行します。

    gcloud compute instances create --help 注: 常に同一のリージョンまたはゾーンを使用していて、毎回 --zone フラグを追加したくない場合は、gcloud で使用されるデフォルトのリージョンとゾーンを設定できます。

    そのためには、以下のコマンドを実行します。

    gcloud config set compute/zone ...

    gcloud config set compute/region ...

  3. help を終了するには、Ctrl+C キーを押します。

  4. Cloud コンソールのナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
    新しい 2 つのインスタンスが表示されます。

  5. gcloud 経由で、SSH を使用してインスタンスに接続することもできます。必ず、該当するゾーンを追加するか、--zone フラグを除外します(このオプションをグローバルに設定した場合)。

    gcloud compute ssh gcelab2 --zone {{{project_0.startup_script.project_zone}}} __Expected output__: ```output WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. ```
  6. Y」と入力して続行します。

    Do you want to continue? (Y/n)
  7. パスフレーズ セクションでは Enter キーを押し、パスフレーズを空白のままにします。

    Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)
  8. 接続後、リモートシェルを終了して SSH 接続を解除します。

    exit

タスク 4. 理解度テスト

クイズに挑戦して Google Cloud に関する知識をチェックしましょう (正しいものをすべて選択してください)。

お疲れさまでした

Compute Engine は Google Cloud の Infrastructure as a Service の基礎となっています。Compute Engine で仮想マシンを作成したことで、既存のサーバー インフラストラクチャ、ロードバランサ、ネットワーク トポロジを Google Cloud にマッピングできるようになりました。

クエストを完了する

このセルフペース ラボは、「Google Cloud Essentials」クエストの一部です。クエストとは学習パスを構成する一連のラボのことで、このラボの修了後、こちらのクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なその他のクエストもご確認ください

次のラボを受講する

Cloud Shell と gcloud のスタートガイド」に進んでクエストを続けるか、その他の Google Cloud Skills Boost ラボをご確認ください。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2022 年 7 月 29 日
ラボの最終テスト日: 2022 年 7 月 29 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。