ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Infrastructure ComputeインスタンスへのPostgreSQLクラスタのデプロイ
イントロダクション
PostgreSQLは、オープン・ソースのオブジェクト・リレーショナル・データベース管理システムです。拡張性が高く、拡張性が高く、多くの機能があります。PostgreSQLは、複数のデータ・センターにわたるデータ・レプリケーションをサポートします。
このチュートリアルでは、Oracle Cloud Infrastructure (OCI)コンピュート・インスタンスでのPostgreSQLクラスタの一般的な3ノード・デプロイメントを示します。このチュートリアルでは、サーバーはマスター構成とスタンバイ構成で構成され、ストリーミング・レプリケーションを使用します。
自動化の手順は、terraform-oci-arch-postgresqlを参照してください。
ノート:
postgis34
およびpgvector
が自動的にインストールされます。
アーキテクチャの図
目的
-
3ノードのPostgreSQLクラスタをデプロイします。
-
要件に合わせてコードを変更します。
前提条件
-
OCIテナンシ内の次のリソースを管理する権限: Virtual Cloud Networks (VCNs)、インターネット・ゲートウェイ、ルート表、セキュリティ・リスト、サブネットおよびインスタンス。
-
次のリソースを作成します。
- 1 VCN,
- 1 Subnet,
- 1インターネット・ゲートウェイ、
- 1つのルール
- 3つのコンピュート・インスタンス(1つのプライマリ・マスターPostgreSQLインスタンスと2つのスタンバイ・インスタンスPostgreSQL)。
タスク1: OCI Resource Managerを使用したTerraformコードのデプロイ
デプロイメントは、terraformコマンドライン・インタフェース(CLI)またはOCI Resource Managerを使用して、2つの方法で実行できます。このチュートリアルでは、OCI Resource Managerを使用します。
terraform CLIについては、リポジトリのドキュメント(terraform-oci-arch-postgresql)を参照してください。
-
次のイメージをクリックして、リソースをデプロイするOCI Resource Managerプロセスを開始します。
-
まだサインインしていない場合は、テナンシおよびユーザー資格証明を入力し、条件を確認して同意し、スタックを配置するリージョン、コンパートメントを選択し、「次へ」をクリックして、次のステップの変数の構成に進みます。
-
「変数の構成」で、次の情報を入力して変数を構成します。
- コンパートメント:リソースをデプロイするコンパートメントを選択します。
- マスターの可用性ドメインPostgreSQL:マスター・コンピュート・インスタンスの可用性ドメインを選択します。
- PostgreSQLバージョン:バージョン9.6、10、11、12または13を選択できます。
- PostgreSQLパスワード: PostgreSQLにアクセスするためのパスワードを設定します。
- 最初のPostgreSQL HotStandbyのデプロイ:最初のスタンバイをデプロイする場合に選択します。
- 2番目のPostgreSQL HotStandbyのデプロイ: 2番目のスタンバイをデプロイする場合に選択します。
- プライベート・サブネットに作成:インスタンスをプライベート・サブネットに作成する場合に選択します。
ノート:
- 1番目と2番目のPostgreSQL HotStandbyをデプロイすると、1つ、2つまたは3つのノードをデプロイできます。
- プライベート・サブネットに作成することを選択した場合、アクセスを許可するためにOCI要塞サービスが作成されます。
-
「拡張オプションの表示」をクリックして、構成可能なその他の変数情報を入力します。
- ネットワーク・オプション構成:これにより、VCNおよびサブネットCIDRを指定し、Dynamic Routing Gateway (DRG)を作成するかどうかを指定できます。
- コンピュート、ストレージおよびバックアップのオプション構成:これにより、公開SSHキーを追加してPostgreSQLインスタンスにアクセスし、バックアップを構成できます。
- PostgreSQLマスター・オプション構成:フレックス・シェイプのPostgreSQLマスター・インスタンス・フォルト・ドメイン、シェイプ、CPUおよびメモリーを指定します。
- PostgreSQL HotStandby1オプションの構成:フレックス・シェイプのPostgreSQL最初のスタンバイ・インスタンスの可用性ドメイン、フォルト・ドメイン、シェイプ、CPUおよびメモリーを指定します。
- PostgreSQL HotStandby2オプションの構成:フレックス・シェイプのPostgreSQL 2番目のスタンバイ・インスタンスの可用性ドメイン、フォルト・ドメイン、シェイプ、CPUおよびメモリーを指定します。
-
「次へ」をクリックして、情報を確認します。
ノート:
- 最初にプランを実行する場合は、「適用の実行」の選択を解除します。
- 「適用の実行」を選択すると、terraform applyコマンドがトリガーされ、リソースのプロビジョニングが自動的に開始されます。
-
「作成」をクリックします。
タスク2: デプロイメントの破棄
リソースを破棄するには、「スタックの詳細」ページに移動し、「破棄」をクリックします。
PostgreSQLのインストールおよび構成方法の理解
この情報は、PostgreSQLの動作を変更する必要がある場合に役立ちます。
それはあなたが理解するのに役立ちます:
-
インストールおよび構成が正確に行われる場所。
-
スクリプトが実行されている順序。
-
各スクリプトの機能の概要。
ノート:自動化のカスタマイズ方法については説明しません。変更によっては、複数のterraformファイルで変更が必要になる場合があります。
-
このチュートリアルで使用する重要なファイルは次のとおりです。
remote.tf
:スクリプトが各PostgreSQLインスタンスにデプロイされるTerraformファイル。scripts/postgresql_install_binaries.sh
: PostgreSQLサーバー、一部の拡張機能をインストールし、ファイアウォールを構成します。scripts/postgresql_master_initdb.sh
:データベースを初期化します。scripts/postgresql_master_setup.sh
: PostgreSQL standby1のレプリカを構成します。scripts/postgresql_master_setup2.sh
: PostgreSQL standby2のレプリカを構成します。scripts/postgresql_standby_setup.sh
:ファイアウォール、最大接続、replica.conf
の編集などのレプリカの追加構成。
-
スクリプトは次の順序で実行されます。
scripts/postgresql_install_binaries.sh
: PostgreSQLマスター・インスタンスで実行されます。scripts/postgresql_master_initdb.sh
PostgreSQLマスター・インスタンスで実行されます。scripts/postgresql_install_binaries.sh
PostgreSQL standby1インスタンスで実行されます。scripts/postgresql_install_binaries.sh
PostgreSQL standby2インスタンスで実行されます。scripts/postgresql_master_setup.sh
PostgreSQLマスター・インスタンスで実行されます。scripts/postgresql_master_setup2.sh
PostgreSQLマスター・インスタンスで実行されます。scripts/postgresql_standby_setup.sh
PostgreSQL standby1インスタンスで実行されます。scripts/postgresql_standby_setup.sh
PostgreSQL standby2インスタンスで実行されます。
承認
- 著者 - Gabriel Feodorov (シニア・クラウド・エンジニア)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Deploy a PostgreSQL Cluster on Oracle Cloud Infrastructure Compute Instances
G25661-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.