チェックポイント
Create a virtual machine with gcloud
/ 100
Cloud Shell と gcloud のスタートガイド
GSP002
概要
Cloud Shell を使用すると、Google Cloud でホストされているコンピューティング リソースにコマンドラインでアクセスできます。Debian ベースの仮想マシンである Cloud Shell は、5 GB の永続的なホーム ディレクトリを備えており、Google Cloud のプロジェクトやリソースを容易に管理できます。gcloud
コマンドライン ツールとその他の必須ユーティリティは Cloud Shell にプリインストールされており、簡単に起動して実行することができます。
このハンズオンラボでは、Cloud Shell と gcloud
ツールを使用して、Google Cloud でホストされているコンピューティング リソースに接続する方法について学びます。
基本的なコンセプトを理解できるよう、コマンドは手動で入力することをおすすめしますが、多くのラボで、必要なコマンドが含まれたコードブロックが提供されています。コードブロックのコマンドをコピーして、該当する場所に貼り付けることもできます。
演習内容
-
gcloud
コマンドの使い方について実践しながら学ぶ。 - Google Cloud でホストされているコンピューティング サービスに接続する。
前提条件
-
Linux の標準的なテキスト エディタ(
vim
、emacs
、nano
など)を使い慣れていること。
設定
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
必要なもの
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。
注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。
-
[ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。
重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後このタブで Cloud Console が開きます。
Google Cloud Shell の有効化
Google Cloud Shell は、デベロッパー ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Google Cloud Shell では、コマンドラインで GCP リソースにアクセスできます。
GCP Console の右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。
[続行] をクリックします。
環境のプロビジョニングと接続には少し時間がかかります。接続すると、すでに認証されており、プロジェクトは PROJECT_ID に設定されています。例えば:
gcloud
は Google Cloud Platform のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
出力:
ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
$ gcloud config set account `ACCOUNT`
次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project = <project_ID>
出力例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Cloud Shell を有効にした後にコマンドラインを使用して、Cloud SDK の gcloud
ツールや、仮想マシン インスタンスで利用可能なその他のツールを起動することができます。このラボでは、後ほど $HOME
ディレクトリを使用します。このディレクトリを使うと、ファイルを永続ディスク ストレージに保存して、複数のプロジェクトと Cloud Shell セッションで使用することができます。$HOME
はプライベート ディレクトリであるため、他のユーザーはアクセスできません。
タスク 1: 環境を設定する
ここでは、開発環境の設定可能な要素について学習します。
リージョンとゾーンについて
一部の Google Compute Engine のリソースは、リージョンまたはゾーンに含まれています。リージョンとは、リソースを実行できる特定の地理的位置のことです。各リージョンには、1 つまたは複数のゾーンがあります。たとえば、リージョン us-central1
は米国中部を指し、このリージョンには us-central1-a
、us-central1-b
、us-central1-c
、us-central1-f
の各ゾーンが含まれています。次の図は各リージョン内のゾーンを示しています。
Western US | Central US | Eastern US | Western Europe | Eastern Asia |
---|---|---|---|---|
us-west1-a | us-central1-a | us-east1-b | europe-west1-b | asia-east1-a |
us-west1-b | us-central1-b | us-east1-c | europe-west1c | asia-east1-b |
- | us-central1-c | us-east1-d | europe-west1-d | aisia-east1-c |
- | us-central1-f | - | - | - |
ゾーン内にあるリソースをゾーンリソースと呼びます。仮想マシン インスタンスと永続ディスクはゾーンに含まれています。仮想マシン インスタンスに永続ディスクを接続する場合は、両方のリソースを同じゾーンに配置する必要があります。同様に、静的 IP アドレスをインスタンスに割り当てるには、そのインスタンスを静的 IP アドレスと同じリージョンに配置する必要があります。
- リージョンを
に設定します。
- プロジェクトのリージョンの設定を表示するには、次のコマンドを実行します。
- ゾーンを
に設定します。
- プロジェクトのゾーンの設定を確認するには、次のコマンドを実行します。
プロジェクトの情報を確認する
-
プロジェクト ID をクリップボードまたはテキスト エディタにコピーします。プロジェクト ID は次の 2 か所に表示されます。
-
Google Cloud Console のダッシュボードにある [プロジェクト情報] の下(ナビゲーション メニュー アイコン
をクリックした後、[クラウドの概要] > [ダッシュボード] をクリック)
-
[Qwiklabs] タブのユーザー名とパスワードの付近
- Cloud Shell でプロジェクト ID を確認するには、次の
gcloud
コマンドを実行します。
-
Cloud Shell で次の
gcloud
コマンドを実行し、プロジェクトの詳細を確認します。
コマンドの出力から、ゾーンとリージョンのメタデータの値を見つけます。後ほど、この出力されたゾーン(google-compute-default-zone
)を使用します。
注意:google-compute-default-region
または google-compute-default-zone
のキーと値が出力に含まれていない場合は、デフォルトのゾーンまたはリージョンが設定されていません。
出力には、プロジェクトに関するその他の有用な情報が含まれています。時間をとって詳しく確認してください。
環境変数を設定する
環境変数とは環境を定義する変数のことです。環境変数を設定することで、API や実行可能ファイルを含むスクリプトを作成する際に時間を節約できます。
-
プロジェクト ID を格納する環境変数を作成します。
-
環境変数を作成し、ゾーンを保存します。
-
変数が適切に設定されていることを確認するために、次のコマンドを実行します。
変数が適切に設定されている場合は、echo コマンドでプロジェクト ID とゾーンが出力されます。
gcloud ツールを使用して仮想マシンを作成する
gcloud
ツールを使用して新しい仮想マシン(VM)インスタンスを作成します。
-
VM を作成するには、次のコマンドを実行します。
出力:
コマンドの詳細
-
gcloud compute
: Compute Engine のリソースを Compute Engine API よりもシンプルに管理できます。 -
instances create
: 新しいインスタンスを作成します。 -
gcelab2
: VM の名前です。 -
--machine-type
フラグ: 「e2-medium」マシンタイプを指定します。 -
--zone
フラグ: VM を作成する場所を指定します。 -
--zone
フラグを省略した場合、gcloud
ツールはデフォルトのプロパティに基づいてユーザーに適したゾーンを推定します。インスタンスに必要なその他の設定(machine type
やimage
など)がcreate
コマンドで指定されていない場合は、デフォルト値に設定されます。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。gcloud
ツールで仮想マシンを正常に作成できた場合は、評価スコアが表示されます。
-
create
コマンドのヘルプを開くには、次のコマンドを実行します。
gcloud コマンドの詳細を確認する
gcloud
コマンドの末尾に -h
フラグ(help(ヘルプ)の「h」)を付けると、使用方法に関する簡単なガイドラインが表示されます。
-
次のコマンドを実行します。
さらに詳細なヘルプを表示するには、コマンドに --help
フラグを付けるか、gcloud help
コマンドを実行します。
-
次のコマンドを実行します。
終了するには、Q
と入力して Enter を押してください。
-
次のコマンドを実行します。
gcloud config --help
コマンドと gcloud help config
コマンドはどちらも同じ結果を返し、詳細なヘルプ情報が表示されます。
gcloud
のグローバル フラグは、呼び出しごとにコマンドの動作を制御します。フラグは、SDK のプロパティで設定された値よりも優先されます。
-
使用環境の構成リストを表示してみましょう。
-
すべてのプロパティとその設定を表示してみましょう。
-
コンポーネントを一覧表示してみましょう。
このラボで使用可能な gcloud コンポーネントが表示されます。
タスク 2: コマンドラインの出力をフィルタリングする
gcloud CLI はコマンドラインで操作できる便利なツールですが、 特定の情報に絞り込んで確認したい場合があります。
- プロジェクトで利用可能なコンピューティング インスタンスを一覧表示する
一般的に、プロジェクトには複数のリソースがデプロイされています。 gcloud には特定のリソースを識別するために役立つ便利なフォーマットがいくつかあります。
出力:
- gcelab2 仮想マシンを一覧表示する
出力:
先ほどのコマンドでは、条件に一致する情報(つまり仮想マシンのインスタンス名が条件に一致するもの)のみを表示するように gcloud を指定しました。
- プロジェクト内のファイアウォール ルールを一覧表示する
出力:
- デフォルト ネットワークのファイアウォール ルールを一覧表示する
出力:
- デフォルト ネットワークのファイアウォール ルールのうち、ICMP の許可ルールと一致するものを一覧表示する
出力:
タスク 3: VM インスタンスに接続する
gcloud compute
を使用すると、インスタンスに簡単に接続できます。
gcloud compute ssh
コマンドは SSH のラッパーとして、インスタンス名から IP アドレスへのマッピングと認証を行います。
-
SSH を使用して VM に接続するには、次のコマンドを実行します。
出力:
-
続行するには、「Y」と入力します。
- パスフレーズを空白のままにするには、Enter キーを 2 回押します。
これで、ラボで先ほど作成した仮想マシンに接続しました。 コマンド プロンプトの変化に気づきましたか?
プロンプトが sa_107021519685252337470@gcelab2 のように表示されるようになりました。
- @ の前の部分は、使用しているアカウントを示しています。
- @ の後の部分は、アクセスしているホストマシンを示しています。
- 仮想マシンに
nginx
ウェブサーバーをインストールする
- 他に何もする必要はありません。SSH 接続を解除してリモートシェルを終了するには、次のコマンドを実行します。
プロジェクトのコマンド プロンプトに戻ります。
タスク 4: ファイアウォールを更新する
仮想マシンなどのコンピューティング リソースを使用するときは、関連するファイアウォール ルールを理解しておくことが大切です。
-
プロジェクトのファイアウォール ルールを一覧表示する
出力:
この出力から、2 つのネットワークが利用可能であることがわかります。デフォルト(default
)ネットワークは、仮想マシン gcelab2
が配置されているネットワークです。
-
gcelab2
仮想マシンで走行している nginx サービスにアクセスしてみる
仮想マシンにはファイアウォール ルールが適切に設定されていないため、仮想マシンとの通信に失敗します。nginx ウェブサーバーには tcp:80 で通信する必要があります。 正常に通信するには、次の操作をします。
- gcelab2 仮想マシンにタグを追加する
- HTTP トラフィック用のファイアウォール ルールを追加する
- 仮想マシンにタグを追加する
- 通信を許可するようにファイアウォール ルールを更新する
- プロジェクトのファイアウォール ルールを一覧表示する
出力:
-
HTTP で仮想マシンと通信できることを確認する
nginx
のデフォルト出力が表示されます。
タスク 5: システムログを確認する
プロジェクトの稼働状況を把握するうえで、ログの確認は不可欠です。gcloud を使用することで、Google Cloud で利用できるさまざまなログにアクセスすることができます。
-
システムで利用可能なログを確認してみましょう。
出力:
-
コンピューティング リソースに関連するログを確認してみましょう。
出力:
- リソースの種類
gce_instance
に関連するログを確認してみましょう。
-
特定の仮想マシンのログを確認してみましょう。
タスク6:理解度チェック
今回のラボで学習した内容の理解を深めていただくために、以下の多肢選択式の問題を用意しました。
お疲れさまでした
このラボでは、Cloud Shell の起動方法について学び、gcloud
のサンプル コマンドを実行してみました。
クエストを完了する
このセルフペース ラボは、Qwiklabs の「Google Cloud Essentials」と「Using the Cloud SDK Command Line」クエストの一部です。クエストとは学習パスを構成する一連のラボのことで、完了すると成果が認められて上のようなバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、次のクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なその他の Qwiklabs のクエストもご確認ください。
次のラボを受講する
「Google Cloud Marketplace を使用したサービスのプロビジョニング」に進んでクエストを続けるか、以下のおすすめのラボをご確認ください。
次のステップと詳細情報
Google Cloud Training & Certification
Google Cloud 技術を最大限に活用できるようになります。このクラスでは、必要な技術力とベスト プラクティスを習得し、継続的に学習することができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、仮想環境など、多忙なスケジュールに対応できるオプションが用意されています。認定資格を取得することで、Google Cloud の技術のスキルと知識を証明できます。
マニュアルの最終更新日: 2022 年 8 月 18 日
ラボの最終テスト日: 2022 年 8 月 18 日
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。