ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

AlloyDB データベースの管理

ラボ 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

GSP1086

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

概要

AlloyDB for PostgreSQL は、特に要求の厳しいエンタープライズ データベース ワークロード向けに構築された PostgreSQL 互換のフルマネージド データベース サービスです。AlloyDB は、Google の強みと、特に人気のオープンソース データベース エンジンの一つである PostgreSQL を組み合わせて、優れたパフォーマンス、スケーリング、可用性を実現しています。

このラボでは、AlloyDB for PostgreSQL データベースを最適な形で使用するために不可欠な管理タスクを行います。

演習内容

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

  • データベース フラグを調べる
  • データベース拡張機能を設定する
  • 既存のクラスタの読み取りプール インスタンスを作成する
  • バックアップを設定する
  • AlloyDB コンソールで Monitoring を確認する

設定と要件

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

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、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. ラボの開始時に、AlloyDB クラスタとインスタンスがプロビジョニングされています。Cloud コンソールのナビゲーション メニュー(console_nav_small.png)で、[すべてのプロダクトを表示] をクリックします。[データベース] セクションで、[AlloyDB]、[クラスタ] の順にクリックして、クラスタの詳細を確認します。

  2. クラスタの名前は lab-cluster、インスタンスの名前は lab-instance です。

  3. インスタンスが完全に作成され、初期化されるまでにはしばらく時間がかかります。[ステータス] が [準備完了] になるまで待ってから、次の手順に進んでください。

  4. インスタンス セクションのプライベート IP アドレスを確認します。後のステップで値を貼り付けられるよう、このプライベート IP アドレスをテキスト ファイルにコピーしておきます。

  5. インスタンスは、enable_pgaudit データベース フラグがすでに設定された状態で構成されています。pgaudit は、標準のロギング メカニズムを使用して詳細なセッション監査ロギングとオブジェクト監査ロギングを提供する、PostgreSQL の一般的な機能です。pgaudit を完全に有効にするには、対応するデータベース拡張機能も有効にする必要があります。これについては、次のセクションで説明します。

  6. [クラスタ内のインスタンス] セクションで、[lab-instance] を選択し、[プライマリを編集] をクリックします。

  7. インスタンスにデータベース フラグを追加するには、[高度な構成のオプション] を開いて [データベース フラグを追加] をクリックします。

  8. [フラグを選択] 内の利用可能なフラグのリストを参照して、サポートされているオプションを確認します。このラボでは、フラグは追加しません

  9. [キャンセル] を 2 回クリックして、[プライマリを編集] インスタンス画面を終了します。

タスク 2. データベース拡張機能を設定する

  1. 前の手順に続いて、データベース拡張機能を設定して、AlloyDB クラスタの pgaudit 機能を完全に有効にします。

  2. フラグの構成とは異なり、データベース拡張機能を有効にするには、psql クライアントを介してインスタンスに接続する必要があります。

  3. ナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] の下にある [VM インスタンス] をクリックします。

  4. alloydb-client という名前のインスタンスの [接続] 列で、[SSH] をクリックしてターミナル ウィンドウを開きます。

  5. 次の環境変数を設定します。ALLOYDB_ADDRESS は、AlloyDB インスタンスのプライベート IP アドレスに置き換えます。

export ALLOYDB=ALLOYDB_ADDRESS
  1. 次のコマンドを実行して、AlloyDB インスタンスのプライベート IP アドレスを AlloyDB クライアント VM に保存し、ラボ全体で保持されるようにします。
echo $ALLOYDB > alloydbip.txt
  1. 次のコマンドを使用して、PostgreSQL(psql)クライアントを起動します。 クラスタの作成時に入力した postgres ユーザーのパスワード(Change3Me)を入力するよう求められます。
psql -h $ALLOYDB -U postgres
  1. 次のような psql ターミナル プロンプトが表示されます。
psql (14.5 (Debian 14.5-1.pgdg110+1), server 14.4) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. postgres=>
  1. 次の SQL コマンドを別々に入力して実行し、拡張機能を有効にします。
\c postgres CREATE EXTENSION IF NOT EXISTS PGAUDIT;
  1. 次のシステムクエリを実行して、pgaudit 拡張機能の詳細を表示します。
select extname, extversion from pg_extension where extname = 'pgaudit'; extname | extversion ---------+------------ pgaudit | 1.6.1 (1 row)
  1. \q」と入力して psql クライアントを終了します。

  2. exit」と入力して、ターミナル ウィンドウを閉じます。

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

pgaudit 拡張機能を有効にする

タスク 3. 既存のクラスタの読み取りプール インスタンスを作成する

  1. AlloyDB for PostgreSQL の主な機能の一つは、読み取りプール インスタンスの実装です。読み取りプール インスタンスは、ノードを集約することによりクラスタの読み取り容量を増やします。これをスケーリングすることで、可用性の高い読み取りが可能になります。

読み取りプール インスタンスは、クラスタに必須ではありませんが、プライマリ インスタンスよりも適切にデータ分析ワークロードをサポートします。そのため、データ分析のニーズに最良の選択肢です。

  1. 読み取りプール インスタンスを追加するには、クラスタの [概要] ページの [クラスタ内のインスタンス] セクションで、[読み取りプールを追加] または [読み取りプール インスタンスを追加] をクリックします。

  2. [読み取りプール インスタンス ID] に「lab-instance-rp1」と入力します。[ノード数] を [2] に設定します。

  3. マシンタイプとして [2 vCPU、16 GB] を選択します。

  4. [読み取りプールを作成] をクリックします。

  5. 読み取りプール インスタンスの作成には約 811 分かかります。

  6. 読み取りプール インスタンスが [概要] ページに表示されます。プライベート IP は、プライマリ インスタンスと同じアドレスプールにあります。直接 IP アドレスを使用すると、読み取り専用のクエリを読み取りプールに転送できるため、クラスタ全体のパフォーマンスが向上します。

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

読み取りプール インスタンスを作成する

タスク 4. バックアップを設定する

  1. すべての AlloyDB クラスタが作成されると、自動バックアップがデフォルトで構成されます。ただし、ワークロードの要件によっては、必要に応じてオンデマンドでバックアップを作成し、追加の復元オプションを用意することもできます。

  2. Cloud コンソールのナビゲーション メニュー(console_nav_small.png)で、[すべてのプロダクトを表示] をクリックし、[データベース] で [AlloyDB]、[バックアップ] の順にクリックして、[バックアップ] ページを開きます。

  3. インスタンスが作成されてから間もないため、自動バックアップはありません。オンデマンド バックアップの作成に進みます。[バックアップを作成] をクリックします。

  4. バックアップのソースとして lab-cluster が選択されていることを確認します。

  5. バックアップの一意の ID を入力します。この場合は「lab-backup」と入力します。

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

AlloyDB は、ソースクラスタが準備完了状態であることを確認してから、バックアップを実行する長時間実行オペレーションを開始します。[バックアップ] ページには、オペレーションが完了するまで、バックアップが進行中のステータスで表示されます。かかる時間はインスタンスのサイズによって異なりますが、ラボ環境ではバックアップは短時間(1 分以内)で作成されるはずです。

  1. Cloud Shell で次のコマンドを実行して、バックアップの詳細を確認します。
gcloud beta alloydb backups list
  1. バックアップの復元は非常に簡単です。バックアップの行の最後にある [復元] リンクをクリックします。バックアップと提案された復元ターゲットの情報を確認します。このラボでは、作成したばかりのバックアップを復元しません。[キャンセル] をクリックしてウィザードを閉じます。

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

バックアップを設定する

タスク 5. AlloyDB コンソールで Monitoring を確認する

  1. AlloyDB Monitoring ダッシュボードには、クラスタとインスタンスの使用状況、サイズ、パフォーマンスに関する多くの情報が含まれています。使用しているリソースの指標が表示され、傾向をモニタリングできます。

  2. [クラスタの概要] で、ページの左側にある [モニタリング] リンクを選択します。

  3. lab-instance でのアクティビティがほとんど発生していないため、現時点で表示されている指標からはあまり情報を得られません。そこで、Postgres ツール pgbench を使用して人工的なデータセットを生成し、シミュレートされたワークロードを実行して、lab-instance に一般的な負荷をかけます。

  4. ナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] の下にある [VM インスタンス] をクリックします。

  5. alloydb-client という名前のインスタンスの [接続] 列で、[SSH] をクリックしてターミナル ウィンドウを開きます。

  6. 次のコマンドを実行して、ALLOYDB 環境変数を設定します。

export ALLOYDB=$(cat alloydbip.txt)
  1. pgbench を使用する最初の手順は、サンプル テーブルを作成してデータを入力することです。次のコマンドを実行して、4 つのテーブルのセットを作成します。postgres ユーザーのパスワード(Change3Me)を入力するよう求められます。

最大のテーブル pgbench_accounts には 500 万行が読み込まれます。この操作は非常に短時間で完了します。

pgbench -h $ALLOYDB -U postgres -i -s 50 -F 90 -n postgres pgbench create dropping old tables... NOTICE: table "pgbench_accounts" does not exist, skipping NOTICE: table "pgbench_branches" does not exist, skipping NOTICE: table "pgbench_history" does not exist, skipping NOTICE: table "pgbench_tellers" does not exist, skipping creating tables... generating data (client-side)... 5000000 of 5000000 tuples (100%) done (elapsed 9.49 s, remaining 0.00 s) creating primary keys... done in 13.71 s (drop tables 0.00 s, create tables 0.01 s, client-side generate 9.98 s, primary keys 3.72 s).
  1. psql クライアントに接続し、次のクエリを実行して pgbench_accounts テーブルの行数を確認します。postgres ユーザーのパスワード(Change3Me)を入力するよう求められます。
psql -h $ALLOYDB -U postgres select count (*) from pgbench_accounts; count --------- 5000000 (1 row)
  1. \q」と入力して psql クライアントを終了します。

  2. 次の pgbench オペレーションを実行して、lab-instance に対するワークロードをシミュレートします。このオペレーションは、2 つのスレッドで 50 個のクライアントを 3 分間にわたって 30 秒ごとにポーリングする負荷に対応しています。postgres ユーザーのパスワード(Change3Me)を入力するよう求められます。

pgbench -h $ALLOYDB -U postgres -c 50 -j 2 -P 30 -T 180 postgres
  1. ワークロード オペレーションが完了し、実行の統計情報が報告されます。詳細は次のようになります。
pgbench (14.5 (Debian 14.5-1.pgdg110+1), server 14.4) starting vacuum...end. progress: 30.0 s, 1412.2 tps, lat 34.433 ms stddev 25.836 progress: 60.0 s, 1426.6 tps, lat 35.040 ms stddev 25.459 progress: 90.0 s, 1393.2 tps, lat 35.863 ms stddev 33.101 progress: 120.0 s, 1429.8 tps, lat 34.968 ms stddev 31.735 progress: 150.0 s, 1335.4 tps, lat 37.406 ms stddev 30.922 progress: 180.0 s, 1424.8 tps, lat 35.118 ms stddev 28.440 transaction type: scaling factor: 50 query mode: simple number of clients: 50 number of threads: 2 duration: 180 s number of transactions actually processed: 252710 latency average = 35.458 ms latency stddev = 29.391 ms initial connection time = 801.012 ms tps = 1409.393040 (without initial connection time)
  1. AlloyDB モニタリング ダッシュボードに戻り、期間を [1 時間] に設定します。下のタイルには、平均 CPU 使用率最小使用可能メモリ接続1 秒あたりのトランザクション数クラスタ ストレージ最大レプリケーション ラグアクティブ ノードの詳細が表示されます。

  2. 左側の [Query Insights] リンクをクリックして、pgbench オペレーションがインスタンスに対して発行したクエリの詳細を確認します。

  3. [上位のクエリとタグ] に、クエリの順序が表示されます。下の図では、クエリ UPDATE pgbench_branches SET ... が [負荷(合計実行時間別)] で上位のクエリになっています。実際の結果とは異なる場合があります。

TopQuery.png

  1. [負荷(合計実行時間別)] 列にはセレクタ オプションがあります。負荷(CPU 別)負荷(IO 待機別)負荷(ロック待機別)でクエリを表示することもできます。

  2. [上位のクエリとタグ] セクションの [クエリ] 列の値、またはダッシュボードの他の領域のリンクをクリックすると、クエリの詳細を確認できます。

お疲れさまでした

これで、AlloyDB for PostgreSQL データベースを最適な形で使用するために不可欠な管理タスクが完了しました。

マニュアルの最終更新日: 2024 年 8 月 28 日

ラボの最終テスト日: 2024 年 8 月 24 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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