Create a Cloud SQL instance

進行状況を確認

/ 30

Whitelist the Cloud Shell instance to access your SQL instance

進行状況を確認

/ 30

Create a bts database and flights table using the create_table.sql file

進行状況を確認

/ 40

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

GSP196

Google Cloud セルフペース ラボ

概要

このラボでは、CSV テキスト ファイルから Cloud SQL にデータをインポートし、シンプルなクエリを使用して基本的なデータ分析を行います。

このラボで使用するデータセットは米国運輸統計局のもので、米国内の国内線フライトに関する過去の情報が含まれています。このデータセットは、データ サイエンスの幅広いコンセプトや手法を実証するために使用できます。

目標

  • Cloud SQL インスタンスを作成する
  • Cloud SQL データベースを作成する
  • Cloud SQL にテキストデータをインポートする
  • クエリを使用して初期データモデルを作成する

セットアップと要件

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

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

このラボでは、O'Reilly Media, Inc. の書籍『Data Science on Google Cloud Platform, 2nd Edition』用に作成されたコードサンプルとスクリプトを使用します。第 3 章「Creating Compelling Dashboards」の前半で取り上げられている Cloud SQL の構成とデータのインポートに関する内容を扱います。必要なサンプル ファイルを Cloud Shell 環境に直接コピーして、ラボの手順に沿って作業します。

Data Science on Google Cloud のファイルをステージングする

  1. Cloud Shell で、プロジェクト ID と、データを格納するストレージ バケットの環境変数を作成します。これらの変数は、このラボの後半で使用します。
export PROJECT_ID=$(gcloud info --format='value(config.project)') export BUCKET=${PROJECT_ID}-ml
  1. 次に、以下のコマンドを入力して、必要なテーブル作成ファイルをバケットにコピーします。
gcloud storage cp gs://spls/gsp196/03_sqlstudio/create_table.sql gs://$BUCKET/

タスク 2. Cloud SQL インスタンスを作成する

  1. 次のコマンドを実行して Cloud SQL インスタンスを作成します。
gcloud sql instances create flights \ --database-version=POSTGRES_13 --cpu=2 --memory=8GiB \ --region={{{project_0.default_region | "REGION"}}} --root-password=Passw0rd

このコマンドが完了するまでに数分かかります。

完了したタスクを確認する

[進行状況を確認] をクリックして、タスクが完了していることを確認します。Cloud SQL インスタンスが正常に作成されていれば、評価スコアが表示されます。

Cloud SQL インスタンスを作成する。
  1. Cloud Shell の IP アドレスを格納する環境変数を作成します。
export ADDRESS=$(curl -s http://ipecho.net/plain)/32
  1. SQL インスタンスを管理できるよう、Cloud Shell インスタンスを許可リストに登録します。
gcloud sql instances patch flights --authorized-networks $ADDRESS
  1. プロンプトが表示されたら、Y キーを押して変更を確定します。

完了したタスクを確認する

[進行状況を確認] をクリックして、タスクが完了していることを確認します。Cloud Shell が許可リストに登録され、Cloud Shell から SQL インスタンスにアクセスできる状態になっていれば、評価スコアが表示されます。

Cloud Shell インスタンスを許可リストに登録して、SQL インスタンスにアクセスできる状態にする。

データベースとテーブルを作成する

Postgres テーブルにデータをインポートするには、まず適切なスキーマを持つ空のデータベースとテーブルを作成します。

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

  2. インスタンスの [概要] ページを開くには、インスタンス名 [flights] をクリックします。

  3. 左側にある SQL ナビゲーション メニューから [データベース] を選択します。

  4. [データベースを作成] をクリックします。

  5. [新しいデータベース] ダイアログで、データベースに「bts」と名前を付けます。

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

  7. インスタンスの [概要] ページを開くには、SQL ナビゲーション メニューから [概要] を選択します。

  8. 上部の [インポート] をクリックします。

  9. [Cloud Storage ファイル] 欄で、[参照] をクリックします。

  10. [バケット] セクションで、バケット名の横にある矢印をクリックします。

  11. create_table.sql ファイルを選択します。

  12. [選択] をクリックします。

  13. [ファイル形式] セクションで、[SQL] を選択します。

  14. Cloud SQL インスタンスで、データベースに [bts] を指定します。

  15. [インポート] をクリックしてインポートを開始します。

数秒経ったら、空のテーブルができあがります。

完了したタスクを確認する

[進行状況を確認] をクリックして、タスクが完了していることを確認します。create_table.sql ファイルを使用して bts データベースと flights テーブルが正常に作成されていれば、評価スコアが表示されます。

create_table.sql ファイルを使用して bts データベースと flights テーブルを作成する。

タスク 3. Cloud SQL インスタンスにデータを追加する

空のデータベースとテーブルが作成できたので、このテーブルに CSV ファイルを読み込みます。バケット内の 201501.csv を参照して 1 月のデータを読み込み、形式には CSV、データベースには bts、テーブルには flights を指定します。

  1. Cloud SQL のインスタンス ページで、[インポート] をクリックします。

  2. [Cloud Storage ファイル] 欄で [参照] をクリックし、バケット名の横にある矢印をクリックして、[201501.csv] をクリックします。

  3. [選択] をクリックします。

  4. [ファイル形式] で [CSV] を選択します。

  5. [bts] データベースを選択し、テーブルには「flights」と入力します。

  6. [インポート] をクリックします。

タスク 4. データベースを操作する

  1. 次のコマンドを使用して、Cloud Shell から Cloud SQL インスタンスに接続します。
gcloud sql connect flights --user=postgres
  1. パスワードの入力を求められたら、「Passw0rd」と入力します。入力中の文字は表示されない場合があります。

  2. 表示されたプロンプトで、bts データベースに接続します。

\c bts;
  1. パスワードの入力を求められたら、「Passw0rd」と入力します。

  2. 次に、利用便数が最も多い 5 つの空港を取得するクエリを実行します。

SELECT "Origin", COUNT(*) AS num_flights FROM flights GROUP BY "Origin" ORDER BY num_flights DESC LIMIT 5;

このデータセットは比較的小規模(1 月分のみ)であるため、このクエリは高いパフォーマンスで実行されます。ただし、対象月を追加していくと、データベースの処理は遅くなります。

リレーショナル データベースは、比較的小規模なデータセットに対して、データの小さなサブセットを返すアドホック クエリを実行する場合に適しています。大規模なデータセットでは、対象となる列にインデックスを作成することで、リレーショナル データベースのパフォーマンスを調整します。また、リレーショナル データベースは通常、トランザクションをサポートし、強整合性を保証するため、頻繁に更新されるデータには非常に適しています。

ただし、次のような場合には、リレーショナル データベースは適していません。

  • データが主に読み取り専用である場合
  • データセットのサイズがテラバイト規模になる場合
  • テーブル全体をスキャンする必要がある場合(列の最大値を計算する場合など)、またはデータが高速に流入する場合

フライト遅延のユースケースは、まさにこれに該当します。この場合は、リレーショナル データベースから、分析データ ウェアハウスである BigQuery に切り替えます。分析データ ウェアハウスでは SQL を使用でき、大規模なデータセットやアドホック クエリの処理により適しています。つまり、列にインデックスを作成する必要はありません。

お疲れさまでした

このラボでは、テーブルを作成して、Cloud Storage に保存されているテキストデータを Cloud SQL にインポートする方法を学びました。

次のステップと詳細情報

このラボのベースとなっている書籍について詳しくは、以下をご覧ください。

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

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

マニュアルの最終更新日: 2026 年 5 月 6 日

ラボの最終テスト日: 2026 年 5 月 6 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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

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