ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

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

ラボ 35分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

クラウド アーキテクトが設計する多層アーキテクチャには、コンピューティング レイヤが含まれます。コンテナのデプロイは一般的に、組織のコンピューティング ニーズを満たすために行われます。設計を完成させる際には、次のことを考慮します。

  • Kubernetes を使用してどのようにコンテナをデプロイし、一元的に管理するか
  • クラスタでコンテナをどのようにグループ化できるか
  • クラスタのパフォーマンスと効率が最適化されていることをどのように確認できるか

アマゾン ウェブ サービス(AWS)では、Amazon Elastic Kubernetes Service(Amazon EKS)を通じてコンテナをデプロイします。EKS は、Kubernetes を通じて Kubernetes コントロール プレーン ノードの可用性と拡張性を管理します。このノードは、コンテナのスケジュール設定、アプリケーションの可用性の管理、クラスタデータの保存を行います。 AWS EKS のコンテナ化されたアーキテクチャは次のようになります。

AWS の図

次に、ゾーンの Google Kubernetes Engine(GKE)クラスタを作成してコンテナを割り当てる方法を説明します。

概要

このラボでは、それぞれがウェブサーバーを 1 つ含んでいるコンテナをいくつかまとめて、Google Kubernetes Engine クラスタを作成します。クラスタの手前にロードバランサを配置してコンテンツを参照します。

目標

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

  • Kubernetes Engine を使用して Kubernetes クラスタをプロビジョニングする。
  • kubectl を使用して Docker コンテナをデプロイおよび管理する。

タスク 1. Google Cloud にログインする

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

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

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

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

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

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

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

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

タスク 2. 必要な API が有効になっていることを確認する

  1. Google Cloud プロジェクトの名前をメモします。この値は、Google Cloud コンソールの上部のバーに表示されます。qwiklabs-gcp- の形式で、その後に 16 進数が続きます。

  2. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[API とサービス] をクリックします。

  3. 有効になっている API のリストを下にスクロールして、次の API が両方とも有効になっていることを確認します。

  • Kubernetes Engine API
  • Container Registry API

いずれかの API がない場合は、上部にある [API とサービスを有効化] をクリックします。上記の API を名前で検索し、現在のプロジェクトでそれぞれを有効にします(GCP プロジェクトの名前は先ほどメモしたものです)。

タスク 3. Kubernetes Engine クラスタを起動する

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

    Cloud Shell アイコン

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

  3. 便宜上、Qwiklabs によって割り当てられたゾーンを MY_ZONE という環境変数に配置します。Cloud Shell プロンプトで、次のコマンドを入力します。

    export MY_ZONE=

    この後に、Qwiklabs によって割り当てられたゾーンを続けて指定します。実際のコマンドは次のようになります。

    export MY_ZONE=us-central1-a
  4. Kubernetes Engine で管理されている Kubernetes クラスタを起動します。このクラスタに webfrontend という名前を付けて、2 つのノードを実行するように構成します。

    gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2

    Kubernetes Engine によって仮想マシンがプロビジョニングされるため、クラスタの作成には数分かかります。

  5. クラスタが作成されたら、kubectl version コマンドを使用して、インストール済みの Kubernetes のバージョンを確認します。

    kubectl version

    kubectl は、gcloud container clusters create コマンドで自動的に認証されました。

  6. GCP コンソールで実行中のノードを表示します。ナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。

    これで Kubernetes クラスタを使用する準備が整いました。

    [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Kubernetes Engine クラスタを起動する

タスク 4. コンテナを実行およびデプロイする

  1. Cloud Shell プロンプトで、nginx コンテナの単一インスタンスを起動します。(Nginx は一般的なウェブサーバーです)。

    kubectl create deploy nginx --image=nginx:1.17.10

    Kubernetes では、すべてのコンテナは Pod で実行されます。kubectl create コマンドを使用すると、Kubernetes で、nginx コンテナを含む単一の Pod で構成された Deployment が作成されます。Kubernetes Deployment は、Pod が実行されているノード間で障害が発生した場合でも、指定された数の Pod が稼働した状態で維持されます。このコマンドでは、デフォルトの数(1)の Pod が起動されました。

注: 将来のバージョンに関する非推奨警告が表示された場合、無視して先に進んでも問題ありません。
  1. nginx コンテナを実行している Pod を表示します。

    kubectl get pods
  2. nginx コンテナをインターネットに公開します。

    kubectl expose deployment nginx --port 80 --type LoadBalancer

    Kubernetes によって、Service と、パブリック IP アドレスが関連付けられた外部ロードバランサが作成されました。この IP アドレスは、Service の存続期間中は変更されません。そのパブリック IP アドレスへのネットワーク トラフィックは、Service の背後にある Pod(この場合は nginx Pod)にルーティングされます。

  3. 新しい Service を表示します。

    kubectl get services

    表示された外部 IP アドレスを使用して、nginx コンテナをリモートでテストしてアクセスすることができます。

    Service の External-IP フィールドに値が表示されるまでに数秒かかる場合がありますが、これは正常な動作です。このフィールドに値が表示されるまで数秒ごとに kubectl get services コマンドを再実行します。

  4. 新しいウェブブラウザ タブを開き、クラスタの外部 IP アドレスをアドレスバーに貼り付けます。Nginx ブラウザのデフォルトのホームページが表示されます。

  5. Service で実行する Pod の数をスケールアップします。

    kubectl scale deployment nginx --replicas 3

    Deployment のスケールアップは、利用が拡大しているアプリケーションで使用できるリソースを増やす場合に役立ちます。

  6. Kubernetes で Pod の数が更新されたことを確認します。

    kubectl get pods
  7. 外部 IP アドレスが変更されていないことを確認します。

    kubectl get services
  8. クラスタの外部 IP アドレスを表示したウェブブラウザ タブに戻ります。ページを更新して、nginx ウェブサーバーが応答していることを確認します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 コンテナを実行およびデプロイする

お疲れさまでした

このラボでは、Kubernetes Engine で Kubernetes クラスタを構成しました。アプリケーションを含む複数の Pod をこのクラスタに配置し、アプリケーションの公開とスケーリングを行いました。

Kubernetes はオープンソースであり、ポータビリティと適応性に優れたコンテナ化された環境を提供します。このため、Kubernetes のデプロイはすべてのプラットフォームで同様に行うことができます。

これらのサービスの類似点と相違点を以下にまとめました。

類似点:

  • GKE と EKS はどちらもマネージド Kubernetes サービスであり、どちらのサービスを利用しても、クラウド内でコンテナ化されたアプリケーションのデプロイ、管理、スケーリングを行うことができます。
  • Google Cloud と AWS はどちらも、Kubernetes サービスを Platform as a Service(PaaS)として提供しています。
  • GKE と EKS はどちらも Deployment の作成に YAML ファイルを使用できます。
  • GKE と EKS はどちらも、クラスタにデータを入力する際にコンテナと Deployment に同じ原則を適用します。
  • GKE と EKS はどちらも kubectl を使用して Docker コンテナをデプロイおよび管理できます。

相違点:

  • Kubernetes の実装に関しては、GKE と EKS でそれほど違いはありませんが、インフラストラクチャのプロビジョニングやサービスの管理では違いが生じます。
  • Google の GKE は、フルマネージドの最適化された Kubernetes エクスペリエンスを提供する GKE Autopilot という機能を利用できるため、基盤となるインフラストラクチャをユーザーが管理する必要はありません。なお、Autopilot はこのコースの範囲外です。詳しくは、こちらをご覧ください。

ラボを終了する

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

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

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

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

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

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

Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

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

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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