ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
DBeaverを使用してPostgreSQLでOracle Cloud Infrastructure Databaseに接続します
イントロダクション
このチュートリアルでは、DBeaverなどのデータベース管理ツールを使用して、PostgreSQLを使用してOracle Cloud Infrastructure Databaseに接続する方法を説明します。
DBeaverは、データベース管理、開発およびデータ分析のための使いやすいインタフェースを提供することで、PostgreSQLデータベース管理者(DBA)の効率を大幅に向上させる、無料のオープンソース・データベース管理ツールです。他のツールも検討できます。
このチュートリアルでは、プライベート・サブネット内でPostgreSQLを使用してOCIデータベースをプロビジョニングする方法を示します。さらに、2番目と3番目のタスクでは、同じVirtual Cloud Network (VCN)の要塞ホストとして機能するコンピュート・インスタンスをプロビジョニングし、DBeaverなどのデータベース管理ツールを使用してPostgreSQLデータベースにアクセスできるようにします。
次のスキーマは、このアプローチを示しています。
目的
-
プライベート・サブネットにPostgreSQLデータベース・インスタンスを作成します。
-
Oracle Cloud Infrastructure (OCI)コンピュート・インスタンスを作成し、同じVCNを使用してパブリック・サブネットのPostgreSQLに接続します。プライベート・サブネット・セキュリティ・リストにポート
5432
を追加します。 -
DBeaverを使用して接続します。
前提条件
- データベースおよびコンピュート・インスタンスを作成する権限を持つOCIテナンシへのアクセス。
タスク1: プライベート・サブネットでのPostgreSQLデータベース・インスタンスの作成
複数の方法を使用して、OCIコンソール、CLI、APIなどのPostgreSQLデータベース・インスタンスを作成できます。詳細は、データベース・システムの作成を参照してください。
このタスクでは、OCIコンソールを使用して、管理対象PostgreSQLデータベース・システムを作成します。
-
OCIコンソールにログインし、「データベース」、PostgreSQLに移動して「DBシステム」をクリックします。
-
「PostgreSQLデータベース・システムの作成」をクリックします。
-
「PostgreSQLデータベース・システムの作成」ページで、「新規データベース・システムの作成」を選択し、「次へ」をクリックします。
-
「データベース・システム構成」セクションで、次の情報を入力します。
-
データベース・システム名:データベース・システムの名前を入力します。
-
説明(オプション):データベース・システムの説明を入力します。
-
PostgreSQLメジャー・バージョン: PostgreSQLデータベースのメジャー・バージョンを選択します。有効な値は14のみです。
-
-
「データベース・システム」セクションで、「ノード数」の値を入力します。1つのプライマリ・ノードが必要です。追加ノードは、読取りレプリカ・ノードとして予約されています。
-
データベースの「パフォーマンス層」を選択します。詳細は、パフォーマンス層を参照してください。
-
「データ配置」を選択します。
- リージョン別:データは、リージョン内の複数の可用性ドメインに永続的に格納されます。
- 可用性ドメイン固有:データは、選択した可用性ドメインに永続的に格納されます。
-
「ハードウェア構成」セクションに、次の情報を入力します。
-
OCPU数: 1ノード当たりのOCPUの数を選択します。
-
使用可能なシェイプ:データベース・ノードのシェイプを選択します。
-
-
「ネットワーク構成」セクションで、次の情報を入力します。
-
Virtual Cloud Network:データベースを作成するVCNを選択します。VCNを作成する必要がある場合は、「VCNの作成」をクリックします。詳細は、VCNおよびサブネットの管理を参照してください。
-
サブネット:選択したVCNのプライベート・サブネットを選択します。
-
プライベートIPアドレス:データベース・インスタンスのサブネット内のプライベートIPアドレス。値はオプションです。IPアドレスが指定されていない場合は、指定されたサブネット内の使用可能なIPアドレスからIPアドレスが選択されます。
-
-
「データベース・システム管理者資格証明」セクションで、データベースの資格証明を入力します。管理者はスーパーユーザー・アクセスを取得しません。PostgreSQL管理ユーザーを持つOCIデータベースでは、ユーザーおよびロールを作成できます。
-
ユーザー名:管理者のユーザー名を指定します。この値は、データベース・システムの作成後には変更できません。
-
パスワード・オプション:次のいずれかのオプションを選択します。
-
パスワードの入力:
-
パスワード:管理者パスワードを入力します。
-
パスワードの確認:管理者パスワードを確認します。
-
-
OCIボールトの使用:
-
Vault:管理者パスワードを含むボールトを選択します。
-
シークレット:管理者パスワードを含むシークレットを選択します。
-
シークレット・バージョン:シークレット・バージョンを選択します。
-
-
-
-
データベース・システムを構成したら、「次へ」をクリックします。
-
データベース・システム構成を確認し、「送信」をクリックします。
-
作成に成功したら、データベース・システムの一般情報ページにアクセスします。
タスク2: PostgreSQLに接続するためのOCIコンピュート・インスタンスの作成
PostgreSQLデータベースがプライベート・ネットワーク内にデプロイされています。パブリックIPアドレスを持つインスタンスを作成し、PostgreSQLへのアクセス権を付与します。この新しく作成されたインスタンスは、PostgreSQLデータベースのエントリ・ポイントとして機能します。
-
OCIコンソールに移動し、「コンピュート」および「インスタンス」に移動します。
-
OCI PostgreSQLデータベース・インスタンスをプロビジョニングしたのと同じVCNのパブリック・サブネットを選択します。
-
インスタンスにSSH接続し、次のコマンドを実行します。これにより、PostgreSQLバージョン14のクライアントがインストールされます。
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y postgresql14-server sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
rm -rf ~/.pgpass
-
OCI PostgreSQLの概要ページに移動し、CA証明書の「コピー」をクリックするか、証明書をダウンロードして、ターミナルで次のコマンドを実行します。
sudo nano ./dbsystem.pub
dbsystem.pub
ファイルに完全な証明書をコピーして貼り付けます。保存してファイルを閉じます。 -
次のコマンドを使用して、接続をテストします。
psql -h [DB Private IP] -U [user name] -d postgres
たとえば次のようにします。
psql -h 10.0.1.165 -U admin -d postgres
-
テストとして文を実行し、接続を確認します。
SELECT VERSION();
-
次の文を実行して、ユーザーとして接続します。
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
たとえば次のようにします。
psql "sslmode=verify-full sslrootcert=dbsystem.pub host= yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
-
次の文を実行して、接続が機能しているかどうかをテストします。
SELECT VERSION();
タスク3: DBeaverを使用した接続
このタスクでは、DBeaverをインストールし、PostgreSQLに接続します。
-
DBeaver CommunityからDBeaverをダウンロードしてインストールします。
-
PostgreSQLを使用してOCIデータベースに接続するための資格証明を追加します。
-
仮想マシン(VM)の IPアドレスと Port 22を入力します。DBeaverは、SSHを使用してパブリック・サブネットの同じVMインスタンスを使用し、PostgreSQLデータベースでOCIデータベースにアクセスします。
-
(オプション)次の文を実行して、DBeaverを使用して表を作成し、データをロードします。
DROP TABLE cars; CREATE TABLE cars ( brand VARCHAR(255), model VARCHAR(255), year INT ); INSERT INTO cars (brand, model, year) VALUES ('Toyota', 'Camry', 2023), ('Honda', 'Accord', 2022), ('Ford', 'Mustang', 2024), ('Chevrolet', 'Corvette', 2023), ('BMW', '3 Series', 2021), ('Mercedes-Benz', 'C-Class', 2022), ('Volkswagen', 'Golf', 2023), ('Audi', 'A4', 2024); COMMIT; SELECT * FROM cars;
作成されたテーブルの概要。
関連リンク
承認
- 著者 - Ismael Hassane (データ・プラットフォーム・シニア・ソリューション・アーキテクト)、Jevon Rowan (オープン・ソース・データ・サービス・スペシャリスト、プリンシパル・クラウド・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15176-01
September 2024