はじめに
公式ドキュメントの内容も確認してください。
この記事の執筆時期(2022年8月)と公式ドキュメントの更新時期のタイムラグにより、推奨される方法が異なる場合があります。
その場合は、公式ドキュメントが推奨する方法に準拠してください。
1. 構成
Essbaseはプライベート・サブネットのコンピュートで動作させます。
リポジトリ情報は、自動的にデプロイされるAutonomous Transaction Processing(ATP)インスタンスに格納することとし、一般ユーザはインターネットからロード・バランサーを経由してEssbaseにアクセスします。

2. 使用するユーザ
| ユーザ | 目的 |
|---|---|
| アイデンティティ・ドメイン管理者 | コンパートメント、ポリシー等の管理 |
| Essbaseインスタンス管理者 | マーケットプレイスでのEssbaseスタックのデプロイ |
3. アイデンティティ・ドメイン管理者としての作業
OCI管理コンソールにアイデンティティ・ドメイン管理者としてログインし
- コンパートメントの準備
- ネットワークの準備
- ユーザ・グループの準備
- ポリシーの作成
- 機密アプリケーションの作成
を実施します。
3.2 コンパートメントの作成
「アイデンティティとセキュリティ」から「コンパートメント」を選択します。

「コンパートメントの作成」をクリックします。

コンパートメントの名前を入力して「コンパートメントの作成」をクリックします。ここでは「Essbase」という名前にしました。

コンパートメントが作成できたら、OCIDをメモしておきます。

3.3 仮想クラウドネットワークの作成
「ネットワーキング」から「仮想クラウド・ネットワーク」を選択します。

先程作成した「Essbase」コンパートメントで「VCNウィザードの起動」をクリックします。

「インターネット接続性を持つVCNの作成」を選択し、「VCNウィザードを起動」します。

名前を入力し、それ以外はデフォルトでVCNを作成しました。

VCNの作成が終了したら、詳細画面から作成したPublic Subnetをクリックします。

セキュリティリストをクリックします。

インターネットからの443ポートでのアクセスを許可します。

同様に、Private Subnetのセキュリティリストも更新します。

Public Subnetとの間ですべての通信を許可しました。

3.4 グループの作成
ドメインを表示します。

デフォルトのドメインをクリックします。

ドメインURLの「idcs-xxxx」の部分をメモします(GUIDとして後で使用します)。

「グループ」に移動して、「グループの作成」をクリックします。

Essbaseインスタンス管理者にしたいユーザを選択し、グループに含めます。
今回は、グループ名を「EssbaseAdmins」としました。

「Defaultドメイン」をクリックします。

3.5 動的グループの作成
「動的グループ」セクションに移動し「動的グループの作成」をクリックします。

名前を入力し(今回は「EssbaseDynGrp」にしました)、「ルール・ビルダー」をクリックします。

一致するインスタンスを含めるを「次のすべて」にします。
次と一致するインスタンスは「コンパートメントOCID」にし、値にメモしておいたEssbaseコンパートメントのOCIDを貼り付けます。

「ルールの追加」をクリックします。
「作成」ボタンをクリックして、動的グループを作成します。

動的グループが作成できたら、「アイデンティティ」をクリックして移動します。

3.6 ポリシーの作成
「ポリシー」セクションに移動し「ポリシーの作成」をクリックします。

名前を付けてポリシーを作成します。

「手動エディタの表示」をオンにして、次の内容を貼り付け「作成」をクリックします。
allow group EssbaseAdmins to read compartments in tenancy
allow group EssbaseAdmins to manage orm-stacks in compartment Essbase
allow group EssbaseAdmins to manage orm-jobs in compartment Essbase
allow group EssbaseAdmins to manage virtual-network-family in compartment Essbase
allow group EssbaseAdmins to manage instances in compartment Essbase
allow group EssbaseAdmins to manage volume-family in compartment Essbase
allow group EssbaseAdmins to manage load-balancers in compartment Essbase
allow group EssbaseAdmins to manage buckets in compartment Essbase
allow group EssbaseAdmins to manage objects in compartment Essbase
allow group EssbaseAdmins to manage autonomous-database-family in compartment Essbase
allow group EssbaseAdmins to use instance-family in compartment Essbase
allow group EssbaseAdmins to manage autonomous-backups in compartment Essbase
allow group EssbaseAdmins to manage vaults in compartment Essbase
allow group EssbaseAdmins to manage keys in compartment Essbase
allow group EssbaseAdmins to manage secret-family in compartment Essbase
allow group EssbaseAdmins to manage app-catalog-listing in compartment Essbase
「ポリシー」をクリックし、もう一つのポリシーを作成します。

動的グループに対するポリシーを作成します。

「手動エディタの表示」をオンにして、次の内容を貼り付け「作成」をクリックします。
allow dynamic-group EssbaseDynGrp1 to use autonomous-database in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to use secret-family in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to read buckets in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to manage objects in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to inspect volume-groups in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to manage volumes in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to manage volume-group-backups in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to manage volume-backups in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to manage autonomous-backups in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to manage database-family in compartment Essbase
allow dynamic-group EssbaseDynGrp1 to use keys in compartment Essbase
3.7 機密アプリケーションの作成
「Default」ドメインをクリックします。

「設定」をクリックします。

「ドメイン設定」で「クライアント・アクセスの構成」をオンにして、「変更の保存」をクリックします。

「Defaultドメイン」にクリックして移動します。

「アプリケーション」セクションに移動し「アプリケーションの追加」をクリックします。

「機密アプリケーション」を選択し「ワークフローの起動」をクリックします。

名前を入力し、「次」をクリックします。

「クライアント構成」の「このアプリケーションをクライアントとして今すぐ構成します」をオンにします。
「クライアント資格証明」「認可コード」「HTTPSのURLを許可」もオンにします。
「リダイレクトURL」には「https://temp/essbase/redirect_uri」と入力、「ログアウト後のリダイレクトURL」には「https://temp/essbase/jet/logout.html」と入力します。
これらのURLは後で変更します。

下までスクロールして、「アプリケーション・ロールの追加」をオンにし、「ロールの追加」をクリックします。

「Identity Domain Administrator」を選択し、「追加」をクリックします。

「次」をクリックします。

「終了」をクリックします。

「クライアントID」と「クライアント・シークレット」をメモしておきます。

「アクティブ化」ボタンをクリックします。

確認を求められるので「アプリケーションのアクティブ化」ボタンをクリックします。

4. Essbaseインスタンス管理者としての作業
ここから先は、Essbaseインスタンス管理者として作業します。
OCIコンソールから一度ログアウトして、Essbaseインスタンス管理者として再度ログインします。
4.1 ボールトによる暗号化
「アイデンティティとセキュリティ」から「ボールト」をクリックします。

Essbaseコンパートメントにボールトを作成します。
「ボールトの作成」をクリックします。

名前を入力し、「ボールトの作成」をクリックします。

作成したボールトがアクティブになったら、クリックします。

「マスター暗号化キー」セクションに移動し「キーの作成」をクリックします。

名前をつけて、「キーの作成」をクリックします。今回は名前以外は全部デフォルトにしました。

マスター暗号化キーが作成されたら、「シークレット」セクションに移動して「シークレットの作成」をクリックします。

まず作成するのは、Essbaseの管理情報を格納するATPインスタンスを作成する際に使用されるDB管理者のパスワードのシークレットです。
名前と説明を入力し、先程作成した暗号化キーを指定します。
シークレット・コンテンツにDB管理者のパスワードを入力します。
DBのパスワードポリシーと合致しているかどうかに注意してください。

シークレットが作成されたら、OCIDをメモしておきます。

2つ目のシークレットは、Essbase管理者の初期パスワードです。
同様の手順で作成します。

作成できたら、OCIDをメモしておきます。

最後に、機密アプリケーションのクライアント・シークレットのシークレットを作成します。
先程メモしておいた、機密アプリケーションのクライアント・シークレットをシークレット・コンテンツに貼り付けます。

これも、作成完了を待ってOCIDをメモします。

4.2 Essbaseのデプロイ
4.2.1 マーケットプレイスからのデプロイ
「マーケットプレイス」から「すべてのアプリケーション」をクリックします。

検索バーに「essbase」と入力して検索します。
今回は、UCM(ユニバーサル・クレジット版)のEssaseを選択します。

執筆時点で選択可能な最も新しいバージョンを選びました。
コンパートメントに間違いがないかを確認して「スタックの起動」ボタンをクリックします。

スタックの名前を入力して「次」をクリックします。

General Settingsを次のようにしました。

下にスクロールします。
Available Domainの指定、コンピュート・インスタンスのシェイプの指定、コンピュート・インスタンスにSSH接続する際のキーの指定をおこないます。

下にスクロールします。
Essbaseの管理者ユーザ名を入力します。
Essbase管理者のパスワードは、事前に作成しておいたシークレットのOCIDを入力します。

下にスクロールします。
Identity Configurationを設定します。
Identity Providerは「idcs」を選択します。
IDCS Instance GUIDは、メモしておいたDefaultドメインのGUIDを貼り付けます。
IDCS Application Client IDは、作成した機密アプリケーションのクライアントIDです。
IDCS Application Client Secretは、機密アプリケーションのクライアント・シークレットからボールトで作成したシークレットのOCIDです。
IDCS Essbase Admin UserはIDドメインに登録済みのユーザを入力します。

下にスクロールします。
Network Configurationでは、「Use Existing Network」をオンにして作成済みのネットワーク設定を使用します。
EssbaseインスタンスをPrivate Subnetに配置したいので、Private Subnetを指定します。

下にスクロールします。
管理情報を格納するDBは、既存のものではなく自動的に作成されるATPインスタンスを使いたいと思います。
Dtabase Admin User Passwordには、事前に作成したシークレットのOCIDを貼り付けます。

下にスクロールします。
ロード・バランサーをPublic Subnetに配置したいと思います。

「次」をクリックします。

内容を確認して「作成」をクリックします。

ジョブが開始されます。

ジョブが成功したら、ログを確認します。
essbase_post_logout_redirect_urlとessbase_redirect_urlの値をメモしておきます。

ジョブ・リソースや出力で、ジョブの結果を確認できます。


Essbaseドメインの作成と、プロセスの起動が完了するまで20~30分程度かかります。
/var/log/essbase-init.logを確認してください。
4.2.2 機密アプリケーションの更新
OCI管理コンソールから、一旦ログアウトします。
アイデンティティ・ドメイン管理者としてログインし、Defaultドメインに作成したEssbase用の機密アプリケーションを開きます。

「OAuth構成の編集」ボタンをクリックします。

「リダイレクトURL」と「ログアウト後のリダイレクトURL」の値をログからメモした値に更新し、「変更の保存」をクリックします。

OCI管理コンソールからログアウトします。
4.3 接続確認
あらためて、Essbaseインスタンス管理者としてOCI管理コンソールにログインします。
「開発者サービス」から「スタック」をクリックします。

作成したスタックをクリックします。

「アプリケーション情報」タブに移動し「Essbase External URL」ボタンをクリックします。

初回のみ確認が表示されますので「許可」をクリックします。

ログインできることが確認できました。

4.4 プロセスの起動と停止
この手順書通りにデプロイされた場合、Essbaseコンパートメントに「Essbase-node-1」というコンピュート・インスタンスが存在しているはずです。
このインスタンスにSSHクライアントでログインします。
/u01/config/domains/essbase_domain/esstools/bin
に用意されているスクリプトを使用して、プロセスの起動・停止・ステータス確認がおこなえます。
[opc@essbase6c461cc1-1 ~]$ sudo su - oracle
[oracle@essbase6c461cc1-1 ~]$ cd /u01/config/domains/essbase_domain/esstools/bin
| スクリプト | 目的 |
|---|---|
| status.sh | プロセスの状態を表示 |
| start.sh | Essbaseプロセスの開始 |
| stop.sh | Essbaseプロセスの停止 |
4.5 削除
スタックを表示します。

「破棄」をクリックします。

再度確認を求められますので、「破棄」をクリックします。

このスタックで作成されたリソースが削除されます。
この後、スタック自体を削除できます。
