arrow_back

Google Cloud の基礎: Compute Engine を使ってみる(AWS)

ログイン 参加
700 以上のラボとコースにアクセス

Google Cloud の基礎: Compute Engine を使ってみる(AWS)

ラボ 25分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

AWS に精通しているクラウド プロフェッショナルの皆様は、多層アーキテクチャの設計にコンピューティング レイヤが含まれることをご存じでしょう。通常、コンピューティング レイヤの設計には仮想マシン(VM)が含まれます。VM の構成に関しては、次のような点を考慮します。

  • グラフィック インターフェースを使用して VM を作成、デプロイする方法
  • VM に安全に接続する方法
  • インスタンス間の通信を可能にする方法

AWS を使用する組織は、Elastic Compute Cloud インスタンスと呼ばれる VM を AWS コマンドライン インターフェース(AWS CLI)と AWS ソフトウェア開発キット(SDK)を通じてプログラマティックにデプロイします。AWS マネジメント コンソールを使用して VM インスタンスをデプロイすることもできます。

Elastic Compute Cloud(EC2)インスタンスを操作する際は、Linux インスタンスの場合は Secure Shell(SSH)経由で安全に接続するために、Windows インスタンスの場合は管理者パスワードを復号化するために、それぞれ鍵ペアを使用します。鍵ペアの使用にセキュリティ上のリスクがある場合は、AWS Systems Manager Session Manager を使用してインタラクティブなブラウザベースのシェル経由で EC2 インスタンスを管理できます。

インスタンス間の通信を可能にするには、同じ VPC 内にそれらのインスタンスを配置し、ルートテーブルで適切な定義を使用してサブネット間のトラフィックを許可するというのがシンプルなパターンです。

それでは、Google Cloud で同様のアーキテクチャを作成する方法を学んでいきましょう。

概要

このラボでは、仮想マシン(VM)を作成してそのマシンに接続します。また、インスタンス間の接続も作成します。

目標

このラボでは、次のタスクの実行方法について学びます。

  • Google Cloud コンソールを使用して Compute Engine 仮想マシンを作成する。
  • gcloud コマンドライン インターフェースを使用して Compute Engine 仮想マシンを作成する。
  • 2 つのインスタンス間を接続する。

タスク 1. Google Cloud コンソールにログインする

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

タスク 2. Cloud コンソールを使用して仮想マシンを作成する

  1. ナビゲーション メニュー)で、[Compute Engine] > [VM インスタンス] をクリックします。
  2. [インスタンスを作成] をクリックします。
  3. [インスタンスの作成] ページで、[名前] に「my-vm-1」と入力します。
  4. [リージョン] と [ゾーン] で、Google Cloud Skills Boost によって割り当てられたものを選択します。
  5. [マシンタイプ] は、デフォルトのままにします。
  6. [ブートディスク] で、表示されるイメージが「Debian GNU/Linux 11(Bullseye)」でない場合は [変更] をクリックして、[Debian GNU/Linux 11(Bullseye)] を選択します。
  7. [アイデンティティと API へのアクセス] のデフォルト設定は変更せずにそのままにします。
  8. [ファイアウォール] で、[HTTP トラフィックを許可する] をオンにします。
  9. その他のデフォルト設定はすべて変更せずにそのままにします。
  10. VM を作成して起動するには、[作成] をクリックします。
注: VM が起動して完全に使用可能になるには、約 2 分かかる場合があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Cloud コンソールを使用して仮想マシンを作成する

タスク 3. gcloud コマンドラインを使用して仮想マシンを作成する

  1. Google Cloud コンソールの右上のツールバーにある Cloud Shell をアクティブにするボタン()をクリックします。

  2. [続行] をクリックします。

  3. Google Cloud Skills Boost によって割り当てられたリージョンの全ゾーンのリストを表示するには、コマンド「gcloud compute zones list | grep」を入力して、その後に Google Cloud Skills Boost またはインストラクターによって割り当てられたリージョンを指定します。

    完成したコマンドは次のようになります。

    gcloud compute zones list | grep {{{ project_0.default_region | REGION }}}
  4. リストからゾーン(Google Cloud Skills Boost によって割り当てられたゾーン以外のもの)を選択します。たとえば、Google Cloud Skills Boost によってリージョン とゾーン が割り当てられた場合、ゾーン を選択します。

  5. 選択したゾーンをデフォルトのゾーンとして設定するには、選択したゾーンをコマンド「gcloud config set compute/zone」の後に入力します。

    完成したコマンドは次のようになります。

    gcloud config set compute/zone {{{ project_0.default_zone_2 | ZONE 2 }}}
  6. そのゾーンに my-vm-2 という VM インスタンスを作成するには、次のコマンドを実行します。

    gcloud compute instances create "my-vm-2" \ --machine-type "e2-medium" \ --image-project "debian-cloud" \ --image-family "debian-11" \ --subnet "default"
注: VM が起動して完全に使用可能になるまでに、約 2 分かかります。
  1. Cloud Shell を閉じるには、次のコマンドを実行します。

    exit

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 gcloud コマンドラインを使用して仮想マシンを作成する

タスク 4. VM インスタンス間を接続する

  1. ナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。

    作成した 2 つの VM インスタンスが表示されます。それぞれ別のゾーン内にあります。

    これらの 2 つのインスタンスの内部 IP アドレスは、最初の 3 バイトが共通しています。これらは異なるゾーンにあっても、Google Cloud VPC の同じサブネット上に存在します。

  2. my-vm-2 インスタンスでコマンド プロンプトを開くには、VM インスタンス リストのその行で [SSH] をクリックします。

  3. 次に ping コマンドを使用して、my-vm-2 がネットワークを介して my-vm-1 に到達できることを確認します。

    ping my-vm-1.{{{ project_0.default_zone_1 | ZONE 1 }}}

    ping コマンドの出力により、my-vm-1 の完全なホスト名が my-vm-1..c.PROJECT_ID.internal であることがわかります。PROJECT_ID は、実際の Google Cloud Platform プロジェクトの名前です。Cloud コンソールでは、VM インスタンスの内部 IP アドレスのドメインネーム サービス(DNS)解決が自動的に提供されます。

  4. Ctrl+C キーを押して ping コマンドを中止します。

  5. Cloud コンソールのタブに戻ります。

  6. VM インスタンス リストの my-vm-1 の行で [SSH] をクリックします。

  7. my-vm-1 のコマンド プロンプトで、Nginx ウェブサーバーをインストールします。

    sudo apt-get install nginx-light -y
  8. nano テキスト エディタを使用して、ウェブサーバーのホームページにカスタム メッセージを追加します。

    sudo nano /var/www/html/index.nginx-debian.html
  9. 矢印キーを使用して、カーソルを h1 ヘッダーのすぐ下の行に移動します。次のようなテキストを追加し、YOUR_NAME を自分の名前に置き換えます。

    Hi from YOUR_NAME
  10. Ctrl+O キー、Enter キーの順に押し、編集したファイルを保存します。次に、Ctrl+X キーを押して nano テキスト エディタを終了します。

  11. ウェブサーバーが新しいページを提供していることを確認します。my-vm-1 のコマンド プロンプトで、次のコマンドを実行します。

    curl http://localhost/

    レスポンスは、ウェブサーバーのホームページの HTML ソースになります。これには先ほどのカスタム テキスト行も含まれます。

  12. my-vm-2 のコマンド プロンプトに戻ります。

  13. my-vm-2my-vm-1 のウェブサーバーに到達できることを確認するには、my-vm-2 のコマンド プロンプトで次のコマンドを実行します。

    curl http://my-vm-1.{{{ project_0.default_zone_1 | ZONE 1 }}}/

    レスポンスはここでも、カスタム テキスト行を含む、ウェブサーバーのホームページの HTML ソースになります。

  14. ナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。

  15. my-vm-1 の外部 IP アドレスをコピーして、新しいブラウザタブのアドレスバーに貼り付けます。

カスタム テキストを含む、ウェブサーバーのホームページが表示されます。

注: my-vm-1 VM インスタンスを作成したときに [HTTP トラフィックを許可する] をオンにしなかった場合、ウェブサーバーのホームページへのアクセスは失敗します。このトピックはこのコースの対象外ですが、ファイアウォール ルールを追加することで、インスタンスへの受信トラフィックを許可できます。

お疲れさまでした

このラボでは、2 つの異なるゾーンに仮想マシン(VM)インスタンスを作成し、ping、SSH、HTTP を使用してこれらに接続しました。

Google Compute Engine と Amazon Elastic Compute Cloud(EC2)は、いずれも Infrastructure as a Service(IaaS)サービスです。それぞれ、Google Cloud と Amazon Web Services(AWS)によって提供されています。Compute Engine について理解を深めたところで、Compute Engine と EC2 の主な類似点と相違点を見てみましょう。

類似点:

  • Google Cloud と AWS はどちらも、すばやく簡単に起動できる仮想マシン(VM)を提供しています。
  • どちらのサービスも、需要に応じてすばやく簡単にスケールアップ / ダウンできます。
  • どちらのサービスにも、自動フェイルオーバーやロード バランシングなど高可用性機能とフォールト トレランス機能が備わっています。
  • どちらのサービスにも、Virtual Private Cloud(VPC)、ファイアウォール、暗号化などの各種セキュリティ機能が備わっています。
  • どちらのサービスでも、Windows や Linux などのさまざまなオペレーティング システムを提供しています。
  • どちらの VM を選んだ場合も、CLI クライアント、SDK、グラフィック コンソールといった、プログラマティック インターフェースとグラフィカル インターフェースを使用してインスタンスのデプロイと管理を行えます。
  • SSH や RDP などの一般的なプロトコルを使用して、EC2 インスタンスまたは GCE VMに接続できます。
  • AWS と Google Cloud では、RDP ポートまたは SSH ポートを開かなくても安全にインスタンスに接続できます。Google Cloud では、この機能を Identity-Aware Proxy(IAP)と呼んでいます。AWS では AWS Systems Manager Session Manager を使用します。

相違点:

  • どちらのサービスでも従量課金制の料金モデルが提供されていますが、料金構成にいくつか相違点があります。たとえば、GCE では CPU とメモリの使用量に基づいて課金されますが、EC2 ではインスタンスのタイプと実行時間に基づいて課金されます。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

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

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。