チュートリアル:Azure Application Gateway をロード バランサーとして使用して WebLogic Server クラスターを Azure に移行する
このチュートリアルでは、Azure Application Gateway を使用して WebLogic Server (WLS) をデプロイするプロセスについて説明します。 ここでは、Key Vault を作成し、Tls/SSL 証明書を Key Vault に格納し、その証明書を TLS/SSL 終了に使用するための具体的な手順について説明します。 これらの要素はすべて独自の権利で十分に文書化されていますが、このチュートリアルでは、Azure 上の WLS 用のシンプルで強力な負荷分散ソリューションを作成するために、これらの要素がすべてまとめられている具体的な方法を示します。
負荷分散は、Oracle WebLogic Server クラスターを Azure に移行する際に不可欠な部分です。 最も簡単な解決策は、Azure Application Gatewayの組み込みサポートを使用することです。 App Gateway は、Azure での WebLogic クラスターのサポートの一部として含まれています。 Azure での WebLogic クラスターのサポートの概要については、「Azure 上の Oracle WebLogic Server とは 」を参照してください。.
このチュートリアルでは、次の方法について説明します。
- App Gateway に TLS/SSL 証明書を提供する方法を選択する
- Azure Application Gateway を使用して WebLogic Server を Azure にデプロイする
- WLS と App Gateway の正常なデプロイを検証する
前提 条件
UNIX に似たコマンド ライン環境を実行しているコンピューターで OpenSSL を実行します。
証明書管理に使用できるツールは他にもありますが、このチュートリアルでは OpenSSL を使用します。 Ubuntu などの多くの GNU/Linux ディストリビューションにバンドルされている OpenSSL を見つけることができます。
アクティブな Azure サブスクリプション。
- Azure サブスクリプションをお持ちでない場合は、無料アカウント作成
。
- Azure サブスクリプションをお持ちでない場合は、無料アカウント作成
Oracle WebLogic Server Azure Applicationsに記載されているいずれかの WLS Azure アプリケーションをデプロイする機能。
移行コンテキスト
オンプレミスの WLS インストールと Azure Application Gateway の移行について考慮すべき点を次に示します。 このチュートリアルの手順は、Azure 上の WebLogic Server クラスターの前でロード バランサーを立ち上げる最も簡単な方法ですが、他にも多くの方法があります。 この一覧には、考慮すべきその他の事項が示されます。
- 既存の負荷分散ソリューションがある場合は、その機能が Azure Application Gateway によって満たされているか、超過していることを確認してください。 他の Azure 負荷分散ソリューションと比較した Azure Application Gateway の機能の概要については、「Azureの負荷分散オプションの概要」を参照してください。
- 既存の負荷分散ソリューションで一般的な悪用や脆弱性からのセキュリティ保護が提供されている場合は、Application Gateway で説明しています。 Application Gateway の組み込みの Web アプリケーション ファイアウォール (WAF) は、OWASP (Open Web Application Security Project) のコア 規則セット実装します。 Application Gateway での WAF のサポートの詳細については、Azure Application Gateway の機能の「
Web Application Firewall 」セクション参照してください。 - 既存の負荷分散ソリューションでエンドツーエンドの TLS/SSL 暗号化が必要な場合は、このガイドの手順に従った後で追加の構成を行う必要があります。 「
Application Gateway を使用した TLS 終了とエンド ツー エンド TLS の概要」の「エンド ツー エンド TLS 暗号化の 」セクションと、Oracle Fusion Middlewareでの SSL の構成に関する Oracle のドキュメントを参照してください。 - クラウド用に最適化している場合、このガイドでは、Azure App Gateway と WLS を使用して最初から開始する方法について説明します。
- WebLogic Server から Azure Virtual Machines への移行に関する包括的な調査については、「WebLogic Server アプリケーションを Azure Virtual Machinesに移行する」を参照してください。
Application Gateway を使用して WebLogic Server を Azure にデプロイする
このセクションでは、クラスター ノードのロード バランサーとして自動的に作成された Azure Application Gateway を使用して WLS クラスターをプロビジョニングする方法について説明します。 Application Gateway は、指定された TLS/SSL 証明書を TLS/SSL 終了に使用します。 Application Gateway での TLS/SSL 終了の詳細については、「Application Gatewayを使用した TLS 終了とエンド ツー エンド TLS の概要」を参照してください。
WLS クラスターと Application Gateway を作成するには、次の手順に従います。
最初に、Oracle ドキュメントの
App Gateway に TLS/SSL 証明書を提供する方法を選択する
TLS/SSL 証明書をアプリケーション ゲートウェイに提供するオプションはいくつかありますが、選択できるのは 1 つだけです。 このセクションでは、デプロイに最適なオプションを選択できるように、各オプションについて説明します。
オプション 1: TLS/SSL 証明書をアップロードする
このオプションは、App Gateway がパブリック インターネットに接続する運用ワークロードや、TLS/SSL を必要とするイントラネット ワークロードに適しています。 このオプションを選択すると、App Gateway で使用される TLS/SSL 証明書を含む Azure Key Vault が自動的にプロビジョニングされます。
既存の署名済みの TLS/SSL 証明書をアップロードするには、次の手順を使用します。
- 証明書発行者の手順に従って、パスワードで保護された TLS/SSL 証明書を作成し、証明書の DNS 名を指定します。 ワイルドカード証明書と単一名証明書の選択方法については、このドキュメントでは説明しません。 どちらでもここで動作します。
- PFX ファイル形式を使用して発行者から証明書をエクスポートし、ローカル コンピューターにダウンロードします。 発行者が PFX としてのエクスポートをサポートしていない場合は、多くの証明書形式を PFX 形式に変換するためのツールが存在します。
- [Azure Application Gateway] セクションを選択します。
- [Azure Application Gateway に接続] で、[はい]を選択します。
- [SSL 証明書のアップロード] を選択します。
- フィールド の SSL 証明書のファイルブラウザーアイコンを選択します。 ダウンロードした PFX 形式の証明書に移動し、[を開く] を選択します。
- [パスワード] ボックスと [パスワードの確認] ボックスに証明書のパスワードを入力します。
- マネージド サーバーのノードへのパブリック トラフィックを直接拒否するかどうかを選択します。 [はい] を選択すると、管理対象サーバーは App Gateway 経由でのみアクセスできるようになります。
DNS 構成の選択
TLS/SSL 証明書は、証明書発行者によって発行された時点で DNS ドメイン名に関連付けられます。 このセクションの手順に従って、証明書の DNS 名を使用してデプロイを構成します。 既に作成した DNS ゾーンを使用することも、デプロイで作成できるようにすることもできます。 [DNS 構成] セクションを選択して続行します。
既存の Azure DNS ゾーンを使用する
App Gateway で既存の Azure DNS ゾーンを使用するには、次の手順に従います。
- [カスタム DNS エイリアスの構成] で、[はい] を選択します。
- [既存の Azure DNS ゾーンを使用する] の横で、[はい]を選択します。
- [DNS ゾーン名]の横に Azure DNS ゾーンの名前を入力します。
- 前の手順の Azure DNS ゾーンを含むリソース グループを入力します。
デプロイで新しい Azure DNS ゾーンを作成できるようにする
App Gateway で使用する Azure DNS ゾーンを作成するには、次の手順に従います。
- [カスタム DNS エイリアスの構成] で、[はい] を選択します。
- 次に、[既存の Azure DNS ゾーンを使用する] の隣で [いいえ] を選択します。
- [DNS ゾーン名]の横に Azure DNS ゾーンの名前を入力します。 新しい DNS ゾーンは、WLS と同じリソース グループに作成されます。
最後に、子 DNS ゾーンの名前を指定します。 デプロイでは、WLS で使用する 2 つの子 DNS ゾーンが作成されます。1 つは管理コンソール用、1 つは App Gateway 用です。 たとえば、DNS ゾーン名 が contoso.netされた場合は、管理者 と アプリの を値として入力できます。 管理コンソールは admin.contoso.net
で使用でき、アプリ ゲートウェイは app.contoso.net
で使用できます。 「Azure DNSを使用した DNS ゾーンの委任」の説明に従って、DNS 委任を設定することを忘れないでください。
App Gateway に TLS/SSL 証明書を提供するためのその他のオプションについては、次のセクションで詳しく説明します。 選択したオプションに問題がなければ、「デプロイの続行」セクションに進むことができます。
オプション 2: Azure Key Vault を識別する
このオプションは、提供される TLS/SSL 証明書に応じて、運用ワークロードまたは非運用ワークロードに適しています。 デプロイで Azure Key Vault を作成したくない場合は、既存のものを識別するか、自分で作成できます。 このオプションでは、続行する前に、証明書とそのパスワードを Azure Key Vault に格納する必要があります。 使用する既存の Key Vault がある場合は、「TLS/SSL 証明書の作成」セクション
Azure Key Vault を作成する
このセクションでは、Azure portal を使用して Azure Key Vault を作成する方法について説明します。
- Azure portal メニューから、または
ホーム ページで、[リソースの作成]選択します。 - [検索] ボックスに、Key Vaultを入力します。
- 結果の一覧の [Key Vault] を選択します。
- [Key Vault] セクションで、[作成] を選択します。
- [キー コンテナーの作成] セクションで、次の情報を入力します。
- サブスクリプション: サブスクリプションを選択します。
- [リソース グループ] で、[新規作成] を選択し、リソース グループ名を入力します。 Key Vault 名を書き留めておきます。 後で WLS をデプロイするときに必要になります。
- Key Vault 名: 一意の名前にする必要があります。 Key Vault 名を書き留めておきます。 後で WLS をデプロイするときに必要になります。
手記
リソース グループ とキー コンテナー名の両方に同じ名前を使用できます。 - 場所 プルダウン メニューで、場所を選択します。
- その他のオプションは既定値のままにします。
- 「次へ:アクセス ポリシー」を選択します。
- [アクセスの有効化] で [Azure Resource Manager (テンプレートの展開用)] を選択します。
- を選択して確認し、を作成します。
- [作成] を選択します。
キー ボールトの作成はかなり軽量で、通常は 2 分未満で完了します。 デプロイが完了したら、[リソース に移動] を選択し、次のセクションに進みます。
TLS/SSL 証明書を作成する
このセクションでは、Azure 上の WebLogic Server と共にデプロイされた Application Gateway で使用するのに適した形式で自己署名 TLS/SSL 証明書を作成する方法について説明します。 証明書には空でないパスワードが必要です。 .pfx 形式の有効な空でないパスワード TLS/SSL 証明書が既にある場合は、このセクションをスキップして次に進むことができます。 既存の有効な空でないパスワード TLS/SSL 証明書が .pfx 形式でない場合は、次のセクションにスキップする前に、最初に .pfx ファイルに変換します。 それ以外の場合は、コマンド シェルを開き、次のコマンドを入力します。
手記
このセクションでは、Key Vault にシークレットとして格納する前に、証明書を Base 64 でエンコードする方法について説明します。 これは、WebLogic Server と Application Gateway を作成する基になる Azure デプロイで必要です。
証明書を作成して Base 64 でエンコードするには、次の手順に従います。
RSA PRIVATE KEY
を作成しますopenssl genrsa 2048 > private.pem
対応する公開キーを作成します。
openssl req -x509 -new -key private.pem -out public.pem
OpenSSL ツールのプロンプトが表示されたら、いくつかの質問に答える必要があります。 これらの値は証明書に含まれます。 このチュートリアルでは自己署名証明書を使用するため、値は関係ありません。 次のリテラル値は問題ありません。
- [国名 には、2 文字のコードを入力します。
- 州名または都道府県名に「WA」と入力します。
- [組織名]に「Contoso」と入力します。 [組織単位名] に「billing」と入力してください。
- [共通名 には、「Contoso」と入力します。
- [電子メール アドレス に「billing@contoso.com」と入力します。
証明書を .pfx ファイルとしてエクスポートする
openssl pkcs12 -export -in public.pem -inkey private.pem -out mycert.pfx
パスワードを 2 回入力します。 パスワードを書き留めます。 後で WLS をデプロイするときに必要になります。
Base 64 で mycert.pfx ファイル
エンコードする base64 mycert.pfx > mycert.txt
Key Vault と有効な TLS/SSL 証明書と空でないパスワードが用意されたので、その証明書を Key Vault に格納できます。
TLS/SSL 証明書を Key Vault に格納する
このセクションでは、前のセクションで作成した Key Vault に証明書とそのパスワードを格納する方法について説明します。
証明書を保存するには、次の手順に従います。
- Azure portal で、ページの上部にある検索バーにカーソルを置き、チュートリアルで前に作成した Key Vault の名前を入力します。
- Key Vault は、リソース セクションの下に表示されます。 それを選択します。
- [設定] セクションで、[シークレット ] を選択します。
- [Generate/Import](生成/インポート) を選択します。
- [アップロード オプション]で、既定値のままにします。
- [名前] に、「
myCertSecretData
」または任意の名前を入力します。 - 値に、mycert.txt ファイルの内容を入力します。 値の長さと改行の有無は、テキスト フィールドの問題ではありません。
- 残りの値を既定値のままにして、[の作成] を選択します。
証明書のパスワードを保存するには、次の手順に従います。
- シークレット ページに戻ります。 [Generate/Import](生成/インポート) を選択します。
- [アップロード オプション]で、既定値のままにします。
- [名前] に、「
myCertSecretPassword
」または任意の名前を入力します。 - 値で、証明書のパスワードを入力します。
- 残りの値は既定値のままにし、[作成] を選択します。
- シークレット ページに戻ります。
Key Vault を識別する
署名された TLS/SSL 証明書とそのパスワードがシークレットとして格納された Key Vault が作成されたので、Azure Application Gateway セクションに戻り、デプロイ用の Key Vault を識別します。
- KeyVaultを含む現在のサブスクリプション
リソース グループ名に、先ほど作成した Key Vault を含むリソース グループの名前を入力します。 - [Name of the Azure KeyVault containing secrets for the Certificate for SSL Termination]\(SSL 終端用の証明書のシークレットを含む Azure KeyVault の名前\) に、Key Vault の名前を入力します。
- [The name of the secret in the specified KeyVault whose value is the SSL Certificate Data]\(値が SSL 証明書データである、指定した KeyVault 内のシークレットの名前\) に、「
myCertSecretData
」または以前に入力した名前を入力します。 - 指定された KeyVault 内で、SSL 証明書のパスワードを値とするシークレットの名前として、
に または以前に入力した任意の名前を入力します。 - [確認および作成] を選択します。
- [作成] を選択します。 これにより、Key Vault から証明書を取得でき、そのパスワードが Key Vault のパスワードに格納した値と一致する検証が行われます。 この検証手順が失敗した場合は、Key Vault のプロパティを確認し、証明書が正しく入力されていることを確認し、パスワードが正しく入力されていることを確認します。
- [検証に成功しました] が表示されたら、[作成] を選択します。
これにより、WLS クラスターとそのフロントエンド Application Gateway の作成プロセスが開始されます。これには約 15 分かかる場合があります。 デプロイが完了したら、[リソース グループに移動]
App Gateway に TLS/SSL 証明書を提供するための最後のオプションについては、次のセクションで詳しく説明します。 選択したオプションに問題がなければ、「デプロイの続行」セクションに進むことができます。
オプション 3: 自己署名証明書を生成する
このオプションは、テストおよび開発のデプロイにのみ適しています。 このオプションでは、Azure Key Vault と自己署名証明書の両方が自動的に作成され、証明書が App Gateway に提供されます。
これらのアクションを実行するようにデプロイを要求するには、次の手順を使用します。
- 「Azure App Gateway」セションで、[自己署名証明書を生成する] を選択します。
- ユーザー割り当てマネージド ID を選択します。 これは、デプロイで Azure Key Vault と証明書を作成できるようにするために必要です。
- ユーザー割り当てマネージド ID がまだない場合は、[ の追加] を選択して作成プロセスを開始します。
- ユーザー割り当てマネージド ID を作成するには、「Azure portalを使用して、ユーザー割り当てマネージド ID の作成、一覧表示、削除、またはロールの割り当てを行う
」の「 ユーザー割り当てマネージド ID の作成」セクションの手順に従います。 ユーザー割り当てマネージド ID を選択したら、ユーザー割り当てマネージド ID の横にあるチェック ボックスがオンになっていることを確認します。
デプロイを続行する
Oracle ドキュメントで
WLS と App Gateway の正常なデプロイを検証する
このセクションでは、WLS クラスターと Application Gateway のデプロイが成功したことを迅速に検証する手法を示します。
前のセクションの最後において、「リソース グループ に移動」と「myAppGateway」を選択していた場合、Application Gatewayの概要ページを表示しているはずです。 そうでない場合は、Azure portal の上部にあるテキスト ボックスに「myAppGateway
」と入力し、表示される正しいページを選択することで、このページを見つけることができます。 WLS クラスター用に作成したリソース グループ内の 1 つを選択してください。 次に、次の手順を実行します。
- myAppGatewayの概要ページの左側のウィンドウで、監視 セクションまで下にスクロールし、[バックエンドの正常性] を選択します。
- の読み込み メッセージが消えると、画面の中央に、バックエンド プール内のノードとして構成されたクラスターのノードを示すテーブルが表示されます。
- 各ノードのステータスが Healthy であることを確認します。
リソースのクリーンアップ
WLS クラスターを引き続き使用しない場合は、次の手順で Key Vault と WLS クラスターを削除します。
- 前のセクションに示すように、myAppGateway
の概要ページを参照してください。 - ページの上部にあるリソース グループ
テキストの下で、リソース グループを選択します。 - [リソース グループ
削除] を選択します。 - 入力フォーカスは、[リソース グループ名を入力してください] というラベルのフィールドに設定されます。 要求に応じてリソース グループ名を入力します。
- これにより、[削除] ボタンが有効になります。 「削除」ボタンを選択します。 この操作には時間がかかりますが、削除の処理中に次の手順に進むことができます。
- 「TLS/SSL 証明書を Key Vault に格納する」セクションの最初の手順に従って、Key Vault を見つけます。
- を選択し、を削除します。
- 表示されるペインで を選択し、 を削除します。
次の手順
Azure で WLS を実行するためのオプションを引き続き調べる。
Azure 上の Oracle WebLogic Server の詳細を確認する