5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OCI】OCIが提供しているManagedのPostgreSQLを使ってみる

Posted at

はじめに

今までOracle Cloud Infrastructure(OCI)にはOracleDBやMySQLは
ありましたが、なぜか(?)PostgreSQLがありませんでした。
しかし、ついにリリースされたということで、PostgreSQLを軽く
触ってみたいと思います。

■参考
OCI Database with PostgreSQL
https://docs.oracle.com/en-us/iaas/Content/postgresql/home.htm

今回検証してみる環境はパブリックサブネットに作成した
Compute(Oracle Linux)からプライベートサブネットに立てた
PostgreSQLにアクセスするシンプルな構成となります。

■構成
image.png

■事前準備
・アカウント
Compute, PostgreSQLが使用できるOCIアカウントを準備

・ネットワークの設定
VCN、サブネット(パブリック、プライベート)、インターネットゲートウェイ、
セキュリティリスト等を作成しておき、インターネットからSSH(Port 22)で
アクセスできるように準備しておきます。
またパブックサブネットにあるComputeからプライベートサブネットのPostgreSQLに
アクセスできるようにプラベートサブネット側のセキュリティリストに
Port 5432を設定しておきます。

ネットワークの作成方法についてはこちらを参考にします。
https://oracle-japan.github.io/ocitutorials/beginners/creating-vcn/

・Computeの作成
PostgreSQLにアクセスするためのCompute VMを作成します。
外部からアクセスできるようにパブリックサブネットに配置します。

Computeの作成方法についてはこちらを参考にします。
https://oracle-japan.github.io/ocitutorials/beginners/creating-compute-instance/

◆目次
1.PostgreSQLの作成
2.PostgreSQLに接続するための環境を設定
3.PostgreSQLへのアクセステスト

1.PostgreSQLの作成

それでは早速、PostgreSQLの作成をしていきます。

左上メニュー[Ξ]からデータベース → PostgreSQLの下にあるDBシステムを選択します。
image.png

続いてPostgreSQLデータベースの作成を実行します。
image.png

新規データベースの作成を選択し、次へ進みます。
image.png

データベース名の入力とバージョンを選択し、下にスクロールします。
※バージョンは2024年1月29日時点で14しか選択できない状況です。
image.png

ノード数、Performance tier、シェイプを選択し、下にスクロールします。
ここでは以下のように選択しています。
ノード数: 1
Performance tier: 300 IOPS (※現時点では300 IOPSしか選択できません)
OCPU数: 4
シェイプ: PostgreSQL.VM.Standard.E4.Flex.4.64GB (OCPU 4/RAM 64GB)
image.png

予め作成しておいたVCNとプライベートサブネットを選択し、下にスクロールします。
image.png

ユーザ名を入力し、パスワードオプションはInput passwordを選択し、
パスワードを入力してから下にスクロールします。
※OCI Vaultを選択すれば、パスワードはそちらで管理できますが、
今回はパスワード入力の方を使います。
image.png

バックアップ、メンテナンスは今回は設定しないので
何もせずそのまま次へボタンを押します。
image.png

最後に設定内容を確認したら送信ボタンを押します。
image.png

PostgreSQLを作成してしばらく経つと以下のように
ACTIVEステータスとなりますので、名前のリンクをクリックします。
image.png

この詳細ページに表示されているEndpoint、FQDNは後続の接続で
使用しますので、書き留めておきます。
image.png

以上でPostgreSQLの作成は終了です。

2.PostgreSQLに接続するための環境を設定

パブリックサブネット上に作成されているCompute内にPostgreSQLの
実行環境を作ります。
※今回はOCIとバージョンを合わせてPostgreSQL 14を使用します。

Oracle Linuxにsshでログインしたらrootで以下の作業を行います。

PostgreSQLのダウンロード

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

OS標準のモジュールを無効化

sudo dnf -qy module disable postgresql

PostgreSQLのインストール

sudo dnf install -y postgresql14-server

※今回はOCIのPostgreSQLに接続するだけなので
上記の作業だけとなります。

以上でPostgreSQLに接続するための環境を設定は終了です。

3.PostgreSQLへのアクセステスト

OCIに立てたPostgreSQLにアクセスしてみます。

Oracle Linuxからそのままpsqlで接続します。
psql -h [Endpoint or FQDN] -U postgres

※今回はEndpointで接続します。

psql -h 10.0.1.97 -U postgres

パスワードを入力して、接続が上手くいくと次のようになります。

[opc@postgre ~]$ psql -h 10.0.1.97 -U postgres
Password for user postgres: 
psql (14.10, server 14.9)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=>

あとはデータベースを作成して、

create database testdb;

データベースを切替え、

\c testdb;

テーブルを作成し、

create table tbl(id int, name varchar(50));

データを登録します。

insert into tbl values(1, 'test01');

最後にSELECTしてみるとデータが表示されます。

testdb=> select * from tbl;
 id |  name  
----+--------
  1 | test01
(1 row)

以上でPostgreSQLへのアクセステストは終了です。

おわり

以上、OCIに立てたManagedのPostgreSQLを簡単に使うことができました。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?