
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Enable relevant APIs and set IAM roles.
/ 20
Create and start a Cloud Workstation.
/ 20
Deploy your app to Cloud Run.
/ 60
このラボでは、AI を活用した、Google Cloud のコラボレーターである Gemini を使用して、サンプル アプリケーションを探索、作成、変更、テスト、デプロイします。
Cloud Workstations を利用して、Code OSS を IDE として使用する開発環境を作成します。Cloud Code の Gemini Code Assist を使用して、コードを理解し、2 つの API メソッドを持つサンプル インベントリ アプリケーションを構築します。また、Gemini を利用して、作成したアプリケーションの Cloud Run へのデプロイ手順を生成します。
このラボは、アプリケーションの構築に参加した経験がある開発者であれば、クラウド アプリケーションの開発に詳しくない方も対象となります。IDE として VS Code や Code OSS を利用した経験があり、Python と Flask フレームワークに慣れているほうが内容を理解しやすいでしょう。
このラボでは、次のタスクの実行方法について学びます。
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] パネルでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] パネルでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールが組み込まれた仮想マシンです。5 GB の永続ホーム ディレクトリを提供し、Google Cloud 上で実行されます。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。gcloud
は Google Cloud のコマンドライン ツールで、Cloud Shell にプリインストールされており、Tab キーによる入力補完がサポートされています。
Google Cloud Console のナビゲーション パネルで、「Cloud Shell をアクティブにする」アイコン()をクリックします。
[次へ] をクリックします。
環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続の際に認証も行われ、プロジェクトは現在のプロジェクト ID に設定されます。次に例を示します。
有効なアカウント名前を一覧表示する:
(出力)
(出力例)
プロジェクト ID を一覧表示する:
(出力)
(出力例)
ラボの認証情報を使用して Google Cloud コンソールにログインし、Cloud Shell ターミナル ウィンドウを開きます。
Cloud Shell で次のコマンドを実行して、プロジェクト ID とリージョンの環境変数を設定します。
ログインに使用した Google ユーザー アカウントを環境変数に保存するには、以下のコマンドを実行します。
Gemini 用の Cloud AI Companion API を有効にします。
Gemini を使用できるよう、必要な IAM ロールを Google Cloud の Qwiklabs ユーザー アカウントに付与します。
これらのロールを追加すると、Gemini の支援機能を利用できるようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは Gemini アシスタンスを利用して、Cloud Workstations IDE 用の Cloud Code プラグインでアプリケーションを開発します。Cloud Workstations は Gemini とのネイティブ インテグレーションが含まれているフルマネージド統合開発環境です。
このタスクでは、Cloud Workstations 環境を構成してプロビジョニングし、Gemini 用 Cloud Code プラグインを有効にします。
my-cluster
という名前のワークステーション クラスタが、このラボ用に事前に作成されています。このクラスタをワークステーションの構成と作成に使用します。
Google Cloud コンソールのタイトルバーで、[検索] フィールドに「Cloud Workstations」と入力し、検索結果で [Cloud Workstations] をクリックします。
ナビゲーション パネルで [クラスタ管理] をクリックします。
クラスタの [ステータス] を確認します。クラスタのステータスが [Reconciling
] または [更新中
] の場合は、定期的に更新して [準備完了
] になるまで待ってから次のステップに進みます。
Cloud Workstations でワークステーションを作成する前に、ワークステーション構成を作成する必要があります。
ナビゲーション パネルで、[ワークステーションの構成]、[ワークステーションの構成を作成] の順にクリックします。
次の値を指定します。
プロパティ | 値 |
---|---|
名前 | my-config |
ワークステーション クラスタ | my-cluster を選択する |
[作成] をクリックします。
[更新] をクリックします。
作成中の構成の [ステータス] を確認します。構成のステータスが [Reconciling
] または [更新中
] の場合は、定期的に更新して [準備完了
] になるまで待ってから次のステップに進みます。
ナビゲーション パネルで、[ワークステーション]、[ワークステーションを作成] の順にクリックします。
次の値を指定します。
プロパティ | 値 |
---|---|
名前 | my-workstation |
構成 | my-config を選択する |
[作成] をクリックします。
ワークステーションが作成されると、[マイ ワークステーション] の下に [停止済み
] のステータスで表示されます。
[起動] をクリックして、ワークステーションを起動します。
ワークステーションの起動中は、ステータスが [開始中
] に変わります。ステータスが [実行中
] に変わるまで待ちます。これは、ワークステーションが使用可能になったことを示します。ワークステーションが完全に起動するまでに数分かかることがあります。
一部の拡張機能は、適切に機能させるためにブラウザでサードパーティ Cookie を有効にする必要があります。
Chrome でサードパーティ Cookie を有効にするには、Chrome メニューで [設定] をクリックします。
検索バーに「サードパーティ Cookie」と入力します。
[サードパーティ Cookie] をクリックし、[サードパーティの Cookie を許可する] を選択します。
ワークステーションで Code OSS IDE を起動するために、Google Cloud コンソールの [ワークステーション] ページで [開始] をクリックします。
IDE が別のブラウザタブで開きます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、Cloud Workstations IDE 用の Gemini in Cloud Code を有効にします。
ワークステーションで Google Cloud に接続する手順は、次のとおりです。
ウィンドウ下部のステータスバーで、[Cloud Code - Sign In] をクリックします。
Google Cloud ログインフローを立ち上げるには、Ctrl キー(Windows および Linux の場合)または Command キー(macOS の場合)を押して、ターミナルのリンクをクリックします。
外部ウェブサイトを開くかどうかを確認するメッセージが表示されたら、[開く] をクリックします。
受講者用メールアドレスをクリックします。
このアプリを Google からダウンロードしたことを確認する画面が表示されたら、[ログイン] をクリックします。
確認コードがブラウザタブに表示されます。
[コピー] をクリックします。
IDE に戻り、ターミナルの [認証コードを入力してください] と表示されている場所にコードを貼り付けます。
クリップボードからのコピーを承認するよう求められた場合は、[許可] をクリックします。
Enter キーを押し、ステータスバーに [Cloud Code - No Project] と表示されるまで待ちます。
これで Google Cloud に接続されました。
ワークステーション IDE 用の Gemini in Cloud Code を有効にする手順は、次のとおりです。
ワークステーション IDE の左下にある管理アイコン()をクリックし、[Settings] をクリックします。
[Settings] ダイアログの [User] タブで、[Extensions] > [Gemini Code Assist] を選択します。
[Search settings] で「Gemini
」と入力します。
Qwiklabs ラボの認証情報パネルで、プロジェクト ID をコピーするには、コピーアイコンをクリックします。
Cloud Code の設定ページで [Geminicodeassist: Project] に Google Cloud プロジェクト ID を貼り付けます。
[Geminicodeassist: Enable] が有効になっていることを確認します。
IDE ステータスバーで [Cloud Code - No Project] をクリックします。
[Google Cloud プロジェクトを選択する] をクリックし、前述のプロジェクト ID をクリックします。
プロジェクト ID がステータスバーに表示されます。これで Gemini を使用できるようになりました。
アプリケーション アーキテクチャの要件を満たす Google Cloud サービスを選択するのに Gemini が役立ちます。ローカル IDE でアプリケーションを開発、テストして、Google Cloud にデプロイする場合、Gemini とのチャットが役に立ちます。
このタスクでは、[Gemini Code Assist] ペインを使用してプロンプトを入力し、Gemini からの回答を表示します。
プロンプトとは、必要なサポートについて説明する質問やステートメントのことです。プロンプトには、より有用な、または完全な回答を提供するために Google Cloud が分析する既存のコードからのコンテキストを含めることができます。良い回答を生成するプロンプトの作成方法については、Google Cloud で Gemini により適したプロンプトを作成するをご覧ください。
Gemini に Google Cloud サービスに関する提案を求める手順は次のとおりです。
Gemini とのチャットペインを開くには、IDE のアクティビティ バーで [Gemini Code Assist]()をクリックします。
Gemini とのチャットペインを開くときにエラーが発生する場合は、ブラウザ ウィンドウを更新します。
[Gemini Code Assist] ペインで、次のプロンプトを入力して送信アイコン()をクリックします。
Gemini は Google Cloud サービスと説明のリストを返します。
この例では、サンプル アプリケーションの構築とデプロイに役立つ 2 つの Google Cloud サービスとして Cloud Run と Cloud Functions が Gemini から提案されたとします。これらのサービスに関してさらに詳しく質問できます。
さらに質問する、つまりプロンプトを送信するには、[Gemini Code Assist] ペインで次のテキストを入力して、送信アイコン()をクリックします。
Gemini は 2 つの Google Cloud サービスの主な違いについて回答します。
チャットの履歴をリセットするには、[Gemini Code Assist] ペインでチャットをリセットアイコン()をクリックします。
次は、Cloud Run を使用して基本的な Python アプリケーションを作成、デプロイします。Cloud Run と Cloud Code を初めて使用するため、アプリケーションの作成手順についてサポートが必要です。
このタスクでは、Cloud Run での Hello World Python アプリケーションの構築を支援するよう Gemini に指示します。
Cloud Code を使用して Cloud Run アプリケーションを作成する方法を学習するには、[Gemini Code Assist] ペインで、次のプロンプトを入力して、送信アイコン()をクリックします。
Gemini からの回答で、アプリケーションを作成する手順が示されます。また、Cloud Run アプリケーション用にサポートされる言語も表示されます。
メニュー()をクリックして、[表示] > [コマンド パレット] に移動します。
「Cloud Code New
」と入力して、[Cloud Code: New Application] を選択します。
[Cloud Run application] を選択します。
[Python (Flask): Cloud Run] を選択します。
アプリケーションと最上位フォルダの名前を「/home/user/hello-world
」に更新して、[OK] をクリックします。
Cloud Code でテンプレートがダウンロードされ、IDE のフォルダ内にアプリケーションのファイルが作成されます。
Cloud Run で Hello World
アプリケーションを作成したら、Gemini を使用して、IDE にデプロイされたファイルとコード スニペットについて説明させることができます。
ファイルが表示されない場合は、IDE のアクティビティ バーで Explorer アイコン()をクリックします。
[Explorer] ペインで、[Dockerfile] を選択します。
Dockerfile の内容全体を選択し、電球アイコン()をクリックして、[More Actions] メニューの [Gemini: Explain this] をクリックします。
Gemini が Dockerfile
の内容と関数の説明を自然言語で生成します。ファイルの内容の任意の部分を選択し、電球アイコン()をクリックして [Gemini: Explain this] をクリックすることもできます。
ENTRYPOINT で始まる行を選択し、電球アイコン()をクリックして [Gemini: Explain this] をクリックします。
Gemini から ENTRYPOINT 命令の詳細が返されます。Docker がこの命令でコンテナの起動時に app.py ファイルを実行することがわかります。
app.py
ファイルの内容を表示するには、アクティビティ バーで Explorer アイコン()をクリックして、app.py
をクリックします。
hello()
関数定義内で、K_SERVICE
と K_REVISION
環境変数を含む行を選択します。次に、電球アイコン()をクリックし、[Gemini: Explain this] をクリックします。
Gemini は、これらの 2 つの Cloud Run 環境変数と、それらがアプリケーション コードでどのように使用されているかについて、詳細な説明を返します。
Cloud Run エミュレータを使用して IDE からローカルでアプリケーションを実行できます。ここでのローカルとは、ワークステーション マシンを意味します。
IDE のアクティビティ バーで、Cloud Code アイコン()をクリックして、[Cloud Run] をクリックします。
Cloud Run アクティビティ バーで、Run App on Local Cloud Run Emulator アイコン()をクリックして、[Run] をクリックします。
IDE の [Output] タブにビルドの進行状況が表示されます。
画面上部に minikube gcp-auth アドオンを有効にして Google API にアクセスするようにプロンプトが表示されたら [Yes] を選択します。
ログインを促されたら、[ログインに進む] をクリックします。
ターミナルにリンクが表示されます。
Google Cloud ログインフローを立ち上げるには、Ctrl キー(Windows および Linux の場合)または Command キー(macOS の場合)を押して、ターミナルのリンクをクリックします。
外部ウェブサイトを開くかどうかを確認するメッセージが表示されたら、[開く] をクリックします。
受講者用メールアドレスをクリックします。
続行するかどうかを確認するメッセージが表示されたら、[続行] をクリックします。
Google Cloud SDK に Google アカウントへのアクセスを許可し、利用規約に同意するには、[許可] をクリックします。
確認コードがブラウザタブに表示されます。
[コピー] をクリックします。
IDE に戻り、ターミナルの [認証コードを入力してください] と表示されている場所にコードを貼り付けて、Enter キーを押します。
ビルドとデプロイが完了するまで待ちます。
ローカルホスト URL での Hello World サービスへのリンクの上にポインタを置いて、[Follow link] をクリックします。
新しいタブがブラウザで開き、サービスが実行されていることを示すページが表示されます。
アプリケーションにデータと機能を追加して、インベントリ データの管理に使用できるようにします。
このタスクでは、まずアプリケーション用のインベントリ データを追加します。
IDE のアクティビティ バーで Explorer アイコン()をクリックします。
新しいファイル アイコン()をクリックして、inventory.py
という名前のファイルを作成します。
Gemini にサンプルデータを生成させるには、[Gemini Code Assist] ペインを開き、次のプロンプトを入力して送信アイコンをクリックします。
Gemini は 3 つの JSON オブジェクトを含む inventory
JSON 配列を生成します。
inventory.py ファイルにサンプル JSON データを挿入するには、Gemini の回答で 現在のファイルに挿入アイコン()をクリックします。ファイルの内容は次のようになります。
inventory.py
ファイルを home/user/hello-world
フォルダに保存するには、IDE メニュー()で [File] > [Save] をクリックします。
このサンプル インベントリ データは次のサブタスクで利用します。
次に、インベントリ データを操作できる API メソッドを app.py
ファイルに導入します。このサブタスクを完了するために Gemini のコード生成機能を使用します。
[Explorer] からファイル app.py
を開きます。
flask import ステートメントを変更して、inventory.py
ファイルと jsonify
ライブラリを追加します。
app.py
ファイルで、次の app 割り当てステートメントの下にカーソルを置きます。
Gemini Code Assist が最初の API メソッドのコードを生成できるようにするには、app.py
ファイルに次のコメントを入力します。
コメント行を選択します。このとき、コメントの下の空白行も含めます。
電球アイコン()をクリックし、[Gemini: Generate code] を選択します。
Gemini は inventory.py
ファイルからアイテムのリストを返す GET オペレーションの関数を生成します。通常、関数は次のようになります。
jsonify(inventory)
関数の詳細を確認するには、用語をハイライト表示し、コードを説明するよう Gemini に指示します。
生成されたコードを採用するには、そのコードの任意の箇所にポインタを合わせて [Accept] をクリックします。
生成されたコードの app.route と return ステートメントが上で示したコードと異なる場合は、生成されたコード スニペットを上のスニペットと置き換えてください。これで、ラボの意図どおりに進めることができます。
指定したプロダクト ID のインベントリ アイテムに関するデータを返す別の API メソッドを追加します。プロダクト ID が見つからない場合、API は標準 HTTP ステータス コード 404 を返します。
/inventory
ルートの後に、何行かの空白行を追加します。
Gemini がこの 2 つ目の API メソッドのコードを生成できるようにするには、app.py
ファイルに次のコメントを入力します。
コメント 3 行を下の空白行も含めて選択し、電球アイコン()をクリックして、[Gemini: Generate code] を選択します。
Gemini は、インベントリ ファイルからリクエストで指定された productID を持つアイテムを返すか、指定されたプロダクトが存在しない場合は 404 ステータス コードを返す、GET オペレーションの関数を生成します。
生成されたコードの任意の箇所にポインタを合わせます。生成されたコードを採用するには、ツールバーで [Accept] をクリックします。
生成されたコードが上記のコードと異なる場合は、生成されたコード スニペットを上記のスニペットに置き換えてください。
app.py
ファイルは次のようになります。
Cloud Run エミュレータを使用して IDE からローカルでアプリケーションを実行できます。ここでのローカルとは、ワークステーション マシンを意味します。
IDE のアクティビティ バーで Cloud Code アイコン()をクリックします。
Cloud Run アクティビティ バーで、Run App on Local Cloud Run Emulator アイコン()をクリックします。
画面上部に minikube gcp-auth アドオンを有効にして Google API にアクセスするようにプロンプトが表示されたら [Yes] を選択します。
ビルドとデプロイが完了するまで待ちます。
ローカルホスト URL での Hello World サービスへのリンクの上にポインタを置いて、[Follow link] をクリックします。
新しいタブがブラウザで開き、サービスが実行されていることを示すページが表示されます。
前のタスクの手順に沿ってアプリケーションをローカルで実行します。
localhost URL のリンクをクリックして、実行中のアプリケーションが別のブラウザタブで表示されたら、同じタブの URL の末尾に /inventory
を追加して Enter キーを押します。
API は inventory.py
ファイルからプロダクトのリストを含む JSON レスポンスを返します。JSON レスポンスは次のようになります。
/inventory
で終了する URL に /{productID}
を追加します。ここで、{productID}
はインベントリ内のプロダクト ID です。
上記の例では、有効な URL の末尾は /inventory/12345
です。
後のステップで使用するため、このプロダクト ID をメモしておきます。
Enter キーを押します。
API は特定のプロダクトについてのデータを含む JSON レスポンスを返します。
URL でプロダクト ID を XXXXX
に置き換えて、Enter キーを押します。
これで URL の末尾は /inventory/XXXXX
になります。
XXXXX は有効なプロダクト ID ではないため、API はプロダクトが見つからないことを示す JSON エラー レスポンスを返します。
これで、Google Cloud 上の Cloud Run にアプリケーションをデプロイできるようになりました。
アクティビティ バーのメインメニュー()で、[View] > [Command Palette] をクリックします。
コマンド パレットのフィールドに「Cloud Code Deploy」と入力し、リストから [Cloud Code: Deploy to Cloud Run] を選択します。
プロジェクトの Cloud Run API を有効にするには、[Enable API] をクリックします。
[Service Settings] ページの [Region] で
残りの設定はデフォルトのままにして、[Deploy] をクリックします。
Cloud Code がイメージをビルドしてレジストリに push し、サービスを Cloud Run にデプロイします。これには数分かかることがあります。
実行中のサービスを表示するには、[Deploy to Cloud Run] ダイアログに表示されている URL を開きます。
サービスをテストするには、/inventory
と /inventory/{productID}
のパスを URL に追加し、レスポンスを確認します。
Cloud Run サービス インベントリ ページの URL を取得するには、Cloud Shell で次のコマンドを実行します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ラボでの学習が完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Qwiklabs から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバック、ご提案、修正が必要な箇所については、[サポート] タブからお知らせください。
このラボでは、以下の操作について学習しました。
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください