チュートリアル: Azure Virtual Machines に Oracle WebLogic Server を手動でインストールする

このチュートリアルでは、Oracle WebLogic Server (WLS) をインストールし、Windows または GNU/Linux 上の Azure Virtual Machines (VM) で WebLogic クラスターを構成する手順について説明します。

このチュートリアルでは、次の作業を行う方法について説明します。

  • カスタム仮想ネットワークを作成し、ネットワーク内にVMを作成します。
  • 必要な JDK と WLS がインストールされた VM をプロビジョニングします。
  • Oracle 構成ウィザードを使って、WLS ドメイン と WLS クラスターを構成します。
  • クラスター内の Java Enterprise Edition アプリケーションをデプロイして実行します。
  • Azure Application Gateway 経由でアプリケーションをパブリック インターネットに公開します。
  • 成功した構成を検証します。

GNU/Linux VM でこれらの手順すべてを、ユーザーの代わりに Azure portal から直接に実行する完全に自動化されたソリューションが必要な場合、「クイックスタート: Azure portal を使って Azure 仮想マシンに WebLogic Server をデプロイする」をご覧ください。 これらのオファーについては、"WebLogic 基本イメージ" のクエリを使って Azure Marketplace でご確認ください。

前提条件

環境の準備

このセクションでは、JDK と WLS をインストールするインフラストラクチャをセットアップします。

前提条件

このチュートリアルでは、合計 3 つの VM 上で 1 つの管理サーバーと 2 つの管理対象サーバーを使用して WLS クラスターを構成します。 クラスターを構成するには、同じ可用性セット内に次の 3 つの Azure VM を作成する必要があります。

  • 管理 VM (VM 名 adminVM) では、管理サーバーが実行されています。
  • マネージド VM (VM 名 mspVM1mspVM2) には、2 つのマネージド サーバーが実行されています。

Azure へのサインイン

まだ行っていない場合は、az login コマンドを使って Azure サブスクリプションにサイン インし、画面上の指示に従います。

az login

Note

複数の Azure テナントがお使いの Azure 資格情報に関連付けられている場合は、サインインするテナントを指定する必要があります。 これは、--tenant オプションを使って行うことができます。 (例: az login --tenant contoso.onmicrosoft.com)。

リソース グループを作成する

az group create を使用して、リソース グループを作成します。 リソース グループ名は、サブスクリプション内でグローバルに一意である必要があります。 この理由で、一意である必要がある名前を作成するには、一部の一意識別子を前に付けることを検討してください。 便利な方法は、自分のイニシャルの後に今日の日付を mmdd の形式で付加することです。 この例では、eastus の場所に abc1110rg という名前のリソース グループを作成します。

export RESOURCE_GROUP_NAME=abc1110rg

az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

仮想ネットワークの作成

WebLogic Server クラスターを構成するリソースは、仮想ネットワークを使用して、相互通信し、パブリック インターネットとも通信する必要があります。 仮想ネットワークの計画に関する完全なガイドは、Cloud Adoption Framework for Azure ガイドの「仮想ネットワークの計画」を参照してください。 詳細については、「Azure Virtual Network のよくある質問 (FAQ)」を参照してください。

このセクションの例では、アドレス空間 192.168.0.0/16 で仮想ネットワークを作成して、VM で使用するサブネットを作成します。

まず az network vnet create を使って仮想ネットワークを作成します。 次の例では、myVNet という名前のネットワークを作成します。

az network vnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myVNet \
    --address-prefixes 192.168.0.0/24

az network vnet subnet create を使用して WLS クラスターのサブネットを作成します。 次の例では、mySubnet という名前のサブネットを作成します。

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.0/25

az network vnet subnet create を使用して Application Gateway のサブネットを作成します。 次の例では、wlsVMGateway という名前のサブネットを作成します。

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name wlsVMGateway \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.128/25

可用性セットの作成

次の例で示すように、az vm availability-set create を使用して可用性セットを作成します。 可用性セットの作成は省略可能ですが、作成することをお勧めします。 詳細については、「Windows VM 用 Azure インフラストラクチャ チュートリアル」を参照してください。

az vm availability-set create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAvailabilitySet \
    --platform-fault-domain-count 2 \
    --platform-update-domain-count 2

以降のセクションでは、GNU/Linux または Windows Server に WLS をインストールする手順について説明します。 要件に応じてオペレーティング システム、JDK のバージョン、WLS のバージョンを選択できますが、それぞれ利用可能であることを、Oracle Fusion Middleware によりサポートされているシステム構成に関するページで確認する必要があります。 さらに、続行する前に、システムおよびプラットフォーム固有の要件をよく検討してください。 詳細については、システム要件と仕様をご覧ください。 選択したオペレーティング システムのタブを選択します。

この記事では、Oracle と Microsoft によって管理されている、サポートされている最新バージョンのソフトウェアを含む Azure VM イメージを使用します。 Oracle と Microsoft が管理する WLS ベース イメージの完全なリストについては、「Azure Marketplace」を参照してください。 Windows OS を使用する場合、手順は基本の Windows VM から始まります。必要なすべての依存関係をインストールする手順について説明します。

この記事で VM の作成に使用する マーケットプレイスのイメージは、Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest です。

Note

az vm image listaz vm image list --publisher oracle --output table --all | grep "weblogic" を使って、Oracle によって用意された利用可能な Oracle WebLogic イメージすべてに対してクエリを実行できます。 詳しくは、「Oracle VM イメージと Microsoft Azure へのそのデプロイ」をご覧ください。

管理サーバー用の Oracle Linux マシンを作成する

このセクションでは、管理サーバーと管理対象サーバー用に、JDK 11 と WebLogic 14.1.1.0 がインストールされた Oracle Linux マシンを作成します。

az vm create を使用して VM を作成します。 この VM で 管理サーバーを実行します。

次の例では、ユーザー名とパスワードのペアを認証に使って Oracle Linux VM を作成します。 必要に応じて、代わりに SSL/TLS 認証を使用できます。

export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

Windows VM を作成して X-server を設定する

このチュートリアルでは、WebLogic Server のグラフィカル インターフェイスを使用して、インストールと構成を完了します。 "ジャンプ ボックス" として Windows VM を使用して、X Windows System server を実行して、WLS クラスターの 3 第の VM でグラフィカル インストーラーを表示します。

Windows 10 コンピューターをプロビジョニングし、X-server をインストールするには、次の手順に従います。 Oracle Linux マシンと同じネットワーク内に Windows マシンが既にある場合は、Azure から新しいマシンをプロビジョニングする必要はありません。 X-server をインストールするセクションに進みます。

  1. 次の手順を実行して、Azure Portal から Windows 10 VM を作成します。

    1. Azure Portal で、リソース グループ abc1110rg を開きます。
    2. [作成] を選択して、リソースを作成します。
    3. [コンピューティング] を選択して、windows 10 を検索したら、[Microsoft Windows 10] を選択します。
    4. 目的のプランを選択して、[作成] を選択します。
    5. 次の値を使用して、VM を構成します。
      • 仮想マシン名: myWindowsVM
      • 画像: Windows 10 Pro
      • [ユーザー名]: azureuser
      • パスワード: Secret123456
    6. [ライセンス] のチェックボックスをオンにします。
    7. [確認と作成] を選択し、次に [作成] を選択します。

    VM とサポートするリソースを作成するには数分かかります。

    デプロイが終わったら、X サーバーをインストールし、それを使用して、グラフィカル インターフェイスで Oracle Linux マシンに WebLogic Server を構成します。

  2. X サーバーをインストールして起動するには、次の手順を実行します。

    1. リモート デスクトップを使用して myWindowsVM に接続します。 詳細なガイドについては、「リモート デスクトップを使用した接続方法と Windows が実行されている Azure 仮想マシンへのサイン オン方法」を参照してください。 myWindowsVM のこのセクションに記載されている残りの手順を実行する必要があります。
    2. VcXsrv Windows X Server をダウンロードしてインストールします。
    3. ファイアウォールを無効にします。 Linux VM からの通信を許可するには、次の手順を実行して Microsoft Defender ファイアウォールをオフにします。
      1. [Microsoft Defender ファイアウォール] を検索して開きます。
      2. [Microsoft Defender ファイアウォールのオン/オフ] を見つけ、[プライベート ネットワーク設定][オフにする] を選択します。 [パブリック ネットワーク設定] はそのままにします。
      3. [OK] を選択します。
      4. [Windows Defender ファイアウォール] 設定パネルを閉じます。
    4. デスクトップで [X-launch] を選択します。
    5. ディスプレイ設定で、複数のウィンドウを使用するにはディスプレイ番号を -1 に設定して、[次へ] を選択します。
    6. [クライアントの起動方法を選択] の場合は、[クライアントを起動しない] を選択して、[次へ] を選択します。
    7. 追加設定を行う場合は、[クリップボードとプライマリ選択][ネイティブ opengl]、および [アクセス制御を無効化] を選択します。
    8. 次へ を選択して完了します。

    Windows セキュリティアラート ダイアログが表示され、"VcXsrv Windows X Server がこれらのネットワーク上で通信することを許可する" というメッセージが表示されることがあります。その場合は、[アクセスを許可] を選択します。

管理対象サーバー用の Oracle Linux マシンを作成する

az vm create を使用して、2 台の VM を作成します。 この VM で管理対象サーバーを実行します。

次の例では、ユーザー名とパスワードのペアを認証に使って Oracle Linux VM を作成します。 必要に応じて、代わりに SSL/TLS 認証を使用できます。

export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

次のコマンドを使用して、後のセクションで使用するプライベート IP アドレスを取得して表示します。

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
echo "Private IP of adminVM: ${ADMINVM_IP}"
echo "Private IP of mspVM1: ${MSPVM1_IP}"
echo "Private IP of mspVM2: ${MSPVM2_IP}"

これで、Oracle Linux マシンに接続して、グラフィカル インターフェイスを使用して WebLogic クラスターを構成する準備ができました。

WebLogic Server ドメインとクラスターの構成

WebLogic Server ドメインは、論理的に関連する WebLogic Server インスタンスのグループと、それらのインスタンスで実行および接続されているリソースであり、1 つの管理単位として管理できます。 詳しくは、WebLogic Server ドメインに関するページをご覧ください。

WebLogic Server の高可用性の基盤は、クラスターです。 WebLogic Server クラスターは、WebLogic Server インスタンスのグループであり、同時に実行され、連携してスケーラビリティと信頼性を高めます。 詳しくは、Oracle WebLogic クラスターに関するページをご覧ください。

次の一覧で説明するように、クラスターには 2 種類あります。 詳しくは、動的クラスターに関するページをご覧ください。

  • 動的クラスター: 1 つの共有サーバー テンプレートをベースとする 1 つ以上の生成 (動的) サーバー インスタンスを含むクラスター。 動的クラスターを作成すると、動的サーバーが事前構成されて自動的に生成されるため、追加のサーバー容量が必要な場合に、動的クラスター内のサーバー インスタンスの数を簡単にスケールアップできます。 動的サーバーは、手動で構成してクラスターに追加しなくても開始できます。
  • 構成済みクラスター: 各サーバー インスタンスを手動で構成および追加するクラスター。 サーバー容量を増やすには、新しいサーバー インスタンスを構成および追加する必要があります。

WebLogic クラスターを形成する方法を説明するため、このチュートリアルでは、構成済みのクラスターを作成するプロセスについて説明します。

構成ウィザードを使ったドメインの作成

X サーバーと Oracle 構成ウィザードを使って WLS ドメインの作成を続けます。

次のセクションでは、adminVM で新しい WLS ドメインを作成する方法を示します。 まだ Windows マシン上にいることを確認します。そうでない場合は、myWindowsVM にリモート接続します。

  1. コマンド プロンプトから adminVM に接続します。

    お使いの Windows マシン myWindowsVM で次のコマンドを実行します。

    set ADMINVM_IP="192.168.0.4"
    ssh azureuser@%ADMINVM_IP%
    
  2. 以下のコマンドを使用して、ドメイン構成用のフォルダーを初期化します。

    sudo su
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    
  3. 次のコマンドを使用して、X サーバーの依存関係をインストールします。

    # install dependencies for X-server
    sudo yum install -y libXtst libSM libXrender
    # install dependencies to run a Java GUI client
    sudo yum install -y fontconfig urw-base35-fonts
    
  4. 次のコマンドを使用して、oracle ユーザーになり、DISPLAY変数を設定します。

    sudo su - oracle
    
    export DISPLAY=<my-windows-vm-private-ip>:0.0
    #export DISPLAY=192.168.0.5:0.0
    
  5. 次のコマンドを実行して、Oracle 構成ウィザードを起動します。

    bash /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin/config.sh
    

Oracle 構成ウィザードが起動し、ドメインを構成する手順が表示されます。 次のページでは、ドメインの種類と場所を指定します。 [新しいドメインの作成] を選択し、ドメインの場所を /u01/domains/wlsd に設定します。 ドメイン構成はこのフォルダーに保存されます。

Screenshot of Oracle Configuration Wizard - Create Domain.

[次へ] を選択し、[製品テンプレートを使用してドメインを作成する] を選択します。 次のスクリーンショットに示すように、既定で選択されたテンプレートをそのまま使用します。

Screenshot of Oracle Configuration Wizard - Templates.

[次へ] を選択し、[管理アカウント] を入力します。 [名前] を「weblogic」に設定し、[パスワード] を「Secret123456」に設定します。

Screenshot of Oracle Configuration Wizard - Administration Account.

[次へ] を選択します。 ドメイン モードとして、[運用] を選択します。 JDK の場合、既定のオプションをそのまま使用します。

Screenshot of Oracle Configuration Wizard - Domain Mode and JDK.

[次へ] を選択します。 高度な構成の場合、[管理サーバー][ノード マネージャー][トポロジ] を選択します。

Screenshot of Oracle Configuration Wizard - Advanced Configurations.

[次へ] を選択し、[管理サーバー] 名に「admin」と入力します。[リッスン IP アドレス] にプライベート IP adminVM を入力します。 この例では、値は 192.168.0.4 です。

Screenshot of Oracle Configuration Wizard - Administration Server.

[次へ] を選択します。 [ノード マネージャーの種類] で、[ドメイン単位のカスタムの場所] を選択し、場所として /u01/domains/wlsd/nodemanager を入力します。 [ノード マネージャー資格情報] では、ユーザー名は weblogic で、パスワードは Secret123456 です。

Screenshot of Oracle Configuration Wizard - Node Manager.

[次へ] を選択します。 管理対象サーバーの場合、次の項目を追加します。 前の手順で調べた IP アドレスを使用します。

サーバー名 リッスン アドレス リッスン ポート
msp1 プライベート IP アドレス mspVM1 8001
msp2 プライベート IP アドレス mspVM2 8001

Screenshot of Oracle Configuration Wizard - Managed Servers.

[次へ] を選択し、クラスターを名前 cluster1 で作成します。

Screenshot of Oracle Configuration Wizard - Cluster.

[次へ] を選択します。 [サーバー テンプレート][動的サーバー] の値は変更しないでください。 動的クラスターには既定値を使用できます。

[クラスターへのサーバーの割り当て] で、msp1msp2 の両方を cluster1 に割り当てます。

Screenshot of Oracle Configuration Wizard - Assign Servers to Clusters.

[次へ] を選択します。 マシン adminVMmspVM1mspVM2 を追加します。 前の手順で調べた IP アドレスを使用します。

名前 ノード マネージャーのリッスン アドレス ノード マネージャーのリッスン ポート
mspVM1 プライベート IP アドレス mspVM1 5556
mspVM2 プライベート IP アドレス mspVM2 5556
adminVM プライベート IP アドレス adminVM 5556

Screenshot of Oracle Configuration Wizard - Machines.

[次へ] を選択します。 [マシンへのサーバーの割り当て] で、サーバー adminadminVM に、msp1mspVM1 に、msp2mspVM2 に割り当てます。

Screenshot of Oracle Configuration Wizard - Assign Servers to Machines.

[次へ] を選択します。 [構成の概要] が表示されます。次のスクリーンショットのようになります。

Screenshot of Oracle Configuration Wizard - Configuration Summary.

[作成] を選択します 構成の進行状況ページに進行状況が表示されます。 一覧表示されたすべての項目が正常に構成されている必要があります。

Screenshot of Oracle Configuration Wizard - Configuration Progress.

最後に、構成の終了ページに管理サーバーの URL が表示されます。

Screenshot of Oracle Configuration Wizard - End.

管理サーバーが実行されていないため、URL が解決されません。 [次へ] を選択し、[完了] を選択します。 これで、2 つの管理対象サーバーを含むwlsdクラスターを持つドメインcluster1の構成が完了しました。

次に、ドメイン構成を mspVM1 および mspVM2 に適用します。

pack および unpack コマンドを使用してドメインを拡張します。

pack および unpack コマンドを使ったレプリカの作成

このチュートリアルでは、WLS の pack および unpack コマンドを使ってドメインを拡張します。 詳しくは、pack および unpack コマンドの概要ページを参照してください。

  1. 次の手順に従って、adminVM でドメイン構成をパックします。まだ adminVM 上におり、oracle ユーザーとしてログオンしていることを前提とします。

    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
    

    コマンドが正常に実行された場合、次の例のような出力が表示されます。

    [oracle@adminVM bin]$ bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
    << read domain from "/u01/domains/wlsd"
    >>  succeed: read domain from "/u01/domains/wlsd"
    << set config option Managed to "true"
    >>  succeed: set config option Managed to "true"
    << write template to "/tmp/cluster.jar"
    ..............................
    >>  succeed: write template to "/tmp/cluster.jar"
    << close template
    >>  succeed: close template
    

    scp を使って /tmp/cluster.jarmspVM1 および mspVM2 にコピーするには、以下のコマンドを使用します。 キー フィンガープリントの入力を求められた場合、「yes」と入力します。 メッセージが表示されたら、パスワード「Secret123456」を入力します。

    scp /tmp/cluster.jar azureuser@<mspvm1-private-ip>:/tmp/cluster.jar
    scp /tmp/cluster.jar azureuser@<mspvm2-private-ip>:/tmp/cluster.jar
    #scp /tmp/cluster.jar azureuser@192.168.0.6:/tmp/cluster.jar
    #scp /tmp/cluster.jar azureuser@192.168.0.7:/tmp/cluster.jar
    
  2. mspVM1 にドメイン構成を適用するには、次の手順に従います。

    新しいコマンド プロンプトを開き、次のコマンドを使用して mspVM1 に接続します。 192.168.0.6 をプライベート IP アドレス mspVM1 に置き換えます。

    set MSPVM1_IP="192.168.0.6"
    ssh azureuser@%MSPVM1_IP%
    

    接続用のパスワードを求められます。 この例では、パスワードは Secret123456 です。

    ユーザー azureuser として mspVM1 にログインします。 次に、以下のコマンドを使ってルート ユーザーになり、oracle が所有する /tmp/cluster.jar のファイル所有権を更新します。

    sudo su
    
    chown oracle:oracle /tmp/cluster.jar
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    

    oracle ユーザーは、以下のコマンドを使ってドメイン構成を適用します。

    sudo su - oracle
    
    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    

    コマンドが正常に実行された場合、次の例のような出力が表示されます。

    [oracle@mspVM1 bin]$ bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    << read template from "/tmp/cluster.jar"
    >>  succeed: read template from "/tmp/cluster.jar"
    << set config option DomainName to "wlsd"
    >>  succeed: set config option DomainName to "wlsd"
    >>  validateConfig "KeyStorePasswords"
    >>  succeed: validateConfig "KeyStorePasswords"
    << write Domain to "/u01/domains/wlsd"
    ..................................................
    >>  succeed: write Domain to "/u01/domains/wlsd"
    << close template
    >>  succeed: close template
    
  3. mspVM2 にドメイン構成を適用するには、次の手順に従います。

    新しいコマンド プロンプトで mspVM2 に接続します。 192.168.0.7 をプライベート IP アドレス mspVM2 に置き換えます。

    set MSPVM2_IP="192.168.0.7"
    ssh azureuser@%MSPVM2_IP%
    

    接続用のパスワードを求められます。 この例では、パスワードは Secret123456 です。

    ユーザー azureuser として mspVM2 にログインします。 以下のコマンドを使用してルート ユーザーに変更し、/tmp/cluster.jar のファイル所有権を更新して、ドメイン構成用にフォルダーを初期化します。

    sudo su
    
    chown oracle:oracle /tmp/cluster.jar
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    
    sudo su - oracle
    
    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    

これで、mspVM1 および mspVM2 でドメイン構成がレプリケートされ、サーバーを起動する準備が整いました。

サーバーの起動

このセクションの手順では、以下の 2 つのタスクを実行します。

  1. サーバーの再起動後、管理サーバーと管理対象サーバーの起動を自動的に行う。
  2. すぐに使用できるようにサーバーを起動する。

これら 2 つのタスクは簡単に区別できないため、2 つのタスクの手順が混在しています。

管理サーバーの起動

adminVM に接続するコマンド プロンプトに戻ります。 失った場合、次のコマンドを実行して接続します。

set ADMINVM_IP="192.168.0.4"
ssh azureuser@%ADMINVM_IP%

oracle ユーザーを使用していない場合、oracle でログインします。

sudo su - oracle

次のコマンドは、admin アカウントを /u01/domains/wlsd/servers/admin/security/boot.properties に保持し、資格情報を要求せずに admin サーバーを自動的に起動可能にします。

ユーザー名とパスワードは自分のユーザー名とパスワードに置き換えてください。

mkdir -p /u01/domains/wlsd/servers/admin/security

cat <<EOF >/u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456
EOF

ファイルの検査には次のコマンドを使用します。 適切な所有権、アクセス許可、コンテンツがあることを確認します。

ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
cat /u01/domains/wlsd/servers/admin/security/boot.properties

出力は、次の例とほぼ同じになるはずです。

[oracle@adminVM bin]$ ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
-rw-rw-r--. 1 oracle oracle 40 Nov 28 17:00 /u01/domains/wlsd/servers/admin/security/boot.properties
[oracle@adminVM bin]$ cat /u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456

VM の再起動後に管理サーバーとノード マネージャーが自動的に起動可能にする

WLS 管理サーバーとノード マネージャー用の Linux サービスを作成し、再起動後にプロセスを自動的に開始します。 詳しくは、Oracle Linux での systemd の使用に関するページをご覧ください。

oracle ユーザーを終了し、root ユーザーでサインインします。

exit

sudo su

ノード マネージャー用の Linux サービスを作成します。

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

管理サーバー用の Linux サービスを作成します。

cat <<EOF >/etc/systemd/system/wls_admin.service
[Unit]
Description=WebLogic Adminserver service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/startWebLogic.sh"
ExecStop="/u01/domains/wlsd/bin/stopWebLogic.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
EOF

以下のコマンドを使って、adminVM でノード マネージャーと管理サーバーを起動する準備ができました。

sudo systemctl enable wls_nodemanager
sudo systemctl enable wls_admin
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager
sudo systemctl start wls_admin

sudo systemctl status wls_admin -l で管理サーバーの状態を確認します。 同様のログがあれば、管理サーバーの準備が整っていることになります。

[root@adminVM wlsd]# sudo systemctl status wls_admin -l
● wls_admin.service - WebLogic Adminserver service
Loaded: loaded (/etc/systemd/system/wls_admin.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-09-26 07:47:34 UTC; 54s ago
Main PID: 26738 (startWebLogic.s)
    Tasks: 61 (limit: 20654)
Memory: 649.2M

... ...

Sep 26 07:48:15 adminVM startWebLogic.sh[26802]: <Sep 26, 2022, 7:48:15,411 AM Coordinated Universal Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>

Q キーを押して、ログ監視モードを終了します。

ポート 7001 および 5556 を開く前に管理サーバーにアクセスすることはできません。 以下のコマンドを実行してポートを開きます。

sudo firewall-cmd --zone=public --add-port=7001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

この時点で、URL http://<adminvm-private-ip>:7001/console を使って myWindowsVM のブラウザー上の管理サーバーにアクセスできます。 管理サーバーが表示されることを確認します。まだサインインしないでください。 管理サーバーが実行されていない場合、先に進む前に問題をトラブルシューティングし、解決してください。 管理サーバーは、Azure の外部からはアクセスできません。

msp1 の起動

mspVM1 に接続するコマンド プロンプトに戻ります。 失った場合、次のコマンドを実行して接続します。

set MSPVM1_IP="192.168.0.6"
ssh azureuser@%MSPVM1_IP%

oracle ユーザーを使用していない場合、oracle でログインします。

sudo su - oracle

admin アカウントを /u01/domains/wlsd/servers/msp1/security/boot.properties に保持し、資格情報を要求せずに msp1 を自動的に起動可能にします。 ユーザー名とパスワードは自分のユーザー名とパスワードに置き換えてください。

mkdir -p /u01/domains/wlsd/servers/msp1/security

cat <<EOF >/u01/domains/wlsd/servers/msp1/security/boot.properties
username=weblogic
password=Secret123456
EOF

次に、ノード マネージャー用の Linux サービスを作成して、マシンの再起動時にプロセスを自動的に開始します。 詳しくは、Oracle Linux での systemd の使用に関するページをご覧ください。

oracle ユーザーを終了し、root ユーザーでサインインします。

exit

#Skip this command if you are root
sudo su

ノード マネージャー用の Linux サービスを作成します。

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

次に、ノード マネージャーを起動します。

sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager

ノード マネージャーが正常に実行されている場合、次の例のようなログが表示されます。

[root@mspVM1 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
    Tasks: 15 (limit: 20654)
Memory: 146.7M

... ...

Sep 27 01:23:45 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>

Q キーを押して、ログ監視モードを終了します。

クラスターにデプロイされたアプリケーションにアクセスするにはポート 8001、ドメイン内で通信するには 5556 を開く必要があります。 以下のコマンドを実行してポートを開きます。

sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

msp2 の起動

mspVM2 に接続するコマンド プロンプトに戻ります。 失った場合、次のコマンドを実行して接続します。

set MSPVM2_IP="192.168.0.7"
ssh azureuser@%MSPVM2_IP%

oracle ユーザーを使用していない場合、oracle でサインインします。

sudo su - oracle

admin アカウントを /u01/domains/wlsd/servers/msp2/security/boot.properties に保持し、資格情報を要求せずに msp2 を自動的に起動可能にします。 ユーザー名とパスワードは自分のユーザー名とパスワードに置き換えてください。


mkdir -p /u01/domains/wlsd/servers/msp2/security

cat <<EOF >/u01/domains/wlsd/servers/msp2/security/boot.properties
username=weblogic
password=Secret123456
EOF

次に、ノード マネージャー用の Linux サービスを作成します。

oracle ユーザーを終了し、root ユーザーでサインインします。

exit

#SKip this command if you are in root
sudo su

ノード マネージャー用の Linux サービスを作成します。

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

ノード マネージャーを起動します。

sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager

ノード マネージャーが正常に実行されている場合、次の例のようなログが表示されます。

[root@mspVM2 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
    Tasks: 15 (limit: 20654)
Memory: 146.7M

... ...

Sep 27 01:23:45 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>

Q キーを押して、ログ監視モードを終了します。

ポート 8001 および 5556 を開きます。

sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

管理対象サーバーの起動

次に、Windows コンピューター myWindowsVM のブラウザーから 管理コンソール ポータルを開き、次の手順に従って管理対象サーバーを起動します。

  1. 管理者アカウントとパスワードを使って、管理コンソール ポータルにサインインします。 URL は http://<adminvm-private-ip>:7001/console/ です。 この例では、管理者アカウントとパスワードは weblogic/Secret123456 です。 管理対象サーバーの状態がシャットダウンであることがわかります。
  2. [ドメイン構造] で、[環境][サーバー][制御] の順に選択し、msp1msp2 を選択して、[起動] を選択します。
  3. サーバーの起動を確認するメッセージが表示されることがあります。 表示されたら、[はい] を選択します。 "選択したサーバーを起動するための要求がノード マネージャーに送信されました" というメッセージが表示されます。
  4. テーブルの上部にある [更新] アイコンを選択すると、そのテーブル内のデータの動的更新を開始または停止することができます。 このアイコンを次のスクリーンショットに示します。
  5. すぐにサーバーが実行されたことがわかります。

Screenshot of Oracle Configuration Wizard - Start Servers.

Windows マシンをクリーンアップする

これで、WLS クラスターの構成が完了しました。 必要に応じて、次のコマンドを使用して Windows マシンを削除します。 または、Windows マシンmyWindowsVM をシャットダウンし、進行中のクラスター メインテナント タスクのジャンプ ボックスとして引き続き使用することもできます。

export WINDOWSVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myWindowsVM \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export WINDOWSVM_NSG_ID=$(az network nic show \
    --ids ${WINDOWSVM_NIC_ID} \
    --query networkSecurityGroup.id \
    --output tsv)
export WINDOWSVM_DISK_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myWindowsVM \
    --query storageProfile.osDisk.managedDisk.id \
    --output tsv)
export WINDOWSVM_PUBLIC_IP=$(az network public-ip list \
    -g ${RESOURCE_GROUP_NAME} --query [0].id \
    --output tsv)

echo "deleting myWindowsVM"
az vm delete --resource-group ${RESOURCE_GROUP_NAME} --name myWindowsVM --yes
echo "deleting nic ${WINDOWSVM_NIC_ID}"
az network nic delete --ids ${WINDOWSVM_NIC_ID}
echo "deleting public-ip ${WINDOWSVM_PUBLIC_IP}"
az network public-ip delete --ids ${WINDOWSVM_PUBLIC_IP}
echo "deleting disk ${WINDOWSVM_DISK_ID}"
az disk delete --yes --ids ${WINDOWSVM_DISK_ID}
echo "deleting nsg ${WINDOWSVM_NSG_ID}"
az network nsg delete --ids ${WINDOWSVM_NSG_ID}

Azure Application Gateway で WLS を公開する

Windows または GNU/Linux Virtual Machines で WebLogic Server (WLS) クラスターを作成したので、このセキュリティでは、Azure Application Gateway を使用して、WAS をインターネットに公開するプロセスを説明します。

Azure Application Gateway を作成する

WLS をインターネットに公開するには、パブリック IP アドレスが必要です。 パブリック IP アドレスを作成し、Azure Application Gateway を関連付けます。 次の例に示すように、az network public-ip create を使って作成します。

az network public-ip create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAGPublicIPAddress \
    --allocation-method Static \
    --sku Standard

バックエンド サーバーを Application Gateway バックエンド プールに追加します。 以下のコマンドを使って、バックエンド IP アドレスのクエリを実行します。

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)

次に、Azure Application Gateway を作成します。 次の例では、デフォルトのバックエンド プールに管理対象サーバーを含む Application Gateway を作成します。

az network application-gateway create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAppGateway \
    --public-ip-address myAGPublicIPAddress \
    --location eastus \
    --capacity 2 \
    --http-settings-port 80 \
    --http-settings-protocol Http \
    --frontend-port 80 \
    --sku Standard_V2 \
    --subnet wlsVMGateway \
    --vnet-name myVNet \
    --priority 1001 \
    --servers ${MSPVM1_IP} ${MSPVM2_IP}

マネージド サーバーは、ポート 8001 を使用してワークロードを公開します。 次のコマンドを使用して、バックエンド ポート 8001 を指定して appGatewayBackendHttpSettings を更新し、それに対するプローブを作成します。

az network application-gateway probe create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name clusterProbe \
    --protocol http \
    --host 127.0.0.1 \
    --path /weblogic/ready

az network application-gateway http-settings update \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name appGatewayBackendHttpSettings \
    --port 8001 \
    --probe clusterProbe

次のコマンドでは、基本的なルール rule1 をプロビジョニングします。 次の例では、管理サーバーへのパスを追加します。 まず、以下のコマンドを使って URL パス マップを作成します。

az network application-gateway address-pool create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminServerAddressPool \
    --servers ${ADMINVM_IP}

az network application-gateway probe create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminProbe \
    --protocol http \
    --host 127.0.0.1 \
    --path /weblogic/ready

az network application-gateway http-settings create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminBackendSettings \
    --port 7001 \
    --protocol Http \
    --probe adminProbe

az network application-gateway url-path-map create \
    --gateway-name myAppGateway \
    --name urlpathmap \
    --paths /console/* \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --address-pool adminServerAddressPool \
    --default-address-pool appGatewayBackendPool \
    --default-http-settings appGatewayBackendHttpSettings \
    --http-settings adminBackendSettings \
    --rule-name consolePathRule

次に、az network application-gateway rule update を使って、規則の種類を PathBasedRouting に更新します。

az network application-gateway rule update \
    --gateway-name myAppGateway \
    --name rule1 \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --http-listener appGatewayHttpListener \
    --rule-type PathBasedRouting \
    --url-path-map urlpathmap \
    --priority 1001 \
    --address-pool appGatewayBackendPool \
    --http-settings appGatewayBackendHttpSettings

これで、URL http://<gateway-public-ip-address>/console/ を使って管理サーバーにアクセスできるようになりました。 次のコマンドを実行して、URL を取得します。

export APPGATEWAY_IP=$(az network public-ip show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAGPublicIPAddress \
    --query [ipAddress] \
    --output tsv)
echo "admin console URL is http://${APPGATEWAY_IP}/console/"

管理サーバー コンソールにログインできることを確認します。 できない場合、先に進む前に問題をトラブルシューティングし、解決してください。

Note

この例では、HTTP を使用して WebLogic サーバーへの簡単なアクセスを設定します。 セキュリティで保護されたアクセスが必要な場合は、「Application Gateway でのエンド ツー エンド SSL」の手順に 従って TLS/TLS ターミネーションを構成します。

この例では、Application Gateway を介して管理サーバー コンソールを公開します。 これは運用環境で使用しないでください。

サンプル アプリケーションをデプロイする

このセクションでは、単純なアプリケーションを WLS クラスターにデプロイする方法について説明します。 まず、Oracle から testwebapp.war をダウンロードし、ファイルをローカル ファイルシステムに保存します。 次の手順を実行して、サンプル アプリケーションをデプロイします。

  1. Web ブラウザーを開きます。
  2. URL http://<gateway-public-ip-address>/console/ を使って管理コンソール ポータルに移動し、管理者アカウントとパスワードでサインインします。 この例では、weblogic/Secret123456 です。
  3. 変更センターの下にそのボタンが存在する場合、[ロックして編集] を選択します。 このボタンが存在しない場合、変更センターの下に "今後の変更は、このドメインで項目を変更、追加、または削除すると自動的にアクティブ化されます" などのテキストが存在することを確認します。
  4. [ドメイン構造] で、[デプロイ] を選択します。 Unexpected error encountered while obtaining monitoring information for applications. のようなエラー メッセージが表示された場合、無視しても問題ありません。 [構成][インストール] の順に選択します。 テキスト内で入れ子になっているのは、テキスト「ファイルをアップロード」を含むハイパーリンクです。 それを選択します。 [ファイルの選択] を選択し、前の手順でビルドした testwebapp.war を選択します。 [次へ][次へ] の順に選択します。
  5. [このデプロイをアプリケーションとしてインストールする] が選択されていることを確認します。 [次へ] を選択します。
  6. [cargo-tracker の使用可能なターゲット] で、デプロイ ターゲット cluster1 を選択したら、[次へ] > [完了] の順に選択します。
  7. 変更センターの下にそのボタンが存在する場合、[変更のアクティブ化] を選択します。 この手順を完了する必要があります。 この手順を完了しないと、加えた変更内容が有効になりません。 このボタンが存在しない場合は、[変更センター] の下に Future changes will automatically be activated as you modify, add or delete items in this domain などのテキストが存在することを確認します。
  8. [ドメイン構造][デプロイ][制御] の順に選択します。 cargo-tracker を選択し、[開始][すべての要求にサービスを提供する] の順に選択します。
  9. [はい] を選択します。
  10. Start requests have been sent to the selected deployments.「アプリケーションの状態が [アクティブ] である必要がある」というメッセージが表示されます。

WLS クラスター構成のテスト

これで、WLS クラスターの構成と、それに対する Java Enterprise Edition アプリケーションのデプロイが完了しました。 次の手順を実行して、アプリケーションにアクセスし、すべての設定を検証します。

  1. Web ブラウザーを開きます。
  2. URL http://<gateway-public-ip-address>/testwebapp/ の アプリケーションに移動します。

リソースをクリーンアップする

次のコマンドを使用して abc1110rg を削除します。

az group delete --name ${RESOURCE_GROUP_NAME} --yes --no-wait

次のステップ

Azure 上で WLS を実行するためのオプションについて引き続き調べます。