最初にプロビジョニングされると、Oracle Content ManagementのすべてのインスタンスはOracle Cloud Infrastructure上にデプロイされます。このアーキテクチャは、単一の地域内の複数の可用性ドメインにわたる高可用性トポロジです。ここでは、これらの可用性ドメイン全体で柔軟にスケーリングできるKubernetesクラスタとともにOracle Container Engine for Kubernetes (OKE)が使用されます。
デフォルトのデプロイメントでは、OKEによって可用性ドメインに複数のクラスタ(またはノード)が自動的に作成されます。すべてのサイトおよびアセットは可用性ドメインごとに同期されます。1つの可用性ドメインが停止すると、OKEによって受信トラフィックが使用可能な可用性ドメインに自動的に転送されます。このように、エンド・ユーザーはサービスの停止を通知しませんが、障害が発生した可用性ドメインが復元されます。
「アップグレード・スケジュール」オプションを使用して、インスタンスがOracle Content Managementの新規リリースを受信するタイミングを制御することをお薦めします。ほとんどの場合、本番トラフィックを処理するインスタンスと、障害発生時にトラフィックを処理するインスタンスでは、遅延アップグレード・オプションを使用する必要があります。開発やテストを目的とするインスタンスでは、ただちにアップグレード・オプションを使用します。この組合せで設定することにより、コードの堅牢性を保証する完全なリリース・サイクルが実現され、問題があった場合には、それが本番トラフィックに影響を与える前に対応する時間を得られます。アップグレード・スケジュール・オプションは、Oracle Content Managementインスタンスを作成する際に設定します。
高可用性の拡張
高可用性サービスは長時間の稼働時間および高度なアクセシビリティを提供するように設計されていますが、さらに様々なアーキテクチャの提供を必要とする顧客が多数います。これらの追加アーキテクチャは、Oracle Cloud InfrastructureおよびOKEによって提供済のすぐに使用可能な高可用性を有効に利用しており、開発プロセス、複数リージョンのフェイルオーバーもサポートするように構築したり、プライベートの高パフォーマンス接続で拡張することもできます。ニーズに適したアーキテクチャを見つけるには、組織の開発プロセスのニーズ、受入れ可能なリカバリ時間目標(RTO)およびリカバリ・ポイント目標(RPO)を判定する必要があります。
Oracle Cloud Infrastructure FastConnectを使用したプライベート・インスタンス
パブリック・インターネット上では実現できないパフォーマンスやセキュリティの強化を必要とするお客様もいます。Oracle Cloud Infrastructure FastConnectを使用すると、Oracle Content Managementインスタンスへの、よりパフォーマンスの高い、堅牢で安全な接続を提供できます。このタイプの接続をよく使用するのは、アクセスを確実に内部ネットワークに制限する必要があるお客様や、エンド・ユーザーに可能なかぎり最善で最も信頼性の高い接続を用意する必要があるお客様です。
そのようなインスタンスを作成する必要がある場合は、Oracle Cloud Infrastructure FastConnectを設定し、いくつかの前提条件のステップを追加で実行する必要があります。FastConnectは、インターネットベースの接続と比較して、より高帯域で信頼性が高く、かつ一貫性のあるネットワーキング体験を提供する専用プライベート接続です。
Oracle Cloud Infrastructure FastConnectを使用したプライベート・インスタンスの作成を参照してください。
開発プロセス
これは、組織がOracle Content Managementの新機能およびコンテンツの構築およびデプロイに使用するプロセスです。これには、高度な環境および本番用に承認する前に新機能およびコンテンツが稼働する必要がある複数の環境が含まれます。共通の設定には、開発、テスト、ステージングおよび本番用の環境が含まれます。組織のニーズは変化することがあります。
複数のインスタンスを利用して開発プロセスをサポートする顧客は、このドキュメントの説明に従って追加のインスタンスをプロビジョニングする必要がありますが、直接アクセスできるように前面にWebアプリケーション・ファイアウォール(WAF)をプロビジョニングする必要はありません。インスタンスのいずれかにコンテンツを開発した後で、OCEツールキットのコマンドライン・インタフェース(CLI)を使用して、Oracle Content Managementのあるインスタンスから別のインスタンスへそのコンテンツを伝播できます。
注:
本番トラフィックを処理しないインスタンスを追加で作成する場合は、そのインスタンスを非プライマリとマークして、複製したアセットの支払いが生じないようにする必要があります。プライマリ・インスタンスは、インスタンス内のアセットの総数に対して課金されます。プライマリ以外のインスタンスは、レプリケートされるアセットの総数に関係なく、月当たりのアセットの単一ブロックに対して課金されます(たとえば、5,000アセット。また、Video Plusがある場合は250個のVideo Plusアセット)。詳細は、Oracle PaaSおよびIaaSユニバーサル・クレジット・サービスの説明を参照してください。変更の伝播には、OCEツールキット・コマンドを使用でき、サイトの作成や、開発、テストおよび本番の各インスタンスにおけるサイトのライフ・サイクル管理が可能です。開発環境でサイトに変更を行い、これらの変更をテストおよび本番環境に伝播します。この一連のコマンドライン・ユーティリティをスクリプト環境に組み入れてデプロイメントを管理することもできます。CLIユーティリティを使用すると、アセットやコンポーネントなどの新規アイテムや既存のコンテンツの更新をロールアウトできます。
テストから本番(T2P)デプロイメントの設定を参照してください。
組織でバックアップ・リージョンを使用して、障害発生時にパブリック・サイト・コンテンツの配信を継続する場合は、Webアプリケーション・ファイアウォール(WAF)を構成し、コンテンツをバックアップにレプリケートします。
バックアップはプライマリ・インスタンスとして同じ地域または別のリージョンに存在できます。別のリージョンにバックアップを作成すると、データや可用性の損失に対する保護が強化されます。
注:
現在、Oracle Content Managementは、WAFを介したパブリック・サイトのみをサポートしています。サイトに認証が必要な場合は、オリジン・ドメインから直接アクセスする必要があります。アーキテクチャの概要の例を次に示します:
バックアップを作成すると、特にサイトやアセットが多数ある場合、時間がかかることがあるため、業務時間外にバックアップを実行することをお薦めします。インスタンス内でのコンテンツの変更の量によっては、バックアップを毎日行うか週に1回の頻度にするかを決定する必要があります。
バックアップ・リージョンを実装する際は、Oracle Cloud Infrastructure Web Application Firewallサービスを使用して、トラフィックをプライマリ(アクティブ)インスタンスに転送し、障害が発生した場合には、バックアップ(スタンバイ)インスタンスを指すように切り替えます。
注:
バックアップ・インスタンスを作成すると、重複したアセットに支払うことがないように、インスタンスを非プライマリとしてマークします。プライマリと非プライマリのインスタンスは、別のレートで請求されます。プライマリ・インスタンスの作成後、次のステップを実行してバックアップ・リージョンを実装します:
このインスタンスはプライマリ・リージョンで障害が発生した場合にのみ本番トラフィックを処理しますが、これをプロビジョニングする際は、このインスタンスのすべてのアセットが二重に請求されないよう、必ず非プライマリとマークしてください。また、これは本番インスタンスになるため、これは遅延アップグレードに設定されている必要があります。ただし、プライマリとバックアップのリージョン間でトラフィックを切り替える際に問題が発生しないよう、アップグレード・スケジュールが、プライマリ・リージョンと同じである必要があります。
プライマリ・インスタンスと異なるリージョンにバックアップを配置する場合、セカンダリ・リージョンにこれを作成します。
注:
バックアップ・インスタンスは、障害発生時のパブリック・サイト配信のテストまたは継続のみを目的としており、認証を必要とするサイトへの継続的なコントリビューションやアクセスを目的としていません。Webアプリケーション・ファイアウォール(WAF)を構成および有効化してバックアップ・リージョンを実装するには、いくつかのステップがあります:
プライマリからセカンダリ・インスタンスへの切替えが必要な場合、これを行うには、WAFポリシーを更新します。
WAFポリシーを構成するには、次のステップを実行します。
cross_site_WAF
など)を指定します。機密情報を入力しないでください。oce.example.com
など)を入力します。これは、ユーザーがアプリケーションへのアクセスに使用するURLで、プライマリまたはセカンダリOracle Content Managementインスタンスのいずれかを指します。primary_salesdocuments1
など)を指定します。salesdocuments1-myaccount.cec.ocp.oraclecloud.com
など)を入力します。SSL証明書およびキーをアップロードするには、次のステップを実行します:
セカンダリ・オリジンを作成するには、次のステップを実行します。
secondary_salesdocuments1
など)を指定します。salesdocuments2-myaccount.cec.ocp.oraclecloud.com
など)を入力します。行った変更を公開するには、次のステップを実行します。
更新の完了にしばらく時間がかかる場合があります。
ゾーンのCNAMEでDNS構成を更新してインターネット・クライアントからWAFにリクエストをルーティングします。作成したWAFポリシーを開いて、CNAMEを見つけることができます。CNAME値は、ハイフンで連結されたOCIドメイン内のプライマリ・ドメインのバージョン(oce-example-com.o.waas.oci.oraclecloud.net
など)です。
サブドメインcec.ocp.oraclecloud.com
を使用している場合、Oracle SupportにDNSの更新を依頼するサポート・リクエストを記録する必要があります。
インスタンスでWAFを構成するには、次のステップを実行します。
インスタンスのコンパートメント名が表示されます。WAFポリシーが別のコンパートメントにある場合、コンパートメントの変更をクリックして、適切なコンパートメントを選択します。
更新がインスタンスに行われると、「アクティビティ」リストに進行状況が表示されます。更新の完了後、インスタンスの詳細を確認すると、WAFプライマリ・ドメインがリストされます。
テスト目的またはバックアップ目的でプライマリ・インスタンスからセカンダリ・インスタンスに(またはその逆)WAFオリジンを変更する必要がある場合、WAFポリシーを更新して、これを実行します。
Oracle Content Management
WAFオリジンを切り替えるには、次のステップを実行します。
更新の完了にしばらく時間がかかる場合があります。完了すると、選択したオリジンにアプリケーションへのトラフィックが転送されます。
WAFを介したリダイレクトは、障害発生時のパブリック・サイト配信のテストまたは継続のみを目的としていることに留意してください。ユーザーは、認証済サイトまたはOracle Content Managementユーザー・インタフェースに直接アクセスする必要があります。
これは、可用性の高い環境の効率的な運用や、アプリケーションがテストからステージング、本番へと移行する際のシームレスな管理に必要なチェックやバランスの提供に欠かせないモデルです。
このデプロイメントでは、専用のインスタンスを作成して、開発、テストおよび本番の分離を維持ます。
開発インスタンスとテスト・インスタンスを非プライマリに設定すると、これらのインスタンスのすべてのアセットに対して二重に請求されなくなります。
開発インスタンスとテスト・インスタンスを即時アップグレード(Oracle Content Managementの新規リリースが使用可能になるとすぐ)に設定すると、これらのインスタンスでアップグレードをテストし、アップグレードがデプロイしたサイトに影響を及ぼさないことを確認できます。問題がある場合、遅延アップグレードを本番インスタンスに1リリース後に適用する前に、Oracleサポートに連絡して問題を解決できます。
OCEツールキットの詳細は、Building Sites with Oracle Content ManagementのOCEツールキットによるテストから本番への変更の伝播に関する項を参照してください。
テストから本番(T2P)デプロイメントを作成するには、VMコンピュート・インスタンスにOCEツールキットをインストールし、そのツールキットでIDCS認証を使用する必要があります。
VMコンピュート・インスタンスで次のステップを実行します:
sudo -s cd /usr/local wget https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz tar xf node-v12.16.2-linux-x64.tar.xz exit
vi ~/.bash_profile --- add :/usr/local/node-v12.16.2-linux-x64/bin to the PATH -- e.g: PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/node-v12.16.2-linux-x64/bin source ~/.bash_profile
[opc@ocivm2pm ~]$ npm --version 6.14.4 [opc@ocivm2pm ~]$ node --version v12.16.2
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
wget https://github.com/oracle/content-and-experience-toolkit/archive/master.zip unzip master.zip rm master.zip cd content-and-experience-toolkit-master/sites/ npm install
[opc@ocivm2pm sites]$ ./node_modules/.bin/cec --version 20.4.1
sudo -s ln -s /home/opc/content-and-experience-toolkit-master/sites/node_modules/.bin/cec /usr/local/bin/cec exit
cd [opc@ocivm2pm ~]$ cec --version 20.4.1
cd mkdir cec cd cec cec install
次のコマンドを使用して、ソース・インスタンスおよびターゲット・インスタンスの接続の詳細を登録します。たとえば、テストから本番デプロイメントのコンテンツを同期する場合に、開発(DEV)とステージング(TEST)、本番(PROD)の各インスタンスがあるとします。
cec register-server DEV -e http://server:port -u username -p password cec register-server TEST -e http://server:port -u username -p password cec register-server PROD -e http://server:port -u username -p password
DEV
、TEST
、PROD
など)は、インスタンスのエンドポイントの識別に使用するサーバー名です。これは、ユーザーが選択した任意の名前にできます。注:
--keyfile
を渡すと、ファイルに保存されているパスワードを暗号化できます。次のコマンドを使用して、エンタープライズ・サイトを転送します:
cec transfer-site SiteName -s DEV -d TEST -r RepositoryName -l LocalizationPolicyName
SiteName
)は、転送するサイトの名前です。ターゲット・インスタンスのサイトを更新する場合は、リポジトリとローカリゼーション・ポリシーを含める必要はありません。
詳細は、Building Sites with Oracle Content ManagementのOCEツールキットによるテストから本番への変更の伝播を参照してください。