arrow_back

Cloud Spanner - データベースの基礎

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

Cloud Spanner - データベースの基礎

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

GSP1048

Google Cloud セルフペース ラボのロゴ

概要

Cloud Spanner は Google の水平スケーリングが可能なフルマネージド リレーショナル データベース サービスです。金融サービス、ゲーム、小売など多くの業界のお客様が、大規模な整合性と可用性が要求されるワークロードの実行に使用しています。

このラボでは、Cloud Spanner インスタンス内で基本的な管理タスクを実行します。

演習内容

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

  • インスタンスを作成する。
  • データベースを作成する。
  • テーブルを作成する。
  • データを挿入、変更する。
  • Google Cloud CLI を使用して Cloud Spanner を操作する。
  • Cloud Spanner で自動化ツールを使用する。
  • インスタンスを削除する。

設定と要件

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

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、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 の概要ガイドをご覧ください。

タスク 1. インスタンスを作成する

  1. Cloud Spanner を使用する最初の手順は、インスタンスを作成することです。インスタンスは、Google Cloud のコンピューティング リソースとストレージ リソースの割り当てです。コンソールで、ナビゲーション メニュー(ナビゲーション メニュー)> [すべてのプロダクトを表示] を開きます。[データベース] セクションで [Spanner] をクリックします。

  2. 表示される確認ウィンドウや情報ウィンドウで [OK] をクリックします。

  3. 次に [プロビジョニングされたインスタンスを作成] をクリックします。

  4. 以下のフィールドに入力し、残りのフィールドはデフォルト値のままにします。

項目
[エディション] を選択する Enterprise
インスタンス名 banking-instance
構成を選択
コンピューティング容量を構成する ユニット - ノード // 数量 - 1



  1. [作成] をクリックします。[インスタンスの詳細] ページに、作成したインスタンスが表示されます。ここでは、インスタンスのパフォーマンス、使用率などの概要を確認できます。次のステップでは、データベースを作成します。

タスク 2. データベースを作成する

  1. インスタンスの詳細ページで、[データベースを作成] をクリックします。

  2. データベース名として「banking-db」と入力します。

  3. ここでは、[スキーマの定義(省略可)] ステップはスキップします。スキーマの定義は、次のセクションで行います。

  4. [作成] をクリックします。

  5. すると、[概要] ページに、作成した新しいデータベースが表示されます。ページはインスタンスのページと似ていますが、統計は特定のデータベースを参照していることがわかります。左側のメニューに新しいオプションが追加されていることにも注目してください。

  6. [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

インスタンスとデータベースの作成

タスク 3. データベースにテーブルを作成する

  1. banking-db データベースの [データベースの詳細] ページで、ページを下にスクロールして [テーブルを作成] をクリックします。
  1. 青い [+] アイコンをクリックして [クエリ] ページを開き、次の内容を入力します。
CREATE TABLE Customer ( CustomerId STRING(36) NOT NULL, Name STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL, ) PRIMARY KEY (CustomerId);
  1. [実行] をクリックします。

  2. 操作が完了したら、左側のメニューの [データベース] で [概要] をクリックします。次に、[テーブル] までスクロールし、[Customer] をクリックしてスキーマの詳細を表示します。

  3. [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

データベースのスキーマの作成

タスク 4. データを挿入、変更する

Cloud Console には、データを挿入、編集、削除するためのインターフェースがあります。

データの挿入

  1. [スキーマ] ページで、左側のメニューの [データ] をクリックします。次に [挿入] をクリックします。

  2. Spanner Studio の [クエリ] タブが自動的に表示されます。[クエリをクリア] をクリックし、[実行] をクリックします。

INSERT INTO Customer (CustomerId, Name, Location) VALUES ('bdaaaa97-1b4b-4e58-b4ad-84030de92235', 'Richard Nelson', 'Ada Ohio' );
  1. 画面の下のページに結果が表示されます。Customer テーブルに行が 1 つ追加されました。

  2. 2 行目を追加します。前のステートメントを以下に置き換え、[実行] をクリックします。

INSERT INTO Customer (CustomerId, Name, Location) VALUES ('b2b4002d-7813-4551-b83b-366ef95f9273', 'Shana Underwood', 'Ely Iowa' );

クエリの実行

  1. データベースのクエリページで SQL ステートメントを実行できます。

  2. Cloud Platform コンソールの左側のペインで、[Spanner Studio] をクリックして、クエリ UI ウィンドウに移動します。

  3. 青い [+] アイコンをクリックして [クエリ] ページを開きます。[クエリをクリア] をクリックし、以下のクエリを貼り付けて、[実行] をクリックします。

SELECT * FROM Customer;
  1. [実行] をクリックします。

  2. Cloud コンソールにクエリの結果が表示されます。

タスク 5. Cloud Spanner で Google Cloud CLI を使用する

Cloud コンソールは非常に便利ですが、ユースケースによっては、他の方法で Spanner インスタンスを管理したい場合があります。Google Cloud サービスは、gcloud というコマンドライン ツールを使用して管理することもできます。gcloud CLI を使用する最も簡単な方法は Cloud Shell を使用することですが、さまざまなオペレーティング システムにインストールすることもできます。

CLI でインスタンスを作成する

  1. gcloud を使用して Spanner インスタンスを作成するのは非常に簡単です。コアとなるコマンドは次のとおりです。
gcloud spanner instances create [INSTANCE-ID] \ --config=[INSTANCE-CONFIG] \ --description="[INSTANCE-NAME]" \ --nodes=[NODE-COUNT]
  1. Cloud Shell で、次のコマンドを使用して新しい Cloud Spanner インスタンスを作成します。
gcloud spanner instances create banking-instance-2 \ --config=regional-{{{project_0.default_region}}} \ --description="Banking Instance 2" \ --nodes=2

インスタンスの一覧を取得する

  1. 次のコマンドを実行すると、プロジェクトで利用可能な Spanner インスタンスを一覧表示できます。
gcloud spanner instances list

データベースを作成する

  1. gcloud を使用して Spanner インスタンスにデータベースを作成することもできます。

  2. Cloud Shell で、次のコマンドを使用して新しいデータベースを作成します。

gcloud spanner databases create banking-db-2 --instance=banking-instance-2
  1. [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
CLI を使用してインスタンスとデータベースを作成する

ノード数を変更する

CPU 使用率とストレージ使用率が推奨最大値を下回るように、十分な数のノードをプロビジョニングすることが重要です。ただし、ノード数を減らす必要がある場合もあります。

  1. banking-instance-2 インスタンスのノード数を 2 から 1 に減らします。

  2. 次の gcloud コマンドを使用してインスタンスを調整します。

gcloud spanner instances update banking-instance-2 --nodes=1
  1. 完了後、ノード数が減っていることを確認します。
gcloud spanner instances list

タスク 6. Cloud Spanner で自動化ツールを使用する

Spanner アーキテクチャが拡大して複雑になるにつれて、Spanner インスタンスのデプロイと管理を自動化したいと考えるようになります。Spanner のデプロイと管理に使用できるツールの一つが Terraform です。

このラボの目的は、Terraform の仕組みを説明することではありません。Terraform に慣れていない場合は、ドキュメントを確認してください。

簡単に言うと、Google Cloud にデプロイするインフラストラクチャやサービスを記述した一連のファイルを Terraform に提供します。これは構成と呼ばれます。次に、変更を適用する前に、Terraform にデプロイの初期化計画を行うよう指示します。

Terraform がインストールされていることを確認する

  1. Terraform は、Cloud Shell にプリインストールされています。以前の Cloud Shell を使用して(閉じた場合は再度開いて)、Terraform が利用できることを確認します。
terraform -version
  1. 次のような出力が表示されます。
Terraform v1.5.6 on linux_amd64 注: Terraform のバージョンが最新ではないという警告が表示されても問題ありません。

Terraform 構成を作成する

  1. Cloud Shell で次のコマンドを入力して Nano テキスト エディタを呼び出し、spanner.tf という名前の新しい空の構成ファイルを作成します。
nano spanner.tf
  1. Nano エディタに、以下のコードブロックを貼り付けます。
resource "google_spanner_instance" "banking-instance-3" { name = "banking-instance-3" config = "regional-{{{project_0.default_region}}}" display_name = "Banking Instance 3" num_nodes = 2 labels = { } }
  1. Ctrl+X キーで nano を終了したら、Y キーで更新を確認し、Enter キーを押して変更を保存します。

デプロイ

  1. 次のステップでは、すべての Terraform サービス プロバイダ(この場合は Spanner サービス プロバイダ)が利用可能であることを確認します。そのためには、Cloud Shell で次のコマンドを実行します。
terraform init
  1. 次に、数ステップ前に作成した構成ファイルに基づいて実行プランを作成するよう Terraform に指示します。次のコマンドを実行します。
terraform plan
  1. 出力には、作成される新しいインスタンスの詳細が表示されます。次のコマンドを実行して、計画をプロジェクトに適用します。
terraform apply
  1. プランが再度表示され、Terraform は続行の承認を求めて一時停止します。yes と入力すると、Terraform が新しいインスタンスを作成します。

  2. 適用すると、次の出力が処理されて返されます。

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
  1. 新しい banking-instance-3 インスタンスが作成されたことを確認します。
gcloud spanner instances list

タスク 7. インスタンスを削除する

  1. CLI を使用すると、インスタンスを簡単に削除できます。次のコマンドを実行します。
gcloud spanner instances delete banking-instance-2
  1. banking-instance-2 が削除されたことを確認するには、次のコマンドを実行します。
gcloud spanner instances list

お疲れさまでした

これで、Cloud Spanner インスタンスを使用する際の基本的な管理タスクについて、しっかりと理解できました。

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

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

マニュアルの最終更新日: 2025 年 2 月 24 日

ラボの最終テスト日: 2025 年 2 月 24 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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