WebLogic Server for Oracle Cloud Infrastructure をプロビジョニングしてみた

[Oracle WebLogic Server for Oracle Cloud Infrastructureの正式リリース](https://blogs.oracle.com/oracle4engineer/wls4oci)

2020年3月にリリースされた Gen2 Oracle Cloud(以後 OCI) で動作する WebLogic Server である WebLogic Server for Oracle Cloud Infrastracture(以後 wls4oci) をプロビジョニングし動作させてみました。この WebLogic Server はOCIのマーケットプレースから利用することができます。

チュートリアルが公開されているので、これに基づいてプロビジョニングします。チュートリアルには詳細な手順や設定値の記述はあるが画面のイメージがないため、本文とチュートリアルを見比べながらプロビジョニングするとよいかもしれません。

[Get Started with Oracle WebLogic Server for Oracle Cloud Infrastructure](https://docs.oracle.com/cd/E83857_01/paas/weblogic-cloud/tutorial-get-started/)

## はじめに

チュートリアルはマーケットプレースの WebLogic Server for OCI から WebLogic Server ２台構成のクラスタリングを構成します。１つめの WebLogic Server は管理対象サーバーと共に管理サーバーとして機能します。

プロビジョニングは スタックと呼ばれる構成単位の中に、WebLogic Server のクラスタだけでなく、OCIのネットワークやコンピュートインスタンス、ロードバランサの構成を含みリソースマネージャを使いプロビジョニングします。リソースマネージャの対話画面を使いプロビジョニングが容易におこなえます。

## プロビジョニング準備

OCIテナントにサインインします。
![image-20200820102313377.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/af825140-136c-0d74-c02e-ee7edc7498f0.png)


今回は大阪リージョンにプロビジョニングします。
![image-20200820102630293.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/034209c9-f01b-05cd-7274-78363f0765eb.png)
マーケットプレースのwls4oci でプロビジョニングするにあたり以下の事前準備が必要です。少し面倒ですがプロビジョニングのための決まり事としてチュートリアルにそって準備を進めます。

### １. 動的グループの作成
<img width="20" alt="20200824112330501.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/45e77e1a-113d-263c-fd2f-72a664bc30fc.png">左上のナビゲーションメニューから[アイデンティティ]-[コンパートメント]を選択し、コンパートメントを作成しOCID をコピーしておきます。![image-20200820171520437.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/e4663803-faa9-e7ac-b6b7-937831d55b01.png)


次に動的グループをチュートリアルの設定値で作成します。コンパートメント内のすべてのコンピュートインスタンスがこの動的グループのメンバーであることを定義します。![image-20200820171758706.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/36e6a220-b885-99fe-8fea-a0f0c8a2a262.png)

![image-20200820172808252.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/17bed7a9-fd7f-3d57-65e8-74bbc12057e8.png)


### 2. 動的グループのポリシーを作成

プロビジョニング中に wls4oci で作成されるコンピュートインスタンスはボールトサービスへのアクセスを要求します。ポリシーを作成しコンピュートインスタンスがボールトサービスのキーを使うことを許可します。
![image-20200820173417286.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/16091a26-2fe6-ddb0-2e0c-1ad76c80e162.png)
### 3. ボールトとキーの作成

ナビゲーションメニューから[セキュリティ]-[ボールト]を選択し、ボールトを作成します。

![image-20200820174118079.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/29b0549b-9018-8c73-03a9-94101548dc5c.png)


暗号エンドポイントをコピーしておきます。

![image-20200820174607855.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/af74b913-b1c2-5aa7-8e01-45ec8bf8e35f.png)


キーを作成します。

![image-20200820174659213.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/f13f0c95-83b8-356f-8699-377736700490.png)


キーのOCIDをコピーしておきます。

![image-20200820174807388.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/64bd3e5e-413d-7d19-a4a4-80fa59c4b615.png)


### 4. WebLogic パスワードの暗号化
<img width="25" alt="20200824180211486.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/cbd0af85-69c1-e0e5-f7eb-a631b5d8cb78.png">コンソール右上の Cloud Shellをクリックし起動します。

![image-20200820175447481.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/a9d3752c-f895-af63-5c0a-7d185b714480.png)




WebLogic Server の管理者パスワードを base64にエンコーディングします。
`echo -n 'WebLogic_Password' | base64`

![image-20200820175515166.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/c4a36b98-69e7-4739-a3d9-cc679bd4ca6e.png)

OCIコマンドを使い暗号化します。
`oci kms crypto encrypt --key-id Key_OCID --endpoint Crypto_Endpoint --plaintext Base64_WebLogic_Password`

![image-20200820175544097.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/c73bb4ce-a099-d92a-02ec-fb0694b77615.png)


出力結果から、暗号化されたテキスト"Encrypted_Password"をコピーします。
`"ciphertext": "Encrypted_Password"`

## スタックの作成 - プロビジョニング開始

準備に作業を要しましたが、これから本題の WebLogic Server 含め、ネットワークやコンピュートインスタンス、ロードバランサを含めたスタックの作成へと進みます。マーケットプレースで wls4oci を選択します。

ナビゲーションメニューから[マーケットプレース]を選択し、マーケットプレースの左メニューでカテゴリを**"アプリケーション開発"**で選択すると、WebLogic Server を見つけやすいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/40cdf2b8-0179-c45e-6b6d-30cbf823d0e1.png)　　　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/efaa78c1-c783-6983-e92c-0efdba718863.png)

![image-20200821113231269.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/203a675e-f09c-4f0a-c7ed-8f2cea771908.png)

今回は __Oracle WebLogic Server Enterprise Edition UCM__ でプロビジョニングします。バージョンとコンパートメントを選択後 使用条件をチェックし、スタックを起動します。

![image-20200821113250792.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/1b97bec8-723a-919c-0930-c29e8b5dcc0a.png)


*[スタック情報]* 画面が表示されるので、スタックの名前を入力し、次をクリック

![image-20200821135723170.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/475a1fdd-a985-3ed3-2670-486d466c773a.png)


*[変数の構成]* 画面が表示されるので、各項目の入力／選択をおこないます。

![image-20200825101052980.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/13a732f3-44dd-4338-b4d6-c2650b8f19d5.png)


**[WebLogic Server Shape]** WebLogic Server が稼働するコンピュートインスタンスのシェイプを選択します。

**[SSL Public Key]** SSLパブリックキーをペーストします。

**[WebLogic Server Availability Domain]** コンピュートインスタンスを作成する Availability Domain を選択します。

続けて、

![image-20200825101132397.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/9bad343c-4763-2200-2425-4122a6fc64b4.png)


**[WebLogic Server Node Count]** 2 を入力すれば、クラスタ２ノードを構成します。

**[WebLogic Server Admin User Name]** WebLogic Server の管理者ユーザーの名前を入力します。

**[WebLogic Server Admin Password]** 暗号化されたパスワードを入力します。

続いてNetwork 関連情報、

![image-20200825101204296.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/dc16fc55-c64c-efe9-18c1-a7a75ace5072.png)


**[Network Compartment]** これまでと同じコンパートメントを選択します。

既存Networkの使用も、新規作成も可能です。今回は新規Network(VCN)を作成しサブネットも新規作成します。

**[Virtual Cloud Network Storategy]** 新規VCN作成を選択します。

**[WebLogic Server Network]** 新規VCN名を入力します。

![image-20200825101239356.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/db967c26-2b2f-2b4b-6ee2-2244306a1449.png)


**[Subnet Storategy]** 新規サブネット作成を選択します。

**[Provision Load Balancer]** チェックを入れると、ロードバランサもプロビジョニングします。

![image-20200821144854547.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/92b8edda-b9fc-4f54-44b1-ac9683228d5b.png)


最後に、

**[Key Management Service Key ID]** WebLogic Server 管理者の暗号化で使ったキーのOCIDを入力します。キーを作成したページでOCIDをコピーできます。

**[Key Management Service Cryptoraphic Endpont]** キーを保持するボールトの暗号エンドポイントを入力します。暗号エンドポイントはボールトを作成したページに表示されています。

![image-20200821150334735.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/bc5f7541-eca1-fd20-9319-2e5d3dac19c0.png)


*[確認]* 画面で入力値を確認後、作成をクリックすると、スタックのプロビジョニングが開始されます。

![image-20200821150523208.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/755cfd32-3f39-c0c5-c506-9cec6f9caa10.png)


数分後(15分前後) 成功すれば、以下の表示となります。

![image-20200821151012791.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/c6df69cb-2a96-cae4-cffe-2852379cda81.png)




## WebLogic Server をテストする

成功したスタックの詳細のログを参照すると、最下部付近に WebLogic Server の管理コンソールURLがあるのでアクセスしてみます。

`http://168.138.43.4.:7001/console`

![image-20200821161806431.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/f04a9b58-37e2-c2e1-5a90-215acfa5d5ab.png)




管理コンソールが表示されユーザー名/パスワードを求められます。ここまで来るとあとは WebLogic Server の管理コンソールを使って WebLogic Server ドメインの構成、データソースへの接続をはじめ様々な機能設定が可能となります。

![image-20200821162147446.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/7d1dfbee-3193-29cd-f3d5-6a1218a03e6b.png)


管理コンソールを開いてデプロイメント項目を選択すると、サンプルアプリ(sample-app)がデプロイされていることが確認できます。

![image-20200821162402152.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/c484d3d8-02bb-e015-1af1-5e16a484e007.png)


ナビゲーションメニューから[ネットワークキング] - [ロードバランサ] とたどれば、ロードバランサもプロビジョニングされておりバックエンドサーバ(WebLogic Server ２台構成)へのヘルスチェックもOKとなっています。

![image-20200821162542312.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/7ad528ee-036f-188d-5134-095f19148f8c.png)


ロードバランサのパブリックIPアドレスでサンプルアプリを実行すると、サンプルアプリも正常に実行された。ロードバランサ、WebLogic Server 管理対象サーバも共に正常に動作している様子。

![image-20200821162715729.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/34d9af65-244a-8a38-b955-4d694e6c2970.png)
管理コンソールのサーバーを選択すると、２台構成のコンピュートインスタンスがヘルスOKの状態で稼働しています。

![image-20200821162742108.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/496842/cd8af830-816f-38d2-f381-c0ee84243dcb.png)


WebLogic Server for Oracle Cloud Infrastructure のプロビジョニングと動作を確認できました。