Deploy the cluster and required resources using Terraform

進行状況を確認

/ 50

Teardown (Clean-up)

進行状況を確認

/ 50

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP497

Google Cloud セルフペース ラボ

概要

Kubernetes Engine Monitoring は、より密接に GKE に統合された新しい Cloud Monitoring 機能です。クラスタ自体とクラスタで実行されているワークロードやサービスに関する主要な統計情報をわかりやすく表示できます。この新機能には、Prometheus エンドポイントを備えた Pod からの指標をネイティブな Cloud Monitoring 指標としてインポートする機能が含まれています。これにより、ワークロードを追加することなく、Prometheus の指標に対して Cloud Monitoring のネイティブのアラート機能を使用できます。

このラボでは、Kubernetes Engine クラスタの指標をモニタリングして可視化するためのセットアップを行います。セットアップには Terraform という宣言型の Infrastructure as Code ツールを使用します。このツールにより、構成ファイルを使用して、クラウドでのインフラストラクチャのデプロイと更新を自動化します。セットアップした Kubernetes Engine クラスタのログを利用して、Cloud Monitoring のモニタリング機能について学習します。

注: Cloud Monitoring ワークスペースのセットアップは、Terraform や gcloud コマンドライン ツールで現在サポートされていないため、スクリプトでは自動化できません。

このラボは、Kubernetes Engine での Cloud Monitoring の使用について理解を深めていただくことを目的に、GKE Helmsman のエンジニアが作成したものです。GitHub でデモを確認できます。Google Cloud はアセットへの協力を歓迎しています。

アーキテクチャ

このラボでは、Kubernetes Engine クラスタを作成し、そこにサンプル アプリケーションをデプロイします。デフォルトでは、クラスタのロギングと指標は Cloud Logging に読み込まれます。このチュートリアルでは、Cloud Monitoring アカウントをセットアップして、取得した指標を表示します。

モニタリング アーキテクチャ

設定と要件

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

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

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

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

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

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

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 右側の [ラボの設定とアクセス] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • このラボで使用する一時的な認証情報(ユーザー名とパスワード)
    • このラボを行うために必要なその他の情報(ある場合)

    ラボのタイマーはページの上部に表示され、残り時間が示されます。

  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

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

    注: [アカウントの選択] ダイアログが表示された場合は、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの設定とアクセス] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの設定とアクセス] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで指定された認証情報を使用する必要があります。ご自身の Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後のページはクリックして先に進みます。

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

しばらくすると、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニューのアイコンと検索フィールド

Cloud Shell をアクティブにする

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

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

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

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

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

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

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

出力:

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

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。 トラブルシューティング: 本番環境で、Terraform の実行時にインストール スクリプトから Permission denied というエラーが返された場合は、Terraform で使用している認証情報に、選択したプロジェクトでリソースを作成するために必要な権限がない可能性があります。gcloud config list で表示されるアカウントに、リソースの作成に必要な権限があることを確認してください。権限がある場合は、gcloud auth application-default login を実行してアプリケーションのデフォルト認証情報を生成し直してください。

タスク 1. リージョン / ゾーンを設定する

リージョンとゾーンを設定する

一部の Compute Engine リソースは、リージョン内やゾーン内に存在します。リージョンとは、リソースを実行できる特定の地理的なロケーションです。1 つのリージョンには 1 つ以上のゾーンがあります。

: リージョンおよびゾーンの詳細と一覧については、リージョンとゾーンのドキュメントをご覧ください。

次のコマンドを実行して、ラボのリージョンとゾーンを設定します(最適なリージョンとゾーンを使用できます)。

gcloud config set compute/region {{{ project_0.default_region | REGION }}} gcloud config set compute/zone {{{ project_0.default_zone | ZONE }}}

タスク 2. デモのクローンを作成する

  1. 次のコマンドを実行して、このラボに必要なリソースをコピーします。
gsutil cp gs://spls/gsp497/gke-monitoring-tutorial.zip . unzip gke-monitoring-tutorial.zip
  1. デモのディレクトリに移動します。
cd gke-monitoring-tutorial

認証を構成する

Terraform の構成を Google Cloud 環境に対して実行することで、シンプルなアプリケーションを実行する Kubernetes Engine クラスタが作成されます。この構成では、これらのリソースの作成に個人用アカウントを使用します。このラボでは、使用する Cloud Shell によってプロジェクトと受講者アカウントが自動的に構成され、認証されます。

Monitoring の指標スコープを作成する

Google Cloud プロジェクトに関連付けられた Monitoring の指標スコープを設定します。次の手順に沿って、Monitoring を無料でお試しいただける新しいアカウントを作成します。

  • Cloud コンソール で、ナビゲーション メニューナビゲーション メニュー アイコン) > [Monitoring] をクリックします。

Monitoring の [概要] ページが開いたら、指標スコープのプロジェクトの準備は完了です。

クラスタをデプロイする

  • 次のコマンドを実行して、このプロジェクトに必要なインフラストラクチャと Cloud Monitoring アラート ポリシーをデプロイします。
make create

Terraform 変数ファイルのデフォルト値をオーバーライドするには、等号の右側の値を目的の値に置き換えます。新しい値も必ず二重引用符で囲んでください。

注: Terraform によって次のタスクが実行されます。

1. プロジェクトとゾーンの構成を読み取り、次の構成ファイルを生成します。

./terraform/terraform.tfvars(Terraform 変数)

* ./manifests/prometheus-service-sed.yaml(Cloud Monitoring に作成する Prometheus ポリシー)。

2. terraform init を実行して、インフラストラクチャを作成する Terraform を準備します。

3. terraform apply を実行して、インフラストラクチャと Cloud Monitoring アラート ポリシーを実際に作成します。

エラーが表示されなければ、数分後に次のような出力が表示されます。

出力例:

Apply complete! Resources: 5 added, 0 changed, 0 destroyed. 出力: cluster_name = stackdriver-monitoring-tutorial primary_location = {{{ project_0.default_zone | ZONE }}} 注: ゾーン変数に関連する非推奨警告が表示されても、無視してラボを進めてください。

Cloud コンソールで、作成した Kubernetes Engine クラスタを確認できます。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。Terraform を使用してリソースが正常にデプロイされた場合は、評価スコアが表示されます。

Terraform を使用してクラスタと必要なリソースをデプロイする

Terraform の仕組み

Terraform では、Infrastructure as Code不変のインフラストラクチャの原則に従い、インフラストラクチャの望ましい状態を宣言型で記述することがサポートされています。記述子が適用されると、Terraform は Google Cloud APIs を使用して、一致するリソースのプロビジョニングと更新を行います。Terraform は望ましい状態と現在の状態を比較することにより、すべてを削除してやり直すことなく増分変更を行うことができます。たとえば、Google Cloud プロジェクトやコンピューティング インスタンスなどを作成できるだけでなく、Kubernetes Engine クラスタを設定してアプリケーションをデプロイすることもできます。要件が変わった場合は記述子を変更すると、Terraform はそれに応じてクラウド インフラストラクチャを調整します。

このデモスクリプトでは、Kubernetes Engine クラスタを起動し、そこに簡単なサンプル アプリケーションをデプロイします。デフォルトでは、Google Cloud 内の Kubernetes Engine クラスタは、Cloud Monitoring にログを転送するよう事前に構成された Fluentd ベースのコレクタとともにプロビジョニングされます。

Kubernetes Engine Monitoring を使用する

クラスタの作成が完了するまでの間、Kubernetes クラスタの観察で、新しい Kubernetes Engine Monitoring UI を使用してクラスタを観察する方法についてご確認ください。

タスク 3. 検証する

デプロイ中にエラーが表示されなければ、数分後に、サンプル アプリケーションがデプロイされた Kubernetes Engine クラスタが Cloud コンソールに表示されます。

  1. [Kubernetes Engine] をクリックすると、進行状況をモニタリングできます。

  2. リソースがインストールされ、正しく動作していることを検証するには、次のコマンドを実行します。

make validate

出力例:

Fetching cluster endpoint and auth data. kubeconfig entry generated for stackdriver-monitoring-tutorial. App is deployed.

Prometheus のネイティブな統合

Terraform のコードには、Prometheus エンドポイントからインポートされた指標を監視する Cloud Monitoring アラート ポリシーが含まれています。

  1. 引き続き Cloud Monitoring ウィンドウの左側のメニューで、[アラート] をクリックします。[ポリシー] セクションにすべてのポリシーが表示され、その中に Prometheus mem alloc というアラート ポリシーがあります。

  2. このポリシーをクリックすると、詳細が表示されます。

スクリプトの実行後、[概要] ページに指標が表示されるまで数分かかることがあります。最新の更新情報が表示されるように、ページを定期的に更新してください。

mem alloc above 12 ポリシーに違反があると、インシデントが表示されます。

  1. このインシデントをクリックすると、詳細が表示されます。

タスク 4. 破棄

  • デモが完了し、作成したリソースをクリーンアップする場合は、次のコマンドを実行すると、すべてのリソースが削除されます。
make teardown

このコマンドは、terraform destroy コマンドを使用してインフラストラクチャを削除します。Terraform は作成したリソースをトラッキングしているため、すべてのリソースを破棄して元に戻すことができます。

エラーが表示されなければ、数分後に次のような出力が表示されます(この出力が表示されるまで先に進まないでください)。

出力例:

.... Destroy complete! Resources: 5 destroyed. 注: ゾーン変数に関連する非推奨警告が表示されても、無視してラボを進めてください。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。Terraform を使用してインフラストラクチャが正常に削除された場合は、評価スコアが表示されます。

破棄(クリーンアップ)

お疲れさまでした

このラボでは、Terraform を使用して Kubernetes Engine クラスタをデプロイし、Cloud Monitoring で関連する指標を確認しました。

次のステップと詳細情報

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

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

マニュアルの最終更新日: 2025 年 11 月 7 日

ラボの最終テスト日: 2025 年 11 月 7 日

Copyright 2026 Google LLC.本ソフトウェアは「現状有姿」で提供されており、いかなる使用および目的に関しても保証および表明は伴いません。本ソフトウェアのご利用には、Google との契約が適用されます。

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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

ラボを開始するには、この簡単な手順を完了してください。