
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Register your app
/ 30
Set up authentication
/ 35
Add a customer page to your web app
/ 35
Lily さんは 12 年前、獣医クリニック チェーン「Pet Theory」を開業しました。Pet Theory チェーンはここ数年で急速に拡大しました。古い予約システムでは増加したトラフィックを処理しきれず、クライアントが自分の予約をスケジュールすることもできないため、Lily さんは IT 部門の Patrick さんとコンサルタントの Ruby さんに対して、簡単にスケーリングできるクラウドベースのシステムを構築するよう依頼しました。このラボでは、ユーザーが情報を記録し、予約をリアルタイムでスケジュールできる本格的な Firebase ウェブアプリを構築します。
この図は、使用するサービスの概要と、それらがどのようにつながっているかを示しています。
このラボでは、次の方法について学びます。
これは中級レベルのラボです。Cloud コンソール環境とシェル環境に精通していることを前提としています。Firebase の使用経験は役立ちますが、必須ではありません。このラボを受講する前に、次のラボを完了しておくことをおすすめします。
ファイルの編集にも慣れている必要があります。ご自身で使い慣れたテキスト エディタ(nano
、vi
など)を使用するか、上部のリボンにある Cloud Shell からコードエディタを起動できます。
準備ができたら下にスクロールし、手順に沿ってラボ環境をセットアップします。
Ruby さんは Patrick さんにメールを送りました。
Ruby さん(ソフトウェア コンサルタント) |
Patrick さん 先週はお疲れ様でした。クリニックのデータが Firestore に移行されたことを確認しました。 次のタスクは Firebase を使用して Pet Theory のウェブサイトをホストすることですね。 Ruby |
Patrick さん(IT 管理者) |
Ruby さん Firebase Hosting については聞いたことがありませんが、どのようなメリットがありますか?何から始めればよいですか? Patrick |
Ruby さん(ソフトウェア コンサルタント) |
こんにちは、Patrick さん Firebase Hosting の主なメリットは、サーバーレスであるため、インフラストラクチャを管理しなくてよいことです。セキュリティ ルールもアプリケーション内に埋め込まれるため、権限を絞り込んで、顧客データを処理する際の問題を最小限に抑えることができます。 「従量課金制」料金モデルも用意されているので、Firebase は今回のユースケースに合った包括的なモバイル開発プラットフォームといえます。 Ruby |
Patrick さん(IT 管理者) |
Ruby さん Firebase を使用すると、セキュリティとインフラストラクチャの管理(私の仕事の大部分)がずっと簡単になるように思います。アイドル状態のサーバーには課金されないというのもいいですね。 Patrick |
Ruby さんは Patrick さんに背景情報を電子メールで送信し、重要な作業について検討するための打ち合わせを設定します。この打ち合わせで、Patrick さんは次のことを行う必要があることがわかりました。
次に、Patrick さんが行うこれらの作業をサポートしていきます。
シークレット ウィンドウを開き、Firebase コンソールの URL(Firebase コンソール)にアクセスします。
プロンプトが表示されたら、次の情報を入力します。
Firebase プロジェクトの概要画面で、次のコマンドを入力します。
[アプリに Firebase を追加して利用を始めましょう] の下に並ぶアイコンのリストから、ウェブアイコン(下図でハイライト表示)を選択します。
[アプリのニックネーム] の入力を求められたら、「Pet Theory」と入力します。
[このアプリの Firebase Hosting も設定します] の横にあるチェックボックスをオンにします。
デプロイのプルダウンをクリックし、[新しいサイトを作成
] を選択します。
デフォルトを変更して、生徒の接頭辞を含めます。
[アプリを登録] ボタンをクリックします。
[次へ] > [次へ] > [コンソールに進む] をクリックします。
firebase.json
を更新して、カスタム サイト ID を含めます。サイトのデプロイ ターゲットを設定する
firebase deploy --only hosting:student-bucket- -1
コマンドを使用する場合は、サイト ID を使用するこれで、Firebase アプリケーションが構成されました。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Firebase コンソールで Firebase Authentication を設定します。
左側のナビゲーション パネルで [作成] プルダウン ボタンをクリックします。
[Authentication] タイルを選択し、[始める] をクリックします。
[ログイン方法] タブをクリックしてから Google アイテムをクリックします。
右上隅の [有効にする] 切り替えボタンをクリックし、[プロジェクトのサポートメール] でプルダウン リストからラボアカウントを選択します。
ページは以下のようになります。
以上を確認したら、[保存] ボタンをクリックします。
[設定] タブをクリックします。
[ドメイン] の見出しで、[承認済みドメイン] メニュー項目をクリックします。
ページは以下のようになります。
[ドメインを追加] ボタンをクリックします。
次のドメインを入力します。
[追加] ボタンをクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Firebase コンソールで Firebase Authentication を設定します。
左側のナビゲーション パネルで [作成] プルダウン ボタンをクリックします。
[Firestore Database] タイルを選択し、[データベースを作成] をクリックします。
デフォルトの設定をそのまま使用し、[次へ] をクリックします。
[作成] をクリックして Cloud Firestore をプロビジョニングします。
[ルール] タブをクリックします。
ルールを次のように更新します。
これで、カスタム サイト ID を使用して Firebase Authentication と Firestore が設定されました。これでバックエンドの構成が完了しました。
ここまで、ウェブ デベロッパーがコードをデプロイできるように Firebase Hosting 環境をセットアップする Patrick さんの作業をサポートしてきました。
しかし、Patrick さんは Firebase Authentication を有効にしたことも、コードを Firebase にデプロイしたこともないため、メールで Ruby にサポートを求めます...
Patrick さん(IT 管理者) |
Ruby さん ヒントをいただきありがとうございます。Firebase 環境はすべて設定できたようです。次のタスクは、ウェブサイト開発者が作成したコードのデプロイですね。 コードのデプロイにはどのような作業が伴うのか、次に何をする必要があるか教えていただけませんか? Patrick |
Ruby さん(コンサルタント) |
Patrick さん 環境を設定できたんですね。アプリケーションを実行して、次の機能を追加する方法をメールにてご説明します。
Ruby |
Patrick さん(DevOps エンジニア) |
Ruby さん かなりの作業量になりそうですね。 新しい機能を追加するたびに構造を変更する必要があるということですか?確認するだけでも時間がかかりますが... Patrick |
Ruby さん(コンサルタント) |
Patrick さん 面倒な作業のほとんどは Firebase ライブラリで行うことができます。 Firebase には、ローカルホストをバックエンドの Firebase プロジェクトに接続するための優れたコマンドライン ツールが用意されています。
プロジェクトの設定が完了したら、コマンドラインから Ruby |
Patrick さん(IT 管理者) |
Ruby さん それを聞いて安心しました。Firebase Hosting の良いところがだんだんわかってきました。 Patrick |
IDE を使用して Firebase に接続し、アプリケーションをデプロイします。
[ラボの詳細] パネルから IDE リンクをコピーします。
リンクを新しいシークレット ブラウザタブに貼り付けて、Cloud Code を開きます。
アプリケーション メニュー()> [Terminal] > [New Terminal] をクリックして、ターミナルを開きます。
コマンドラインから GitHub リポジトリのクローンを作成します。
左側のパネルでエクスプローラ アイコンをクリックしてから、[Open Folder] > [pet-theory] > [lab02] をクリックします。[OK] をクリックします。
Do you trust the authors of the files in this folder?
](このフォルダ内のファイルの作成者を信頼しますか?)というポップアップが表示されたら、チェックボックスをオンにして [Yes, I trust the authors](はい、作成者を信頼します)をクリックします。
アプリケーション メニュー()> [Terminal] > [New Terminal] をクリックして、ターミナルを再度開きます。
ノード パッケージを更新します。
出力例:
これで、アプリケーションをバックエンドの Firebase プロジェクトにリンクする準備が整いました。
IDE で Firebase を接続し、アプリケーションをデプロイします。
次のコマンドを入力して、Firebase プロジェクトへのアクセスを承認します。
Firebase にエラー報告情報の収集を許可するかどうかを尋ねられたら「Y」と入力し、Enter キーを押します。
生成された URL をコピーして新しいシークレット ブラウザタブに貼り付け、Enter キーを押します(リンクを直接クリックするとエラーが発生します)。
ラボのアカウントを選択し、[許可] をクリックします。
[Yes, I just ran this command] をクリックして続行します。
6 [Yes, this is my session ID] をクリックしてセッション ID を確認します。
その後、アクセスコードが付与されます。
アクセスコードをコピーして Cloud Shell プロンプト [Enter authorization code:] に貼り付け、Enter キーを押します。
次のような出力が返されます。
出力例:
これで Firebase が接続され、承認されました。次のステップは、使用する Firebase プロダクトを初期化することです。
IDE で、必要なプロダクトを Firebase に通知します。
現在の作業ディレクトリで新しい Firebase プロジェクトを初期化します。
次のプロダクトが必要です。
矢印キーと Space キーを使用して、[Firestore] と [Hosting] を選択します。シェルで次のように選択されていることを確認して、Enter キーを押します。
残りの手順を実行して Firebase を構成します。
出力例:
これでローカルの構成が完了しました。
このステップはターミナルで続行します。pet-theory/lab02 フォルダにいることを確認します。
firebase.json を編集し、hosting セクションを site に更新します。
想定される出力
サイト ID 値を使用して Firebase アプリケーションをデプロイします。次に例を示します。
出力:
ホスティング URL(
[Google でログイン] ボタンをクリックします。
指定されたユーザー名(
Pet Theory のような小さな会社には、これを行うためのリソースや必要なスキルがありません。 この場合、アプリケーション ユーザーが既存の Google アカウント(または他の ID プロバイダ)でログインできるようにすると便利です。
これで、ユーザーが Google 認証を使用して予約アプリにアクセスするためのコードがデプロイされました。
ターミナルに戻り、エディタを使用して public フォルダにあるファイルの内容を表示します。
public/customer.js
ファイルを開き、次のコードをコピーして貼り付けます。
public/styles.css
ファイルを開き、次のコードを貼り付けます。
ターミナル コマンドラインから次のコマンドを実行します。
出力:
アプリのタブに移動し、command+shift+R キー(Mac の場合)または Ctrl+Shift+R キー(Windows の場合)でページのハード再読み込みを行います。通常の更新だけでは、必要な更新内容は表示されません。
いくつかの顧客情報を入力します。名前と電話番号を入力します。
顧客名:
顧客の電話番号:
[Save Profile] をクリックします。
Firebase コンソールに戻ります。
[構築] > [Firestore Database] をクリックして、保存されたプロフィール情報を表示します。
ウェブアプリのページに戻り、[Appointments] リンクをクリックします。予約コードがまだデプロイされていないため、空白のページが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
正しく表示されました。
Firestore では、クライアント(ウェブアプリとネイティブ モバイルアプリ)がリアルタイムで更新されるので、ユーザーが更新または再読み込みを行う必要はありません。
このラボでは、Firebase を使用して堅牢なサーバーレス ウェブ アプリケーションを作成しました。Firebase プロジェクトを作成して構成してから、サーバーサイドの認証と認可を自動化する Firestore セキュリティを追加しました。次に、Google ログインをウェブアプリに追加し、ユーザーが連絡先情報や予約を追加できるようにデータベースを構成しました。最後に、ユーザーによる予約とスケジュールを可能にするコードを確認してデプロイし、ウェブアプリで Firebase のリアルタイムの更新を確認しました。これで、この学習パスの他のラボを受講する準備が整いました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 10 月 16 日
ラボの最終テスト日: 2024 年 10 月 16 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください