単一の GCE VM に AlloyDB Omni をデプロイする

1. はじめに

この Codelab では、単一の Google Compute Engine(GCE)仮想マシンに AlloyDB Omni をデプロイする方法について説明します。この Codelab の最後には、Rocky Linux 9 を実行する単一の GCE VM をプロビジョニングし、公式の RPM パッケージを使用して AlloyDB Omni をインストールします。この仮想マシンには、必要な開発ツールがすべて用意されています。永続的なホーム ディレクトリが 20 GB 用意されており、Google Cloud で稼働します。そのため、ネットワークのパフォーマンスと認証機能が大幅に向上しています。

前提条件

  • Cloud Console から Google Cloud プロジェクトと Cloud Shell にアクセスする。
  • Google Cloud SDK(gcloud)のインストールと構成。gcloud のインストールの詳細については、gcloud-install をご覧ください。

学習内容

  • gcloud を使用して AlloyDB Omni 用の GCE VM を作成して準備する方法。
  • 単一の Linux ノードに AlloyDB Omni RPM をインストールする方法。
  • AlloyDB Omni をブートストラップして構成する方法。
  • ローカル データベースのインストールを確認する方法。

必要なもの

  • AlloyDB Omni RPM の URL リンクを取得します。リンクは、リポジトリ URL サーバーを含むメールで送信されます。次の環境変数を初期化して、Codelab で使用する URL を準備します。
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • Google Cloud にアクセスできるターミナル。この目的には Cloud Shell を使用できます。

2. 設定と要件

プロジェクトのセットアップ

Google Cloud プロジェクトの作成

  1. Google Cloud コンソールのプロジェクト セレクタ ページで、Google Cloud プロジェクトを選択または作成します。
  2. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

Cloud Shell の起動

Google Cloud はノートパソコンからリモートで操作できますが、この Codelab では、Google Cloud Shell(Cloud 上で動作するコマンドライン環境)を使用します。

Cloud Shell をアクティブにするアイコン

  1. Google Cloud コンソールを開き、右上のツールバーにある Cloud Shell アイコンをクリックします。次のいずれかの方法で Cloud Shell を開くこともできます。

通常、環境のプロビジョニングと接続には数分かかります。このオペレーションが完了すると、次のような内容が表示されます。

環境が接続されたことを示す Google Cloud Shell ターミナル{: width="624"}

3. Compute Engine VM を作成する

このセクションでは、gcloud コマンドライン ツールを使用して、単一の Compute Engine(GCE)仮想マシン(VM)を作成します。AlloyDB Omni RPM と完全に互換性のある Rocky Linux 9 イメージを使用します。

  1. プロジェクト ID、VM 名、ゾーン、リージョンの環境変数を定義します。
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Google Cloud アカウントのユーザーを使用してログインし、デフォルトのプロジェクトを構成します。
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. VM への SSH 接続を許可するファイアウォール ルールを作成します。
    gcloud compute firewall-rules create allow-ssh-alloydb-omni \
        --project=$PROJECT \
        --direction=INGRESS \
        --action=allow \
        --rules=tcp:22 \
        --source-ranges="0.0.0.0/0"
    
  4. VM はパブリック IP アドレスなしで作成されるため、VM が外部パッケージ リポジトリにアクセスして必要なソフトウェアをダウンロードできるように、Cloud Router と Cloud NAT ゲートウェイを構成します。
    gcloud compute routers create alloydb-omni-router \
        --project=$PROJECT \
        --network=default \
        --region=$REGION
    
    gcloud compute routers nats create alloydb-omni-nat \
        --project=$PROJECT \
        --router=alloydb-omni-router \
        --region=$REGION \
        --nat-all-subnet-ip-ranges \
        --auto-allocate-nat-external-ips
    
  5. VPC ネットワークに有効なデフォルトのインターネット ゲートウェイ ルートがあることを確認します。一部の共有環境またはプレイグラウンド環境では、クリーンアップ スクリプトによってデフォルト ルートが削除されることがあります。このルートは、Cloud NAT がアウトバウンド トラフィックをインターネットに転送するために必要です。
    gcloud compute routes create default-internet-route \
        --project=$PROJECT \
        --network=default \
        --destination-range=0.0.0.0/0 \
        --next-hop-gateway=default-internet-gateway
    
  6. 必要な仕様(16 個の vCPU、20 GB のバランス永続ディスク、Rocky Linux 9)で Compute Engine VM インスタンスを作成します。セキュリティを強化するため、--no-address フラグを使用して、VM にパブリック IP アドレスが割り当てられないようにします。
    gcloud compute instances create $INSTANCE_NAME \
        --project=$PROJECT \
        --zone=$ZONE \
        --machine-type=n2-highmem-16 \
        --image-family=rocky-linux-9 \
        --image-project=rocky-linux-cloud \
        --boot-disk-size=20GB \
        --boot-disk-type=pd-balanced \
        --no-address
    
  7. VM を作成したら、VM のステータスを確認します。
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. VM を準備する

このセクションでは、新しく作成した VM に接続し、オペレーティング システム環境を準備します。これには、データ ディレクトリの設定と SELinux の構成が含まれます。

  1. Identity-Aware Proxy(IAP)を使用して SSH 経由で VM に接続します。VM にパブリック IP アドレスがないため、gcloud は IAP を介して SSH 接続を自動的にトンネリングします。
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. データ ディレクトリと AlloyDB Omni リポジトリ URL の環境変数を VM で定義します。URL は、登録フォームから受け取った URL に置き換えます。
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. AlloyDB Omni がデータベース ファイルを保存するデータ ディレクトリを作成します。
    sudo mkdir -p $PGDATA
    
  4. SELinux ポリシーを構成して AlloyDB Omni データベース サービスが適切に実行されるように、policycoreutils-python-utils パッケージをインストールします。
    sudo dnf install -y policycoreutils-python-utils
    

5. AlloyDB Omni をインストールする

VM の準備ができたので、パッケージ リポジトリを構成して AlloyDB Omni RPM パッケージをインストールできます。

  1. リポジトリ構成ファイルを作成して、VM で YUM リポジトリを構成します。
    sudo tee /etc/yum.repos.d/alloydbomni.repo << EOF
    [alloydbomni]
    name=alloydbomni
    baseurl=$ALLOYDB_OMNI_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=https://dl.google.com/linux/linux_signing_key.pub
    EOF
    
  2. 新しいリポジトリが認識されるように、YUM キャッシュを更新します。
    sudo yum makecache
    
    注: AlloyDB Omni RPM プレビュー リリースでは、パッケージの完全性は個々の RPM レベルで検証されます。YUM リポジトリの構成を続行するには、repo_gpgcheck=0 を構成します。
  3. AlloyDB Omni RPM パッケージのバージョン 18 をインストールします。
    sudo dnf install -y alloydbomni18
    

6. AlloyDB Omni を設定する

RPM パッケージをインストールしたら、AlloyDB Omni データベース サービスを初期化、構成、起動する必要があります。

  1. PostgreSQL postgres 管理者ユーザーの安全なパスワードを定義します。
    export PGPASSWORD="YourStrongPassword123!"
    
  2. AlloyDB Omni データベース インスタンスを初期化します。
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. SELinux ファイル コンテキストを構成して、AlloyDB Omni サービスがカスタム データ ディレクトリ内のデータを読み書きできるようにしてから、正しいセキュリティ コンテキストを復元します。
    sudo setenforce 0
    
  4. AlloyDB Omni データベース インスタンスを準備します。
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (省略可)AlloyDB Omni サービスの実行を最適化するには、ホスト設定ユーティリティを実行して、推奨されるカーネルとメモリの設定を自動的に構成します。
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. AlloyDB Omni systemd サービスを有効にして開始します。
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. AlloyDB Omni サービスがアクティブで、正常に実行されていることを確認します。
    sudo systemctl status alloydbomni18
    
    Active: active (running) を示す出力があることを確認します。

7. AlloyDB Omni を確認する

シングルノードの AlloyDB Omni データベースが正しく機能していることを確認するには、パッケージとともにインストールされた標準の PostgreSQL クライアント(psql)を使用して接続します。

  1. postgres ユーザーとしてローカル データベース インスタンスに接続します。前に構成したパスワードの入力を求められます。
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. 接続が確立されたら、基本的な SQL クエリを実行してデータベース サーバーのバージョンを確認し、AlloyDB Omni が実行されていることを確認します。
    postgres=# SELECT version();
    
    出力結果は、AlloyDB Omni で実行されている PostgreSQL 18 を示しています。
  3. \q と入力して psql プロンプトを終了します。

8. クリーンアップとアンケート

Codelab が終了したら、Google Cloud リソースをクリーンアップして、不要な料金が発生しないようにします。

  1. VM の SSH セッションから切断して、ローカルの Cloud Shell ターミナルに戻ります。
    exit
    
  2. Compute Engine VM インスタンスを削除します。
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. SSH アクセス用に作成したファイアウォール ルールを削除します。
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Cloud NAT ゲートウェイと Cloud Router を削除します。
    gcloud compute routers nats delete alloydb-omni-nat --router=alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
    gcloud compute routers delete alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
    

9. 完了

これでこの Codelab は終了です。単一の Compute Engine 仮想マシンに AlloyDB Omni をデプロイして構成しました。

学習した内容

  • AlloyDB Omni 用に Compute Engine VM をプロビジョニングして準備する方法。
  • AlloyDB Omni パッケージ リポジトリを構成して RPM をインストールする方法。
  • systemd を使用して AlloyDB Omni データベース サービスを初期化、構成、管理する方法。
  • 標準の PostgreSQL ツールを使用してデータベースの機能を検証する方法。

詳細については、AlloyDB Omni の概要をご覧ください。

10. アンケート

このチュートリアルの利用方法をお選びください。

全体を通して読むだけ 内容を読んで演習をやり遂げる