始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a Service Account for Cloud SQL.
/ 25
Deploy a lightweight GKE application.
/ 25
Connect the GKE application to an external load balancer
/ 25
Verify full read/write capabilities of application to database.
/ 25
Cloud SQL は、MySQL、PostgreSQL、Microsoft SQL Server 対応のフルマネージド リレーショナル データベース サービスであり、バックアップ、レプリケーション、ロギングなどの一般的な管理タスクを対象とした多数のサービスを提供しています。これらの便利なサービスを活用するために、アプリケーションを簡単に Cloud SQL インスタンスに接続できます。
このラボでは、まず Kubernetes クラスタを作成し、そのクラスタにシンプルなアプリケーションをデプロイします。次に、指定された Cloud SQL for PostgreSQL インスタンスにそのアプリケーションを接続し、アプリケーションがデータの読み取り、書き込みを行えることを確認します。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
一部の Compute Engine リソースは、リージョン内やゾーン内に存在します。リージョンとは、リソースを実行できる特定の地理的なロケーションです。1 つのリージョンには 1 つ以上のゾーンがあります。
Cloud Shell で次の gcloud コマンドを実行して、ラボのデフォルトのリージョンとゾーンを設定します。
このタスクを完了するには、いくつかの API を初期化し、アプリケーションが Cloud SQL データベースに接続するために使用する IAM サービス アカウントを作成する必要があります。
このラボで必要な API を有効にする必要があります。後のタスクでコンテナをビルドして Artifact Registry に push するため、まず Artifact Registry API を有効にする必要があります。
後でデプロイするアプリケーション用の IAM サービス アカウント認証情報を構成する必要があります。このサービス アカウントは、Cloud SQL データベースの作成とアクセスを可能にするロールにバインドされている必要があります。
ファイルは Cloud Shell のホームフォルダに保存されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、Kubernetes クラスタを作成し、そのクラスタに軽量の Google Kubernetes Engine(GKE)アプリケーションをデプロイします。このアプリケーションを構成して、指定された Cloud SQL インスタンスにアクセスできるようにします。
ラボで用意されているアプリケーションは、gMemegen という名前のシンプルな Flask-SQLAlchemy ウェブ アプリケーションです。このアプリケーションはミームを作成するために、一連の写真を指定してヘッダーとフッターのテキストをキャプチャし、それらのテキストをデータベースに保存して、ミームをローカル フォルダにレンダリングします。このアプリケーションは、2 つのコンテナ(アプリケーション用とサイドカー パターンでデプロイされた Cloud SQL Auth Proxy 用)を含む単一の Pod で実行されます。
アプリとデータベース間のサイドカーを介したリクエストは、ロードバランサによってマーシャリングされます。ユーザーはブラウザで、このロードバランサが公開する外部 Ingress の IP アドレスを使用してアプリにアクセスします。
このステップでは、最小限の Kubernetes クラスタを作成します。クラスタがデプロイされるまでには数分かかります。
このステップでは、Cloud SQL インスタンスとデータベースに接続するために必要な認証情報を含む Kubernetes Secret のペアを作成します。
gMemegen アプリケーションを GKE クラスタにデプロイする前に、コンテナをビルドしてリポジトリに push する必要があります。
Y」と入力します。このラボでは、'root' ユーザーとして 'pip' を実行することに関する警告は無視してかまいません。ただし、ローカルマシンで作業する場合をはじめ、一般的には仮想環境を使用することがベスト プラクティスです。
gMemegen アプリケーションが正しいコンテナを指すように Kubernetes Deployment マニフェストを変更し、Cloud SQL PostgreSQL インスタンスの接続文字列を使用して Cloud SQL Auth Proxy サイドカーを構成する必要があります。
この手順では Cloud Shell エディタを使用してファイルを編集する方法を説明していますが、必要に応じて、Cloud Shell から vi や nano などの別のエディタを使用することもできます。
Cloud Shell のメニューバーで、[エディタを開く] をクリックして Cloud Shell エディタを開きます。
左側の [エクスプローラ] パネルに移動して gmemegen フォルダを開き、gmemegen_deployment.yaml を選択して、このファイルを編集します。
33 行目の image 属性で、${REGION} を ${PROJECT_ID} を
${REGION} を ${PROJECT_ID} を 接続名が正しいことを確認するには、Cloud コンソールで [データベース] > [SQL] に移動し、postgres-gmemegen インスタンスを選択して、[概要] ペインの [接続名] に表示されている名前と比較します。有効な接続名の形式は PROJECT_ID:REGION:CLOUD_SQL_INSTANCE_ID です。
Cloud Shell エディタのメニューから [File] > [Save] を選択して、変更を保存します。
Cloud コンソールで [ターミナルを開く] をクリックして、Cloud Shell を再度開きます。上部の Cloud コンソール ウィンドウが表示されるよう、メニューバーの中央上部にあるハンドルを下にドラッグしてターミナル ウィンドウのサイズを変更しなければならない場合があります。
Cloud Shell で次のコマンドを実行して、アプリケーションをデプロイします。
Pod の起動には数分かかることがあります。これは、Pod がリポジトリからイメージを pull する必要があるためです。ステータスが Running になっている 2 つのコンテナを含む Pod が表示されるまで、上記のコマンドを繰り返します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、GKE Pod 内のコンテナ間でのリクエストをマーシャリングするロードバランサを作成し、ブラウザで外部 IP アドレスを使用してアプリケーションにアクセスします。
このステップでは、アプリケーションにパブリック IP アドレスを提供する Kubernetes ロードバランサ Service を作成します。
このステップでは、ウェブブラウザから gMemegen アプリケーションにアクセスします。
このアプリケーションのインターフェースは、ごくシンプルなものです。アプリを起動すると表示されるホームページには、ミームを作成するための画像候補が 6 つ提示されます。画像をクリックすると、その画像が選択されます。
[Create Meme] ページが表示されます。このページで、画像の上部と下部に表示する 2 つのテキストを入力します。[Submit] をクリックすると、ミームがレンダリングされて表示されます。インターフェースには、生成されたミームのページからホームページに戻るためのナビゲーションが提供されていません。ホームページに戻るには、ブラウザの [戻る] ボタンを使用する必要があります。
[Recent] ページと [Random] ページには、最近生成された一連のミーム、ランダムなミームがそれぞれ表示されます。ミームを生成して UI を操作すると、データベース アクティビティが生成されます。このアクティビティは、下の説明のようにログで確認できます。
ロードバランサが外部 IP を公開するまで待ちます。公開された外部 IP を取得する方法は次のとおりです。
LoadBalancer Ingress の外部 IP アドレス属性をコピーします。出力:
LoadBalancer Ingress 属性が出力に含まれるまで(上記を参照)1 分ほどかかるため、この属性が表示されるまでコマンドを繰り返してから、次のステップに進みます。
ロードバランサの外部 IP アドレスへのクリック可能なリンクを作成するには、Cloud Shell で次のコマンドを使用します。
Cloud Shell でそのリンクをクリックすると、ブラウザの新しいタブで gMemegen アプリケーションが実行されます。
ミームを作成する方法は次のとおりです。
新しく作成されたミームが表示されます。
さらにミームを作成するには、ブラウザの [戻る] ボタンを使用してホームページに移動します。
既存のミームを表示するには、アプリのメニューで [Recent] または [Random] をクリックします([Random] をクリックすると、新しいブラウザタブが開きます)。
Cloud Shell で次のコマンドを実行して、アプリケーションのアクティビティを表示します。
これにより、gmemegen コンテナのログに対するクエリが実行され、Pod 上のアプリケーションのアクティビティが表示されます。ここに、実行時に stderr に記録された SQL ステートメントも示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、アプリケーションがデータベースに対して書き込みと読み取りを行えることを確認します。
このステップでは、Cloud Shell で PL/SQL を実行して Cloud SQL インスタンスに接続します。
Google Cloud コンソールで、[データベース] > [SQL] に移動し、postgres-gmemegen インスタンスを選択します。
[概要] ペインで、[このインスタンスと接続] まで下にスクロールし、[Cloud Shell を開く] ボタンをクリックします。
Cloud Shell で自動入力されたコマンドを実行します。
パスワードの入力を求められたら、「supersecret!」と入力します。
postgres=> プロンプトで、次のコマンドを入力して gmemegen_db データベースを選択します。
パスワードの入力を求められたら、「supersecret!」と入力します。
gmemegen_db=> プロンプトで、次のコマンドを入力します。
行ごとに、gMemegen アプリによって生成された各ミームが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、Cloud SQL for PostgreSQL データベースにアクセスするようにアプリケーションを構成しました。Kubernetes クラスタを作成し、そのクラスタにシンプルなミーム生成アプリケーションをデプロイしました。また、指定された Cloud SQL for PostgreSQL データベース インスタンスにアプリケーションを接続し、アプリケーションがデータの読み取り、書き込みを行えることを確認しました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 2 月 28 日
ラボの最終テスト日: 2025 年 2 月 24 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください