次の方法で共有


チュートリアル:Oracle WebLogic Server をカスタム仮想ネットワーク内の Azure Kubernetes Service (AKS) に移行する

このチュートリアルでは、サブスクリプション内の既存の仮想ネットワークと統合される Azure Kubernetes Service (AKS) オファーに Oracle WebLogic Server (WLS) をデプロイする方法について説明します。

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

  • カスタム仮想ネットワークを作成し、そのネットワーク内にインフラストラクチャを作成します。
  • 仮想ネットワークに AKS クラスターを作成します。
  • 既存の仮想ネットワーク内の既存の AKS クラスターを使用して、AKS 上で Oracle WebLogic Server を実行します。
  • Azure Application Gateway を使ってロード バランサーとして Oracle WebLogic Server を公開します。
  • 正常なデプロイを検証します。

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Ubuntu、macOS、Windows Subsystem for Linux などの Unix 系オペレーティング システムがインストールされたローカル マシンを準備します。
  • Azure CLI 2.73.0 以降をインストールして、Azure CLI コマンドを実行します。
    • az login コマンドを使用して、Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「Azure CLI を使用して Azure にサインインする」を参照してください。
    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。
    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
  • WLS on AKS マーケットプレース プランを利用するには、ユーザー割り当てのマネージド ID を作成し、Azure ロールを割り当てるアクセス許可が必要です。 Azure ロールを割り当てるには、Microsoft.Authorization/roleAssignments/write のアクセス許可 (ユーザー アクセス管理者所有者など) が必要です。
  • Oracle アカウント。 Oracle Container Registry の手順では、WebLogic Server イメージの使用許諾契約書に同意するように指示します。 Oracle アカウントのパスワードとメール アドレスをメモしておきます。

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

az group create を使用して、リソース グループを作成します。 この例では、 myResourceGroup の場所に eastus という名前のリソース グループを作成します。

export RESOURCE_GROUP_NAME="myResourceGroup"
export LOCATION=eastus
az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --___location ${LOCATION}

カスタム仮想ネットワークの作成

カスタム仮想ネットワークを作成する際には制約事項があります。 環境内で仮想ネットワークを作成する前に、次の記事を参照してください。

このセクションの例では、アドレス空間が 192.168.0.0/16 の仮想ネットワークを作成し、AKS と Application Gateway に使う 2 つのサブネットを作成します。

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

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

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

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

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

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

次に、次のコマンドを使って AKS サブネットのリソース ID を取得し、この記事で後で使うために変数に格納します。

export AKS_SUBNET_ID=$(az network vnet subnet show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --vnet-name myVNet \
    --name myAKSSubnet \
    --query id \
    --output tsv)

仮想ネットワークに AKS クラスターを作成する

次のコマンドを使い、az aks create コマンドを使って仮想ネットワークとサブネットに AKS クラスターを作成します。

az aks create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSCluster \
    --generate-ssh-keys \
    --enable-managed-identity \
    --node-count 3 \
    --node-vm-size Standard_DS3_v2 \
    --network-plugin azure \
    --vnet-subnet-id $AKS_SUBNET_ID \
    --yes

Jakarta EE アプリケーションをストレージ アカウントに格納する

AKS オファーのデプロイでは、Jakarta EE アプリケーションと WLS をデプロイできます。 アプリケーション ファイル (.war.ear、または .jar) を、そのアカウント内の既存の Azure Storage アカウントとストレージ コンテナーにアップロードする必要があります。

次の例に示すように、az storage account create コマンドを使って Azure Storage アカウントを作成します。

export STORAGE_ACCOUNT_NAME="stgwlsaks$(date +%s)"
az storage account create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${STORAGE_ACCOUNT_NAME} \
    --___location ${LOCATION} \
    --sku Standard_RAGRS \
    --kind StorageV2

BLOB を格納するコンテナーは、az storage container create コマンドで作成します。 次の例では、ストレージ アカウント キーを使って、コンテナーの作成操作を認可します。 Microsoft Entra アカウントを使用して、コンテナーの作成操作を承認することもできます。 詳細については、「Azure CLI を使用して BLOB またはキュー データへのアクセスを承認する」を参照してください。

export KEY=$(az storage account keys list \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --query \[0\].value \
    --output tsv)

az storage container create \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --name mycontainer \
    --account-key ${KEY} \
    --auth-mode key

次に、 az storage blob upload コマンドを使用して、Jakarta EE アプリケーションを BLOB にアップロードします。 次の例では、testwebapp.war テスト アプリケーションをアップロードします。

curl -fsL https://aka.ms/wls-aks-testwebapp -o testwebapp.war

az storage blob upload \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --container-name mycontainer \
    --name testwebapp.war \
    --file testwebapp.war \
    --account-key ${KEY} \
    --auth-mode key

複数のファイルを同時にアップロードするには、「Azure CLI を使用して BLOB を作成、ダウンロード、一覧表示する」を参照してください。

WLS on AKS プランをデプロイする

このセクションでは、以前に作成した AKS インスタンスを使って WLS クラスターをプロビジョニングする方法について説明します。 このオファーでは、カスタム仮想ネットワーク内の既存のクラスターを使用し、ロード バランサーとして Azure Application Gateway を使用してクラスター ノードをエクスポートします。 このオファーでは、Application Gateway TLS/SSL 終了用の自己署名証明書が自動的に生成されます。 Application Gateway での TLS/SSL 終端の高度な使用方法については、「Application Gateway Ingress Controller」を参照してください。

まず、 AKS ユーザー ガイドの Oracle WebLogic Server の説明に従って WebLogic Server をデプロイするプロセスを開始しますが、次のスクリーンショットに示すように、 AKS ペインに到達したらこのページに戻ります。

[Create Oracle WebLogic Server on Azure Kubernetes Service] (Oracle WebLogic Server on Azure Kubernetes Service の作成) ページの [Configure AKS cluster] (AKS クラスターの構成) ペインを示す Azure portal のスクリーンショット。

AKS クラスターを構成する

仮想ネットワーク内に AKS クラスターを用意したら、デプロイの AKS クラスターを選びます。

  1. [Create a new AKS cluster?] (新しい AKS クラスターを作成しますか?) には [いいえ] を選びます。
  2. [Select AKS cluster] (AKS クラスターの選択) のドロップダウン メニューを開き、作成した AKS クラスター (この例では myAKSCluster という名前) を選びます。
  3. [Use a pre-existing, WebLogic Server Docker image from Oracle Container Registry?] (Oracle Container Registry から既存の WebLogic Server Docker イメージを使用する) には [はい] を選びます。
  4. [Create a new Azure Container Registry to store application images?] (アプリケーション イメージを格納するために新しい Azure コンテナー レジストリを作成する) には [はい] を選びます。
  5. [Username for Oracle Single Sign-on authentication] (Oracle シングル サインオン認証のユーザー名) に、Oracle シングル サインオン アカウントのユーザー名を入力します。
  6. [Password for Oracle Single Sign-on authentication] (Oracle シングル サインオン認証のパスワード) に、そのアカウントのパスワードを入力します。
  7. [パスワードの確認] に、前のフィールドの値をもう一度入力します。
  8. [ Deploy an application]\(アプリケーションのデプロイ\) を除く他のすべてのフィールドでは、既定値をそのまま使用します。
  9. [ アプリケーションのデプロイ] で、[ はい] を選択します。
  10. [アプリケーション パッケージ (.war、.ear、.jar)] には [参照] を選びます。
    • 作成したストレージ アカウントを選択します。 この例では、stgwlsaks で始まる名前です。
    • [コンテナー] ページでコンテナーを選びます。 この例では、mycontainer を使用します。
    • コンテナー内に一覧表示されているアプリケーションを確認します。 この例では、testwebapp.war を使います。
    • [選択] を選択します。
  11. その他のフィールドは、既定値のままにしておきます。

AKS クラスター、WebLogic 基本イメージ、Jakarta EE アプリケーションが構成されました。

次に、負荷分散を構成します。 このタスクでは、引き続き AKS 上の Oracle WebLogic Server ユーザー ガイドの手順に従いますが、次のスクリーンショットに示すように、 負荷分散に達したらこのページに戻ります。 次のセクションを使用して負荷分散を構成し、AKS の WLS ユーザー ガイドに戻ってデプロイを完了します。

[Create Oracle WebLogic Server on Azure Kubernetes Service] (Oracle WebLogic Server on Azure Kubernetes Service の作成) ページの [ネットワーク] ペインを示す Azure portal のスクリーンショット。

Application Gateway イングレス コントローラーを構成する

次の手順を使って、仮想ネットワーク内の Application Gateway イングレス コントローラーを構成します。

  1. [Connect to Azure Application Gateway?] (Azure Application Gateway に接続しますか?) には [はい] を選びます。
  2. [仮想ネットワークの構成][仮想ネットワーク] には、作成した仮想ネットワークを選びます。 この例では、myVNet 内の myResourceGroup を使います。 [サブネット] には Application Gateway のサブネットを選びます。 この例では、myAppGatewaySubnet を使用します。
  3. [Select desired TLS/SSL certificate option] (TLS/SSL 証明書オプションの選択) には [Generate a self-signed front-end certificate] (自己署名フロントエンド証明書の生成) を選びます。
  4. [Create ingress for Administration Console] (管理コンソールのイングレスを作成する) には [はい] を選び、WebLogic 管理コンソールを公開します。
  5. 他のフィールドは既定値のままにします。

これで、Oracle WebLogic Server on AKS ユーザー ガイドで説明されているように、WLS デプロイの他の側面に進むことができます。

WLS の正常なデプロイを検証する

このセクションでは、WLS クラスターと Application Gateway イングレス コントローラーが正常にデプロイされたことを迅速に確認する方法について説明します。

デプロイが完了したら、[ 出力] を選択し、WebLogic 管理コンソールとクラスターの外部 URL を見つけます。 これらのリソースには、次の手順に従ってアクセスします。

  • WebLogic 管理コンソールを表示するには、まず出力変数 adminConsoleExternalUrl の値をコピーします。 次に、その値をブラウザーのアドレス バーに貼り付けて Enter キーを押し、WebLogic 管理コンソールのサインイン ページを開きます。
  • WebLogic クラスターを表示するには、まず出力変数 clusterExternalUrl の値をコピーします。 次に、この値を使って、次のテンプレートに適用してサンプル アプリケーションの URL を構築します: ${clusterExternalUrl}testwebapp/。 次に、アプリケーション URL をブラウザーのアドレス バーに貼り付けて Enter キーを押します。 サンプル アプリケーションは、Application Gateway イングレス コントローラーがルーティングしているポッドのプライベート アドレスとホスト名を示しています。

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

WLS クラスターを引き続き使う予定がない場合は、次の Azure portal の手順に従って仮想ネットワークと WLS クラスターを削除します。

  1. リソース グループ myResourceGroup の [概要] ページに移動し、[リソース グループの削除] を選びます。
  2. WLS on AKS プランをデプロイしたリソース グループの [概要] ページにアクセスし、[リソース グループの削除] を選びます。

次のステップ

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