この章では、JVM as a Serviceのミドルウェア・セルフ・サービス・ポータルを設定する手順について説明します。内容は次のとおりです。
EM_SSA_ADMINISTRATOR
は、ミドルウェア・プールの作成、割当て制限の設定、リクエスト設定の定義、サービス・テンプレートの作成およびチャージバックの構成により、JVMクラウド・セルフ・サービス・ポータルを構成および設定できます。
Javaアプリケーション・サービスを設定するには、次の手順に従います。
1つ以上のPaaSインフラストラクチャ・ゾーンを設定します。詳細は、第11.2.2.1項「PaaSインフラストラクチャ・ゾーンの作成」を参照してください。
ミドルウェア・プールを作成します。第25.2項「ミドルウェア・プールの作成」を参照してください。
リクエスト設定を構成します。第25.4項「リクエスト設定の構成」を参照してください。
各セルフ・サービス・ユーザー・ロールの割当て制限を定義します。第25.5項「割当て制限の設定」を参照してください。
サービス・テンプレートを作成します。第27.4項「Javaアプリケーション・プロファイルに基づくサービス・テンプレートの作成」を参照してください。
オプションで、チャージバック・サービスを構成できます。第25.7項「チャージバックの構成」を参照してください。
独自のカスタム・プロファイルを作成する場合は、必須とオプションのパラメータをすべて含めてXMLファイルを作成する必要があります。これは、tomcatService
のプロファイルの作成方法を示す次の例を使用して説明します。
「内部名」や「所有者」など、プロファイルの定義に必要な必須の詳細すべてを入力します。また、プロファイルの表示名や簡単な説明を指定することもできます。次に、プラットフォーム情報、製品リスト、製品の表示名などを指定する必要があります。
<?xml version="1.0"?> <mw:profile xmlns:mw="http://xmlns.oracle.com/mw/profile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/mw/profile ../../../../../../../../FmwProvisioningPojo/src/oracle/sysman/fmw/provisioning/pojo/profile/genericProfile.xsd" name="TomcatProfile4" vendor="Oracle" version="1.0" content="softwareOnly"> <mw:displayName> Tomcat As A Service with Free Ports </mw:displayName> <mw:description> Profile for Provisioning single Node Tomcat Server with Bundled Application. </mw:description> <mw:platformInfo os="Linux" platform="x86-64" platformId="226"/> <mw:products> <mw:product name="Tomcat" version="10.3.6.0"> <mw:displayName> Tomcat Bundled With Application </mw:displayName> </mw:product> </mw:products>
このプロファイルを使用してプロビジョニングされた各サービス・インスタンスは、空きポートで提供されます。これらは、プロファイルの指定どおりに使用できます。PORT_RANGE_START
、PORT_RANGE_END
およびPORTS_COUNT
に値を指定する必要があります。
PORT_RANGE_START
およびPORT_RANGE_END
では、指定されるポート値の範囲を定義します。何も指定しないと、デフォルトでそれぞれ2000と3000が指定されたとみなされます。
PORTS_COUNT
では、サービスで必要とされるポートの数を定義します。定義しない場合、いずれのポートもサービスに割り当てられません。
<mw:properties> <mw:stringProperty name="PORT_RANGE_START" value="2000"/> <mw:stringProperty name="PORT_RANGE_END" value="3000"/> <mw:stringProperty name="PORTS_COUNT" value="3"/> </mw:properties>
プロファイルXMLファイルに定義されたプロビジョニング、起動、停止、削除などのアクションは、サービス・インスタンスのライフサイクルの異なるフェーズで実行されます。
プロビジョニング・アクションによって、サービス・インスタンスの最初の作成方法が決定されます。ソフトウェアの設定と構成が、このステップの一部として実行されます。ここで次のパラメータを定義する必要があります。
ペイロード: プロファイルに含める実際のアプリケーション。
プロシージャ: 実行時に動的に置換される変数。
起動アクションでは、プロビジョニングされるソフトウェアの起動方法を定義します。
停止アクションでは、プロビジョニングされるソフトウェアの停止方法を定義します。
削除アクションでは、サービス・インスタンスを削除します。クリーンアップ・アクションがこのステップの一部として実行されます。
プロビジョニング: このアクションはEnterprise Managerでアプリケーションをプロビジョニングします。
<!-- [Mandatory] Action list --> <mw:actions default="provision"> <mw:action name="provision" retryFrom="first"> <!-- [Optional] Display name and description --> <mw:displayName> Provision Tomcat Server </mw:displayName> <mw:description> This action provisions only the Oracle Home from the profile. </mw:description> <!-- [Mandatory] Define the complete command including the executable and parameters --> <!-- EL is supported, variables can be taken from 3 sources: env, procedure and profile --> <mw:command name="createDirectory" executable="mkdir" errorMode="continue"> <mw:param value="-p"/> <mw:param value="#{procedure.STAGING_DIRECTORY}" required="true"/> </mw:command> <mw:command name="unpack" executable="#{procedure.JAVA_HOME}/bin/jar" directory="#{procedure.STAGING_DIRECTORY}"> <mw:param value="-xvf"/> <mw:param value="#{payload:tomcat_app.jar}" required="true"/> </mw:command> <mw:command name="configure" executable="/bin/sh" directory="#{procedure.STAGING_DIRECTORY}"> <mw:param value="#{payload:fixpath_tc.sh}" required="true"/> <mw:param value="#{procedure.FREE_PORTS}"/> <mw:env name="SERVICE_HOME" value="#{procedure.STAGING_DIRECTORY}" /> </mw:command> </mw:action>
プロビジョニング・ステップの一部として、ステージング・ディレクトリでservice.out
ファイルを作成する必要があります(このファイルでは、変数jvm_jmx_port
およびjvm_service_console_url
を定義する必要があります)。
たとえば、前述のXMLファイルには、jvm_jmxポートとjvmサービスURLを出力するfixpath_tc.sh
というシェル・スクリプトがあります。スクリプトの内容は次のとおりです。
echo "jvm_jmx_port=${PORT_LIST[1]}" >> $SERVICE_HOME/service.out echo "jvm_service_console_url=http://$HOSTNAME:${PORT_LIST[0]}/tc_hello/HelloWorld" >> $SERVICE_HOME/service.out
service.out
ファイルは、ステージング・ディレクトリに配置される必要があります。このファイルには、定義された変数の値が含まれます。たとえば、次のようになります。
jvm_jmx_port=2610 jvm_service_console_url=http://blr2201958.idc.oracle.com:2482/tc_hello/HelloWorld
注意: このステップは、Enterprise Manager CloudコンソールでJavaアプリケーション・サービス・ターゲットを検出しようとする場合に必須です。
起動: このアクションはプロビジョニング済のアプリケーションを起動します。
<mw:action name="start"> <!-- [Optional] Display name and description --> <mw:displayName> Start Tomcat Server </mw:displayName> <mw:description> This action Starts the provisioned Tomcat Server </mw:description> <!-- [Mandatory] Define the complete command including the executable and parameters --> <!-- EL is supported, variables can be taken from 3 sources: env, procedure and profile --> <mw:command name="StartTomcat" executable="/bin/sh" errorMode="continue" background="true" directory="#{procedure.STAGING_DIRECTORY}"> <mw:param value="#{procedure.STAGING_DIRECTORY}/apache-tomcat-7.0.54/bin/startup.sh" required="true"/> </mw:command> </mw:action>
停止: このアクションはプロビジョニング済のアプリケーションを停止します。
<mw:action name="stop"> <!-- [Optional] Display name and description --> <mw:displayName> Start Tomcat Server </mw:displayName> <mw:description> This action stops the provisioned Tomcat Server </mw:description> <!-- [Mandatory] Define the complete command including the executable and parameters --> <!-- EL is supported, variables can be taken from 3 sources: env, procedure and profile --> <mw:command name="stopTomcat" executable="/bin/sh" errorMode="continue" directory="#{procedure.STAGING_DIRECTORY}" > <mw:param value="apache-tomcat-7.0.54/bin/shutdown.sh" required="true"/> </mw:command> </mw:action> <mw:action name="delete"> <!-- [Optional] Display name and description --> <mw:displayName> Remove Tomcat Server </mw:displayName> <mw:description>
削除: このアクションはプロビジョニング済のアプリケーションを停止して削除します。
</mw:description> <!-- [Mandatory] Define the complete command including the executable and parameters --> <!-- EL is supported, variables can be taken from 3 sources: env, procedure and profile --> <mw:command name="stopTomcat" executable="/bin/sh" errorMode="continue" directory="#{procedure.STAGING_DIRECTORY}" > <mw:param value="apache-tomcat-7.0.54/bin/shutdown.sh" required="true"/> </mw:command> <mw:command name="removeTomcat" executable="rm" errorMode="continue" directory="#{procedure.STAGING_DIRECTORY}" > <mw:param value="-rf"/> <mw:param value="#{procedure.STAGING_DIRECTORY}" required="true"/> </mw:command> </mw:action> </mw:actions>
Enterprise ManagerでのJVMターゲットの検出はデフォルトでサポートされています。これを行うには、次のようにoracle.sysman.emas.mwc.jvmaas.discovery.JVMTargetDiscovery
スクリプトを実行します。
<mw:discovery className="oracle.sysman.emas.mwc.jvmaas.discovery.JVMTargetDiscovery" dpName="JVMDiscovery"/> </mw:profile>
すでに作成したカスタムXMLスクリプトを使用してプロファイルを作成するには、次のコマンドを実行します。
emcli create_mw_profile -input_file=propertiesXml:"/scratch/profile/genericProfiles/profile/tomcatService.xml" -host=blr2201958.idc.oracle.com -files="/scratch/profile/genericProfiles/profile/tomcat_app.jar,/scratch/profile/genericProfiles/profile/fixpath_tc.sh" Where, tomcatService.xml is the input file that describes the characteristics of the profile. blr2201958.idc.oracle.com is the host target where the stored during provisioning. tomcat_app.jar and fixpath_tc.sh are the files that have to be uploaded to Software Library.
プロファイルが作成された後でそのプロファイルにアクセスするには、Enterprise Manager Cloudコンソールにログインして、ソフトウェア・ライブラリ・ホームページに移動する必要があります。これには、「エンタープライズ」メニューから「パッチ適用とプロビジョニング」を選択し、「ソフトウェア・ライブラリ」をクリックします。ソフトウェア・ライブラリ・ホームページでミドルウェア・プロビジョニング汎用プロファイル・フォルダの下に新規プロファイルが表示されます。あるいは、emcli list_mw_profile
コマンドを実行してプロファイルの詳細を表示することができます。
注意: プロファイルの特定のアクションで使用されるパラメータをすべてリストするには、emcliコマンドのlist_prov_parametersを使用します。たとえば、tomcatService
プロファイルのアクション・プロビジョニングで使用されるすべてのパラメータの場合、次のコマンドを実行します。
emcli list_prov_parameters -profile="Middleware Provisioning/Generic Profile/tomcatService" -action="provision"
前提条件
カスタマイズされたミドルウェア・プロビジョニング・プロファイルをXMLファイルを使用して作成します。詳細は27.2項を参照してください。
汎用プロビジョニング・プロファイルの作成については、「ミドルウェア・プロビジョニング・プロファイルの作成」を参照してください。
ソフトウェア・ライブラリにプロファイルをアップロードします。詳細は27.3項を参照してください。
ミドルウェア・サービス・テンプレートは、ミドルウェア・プールでサービス・インスタンスをプロビジョニングするために使用できるサービス定義です。
注意: アクティブ・インスタンスを持つサービス・テンプレートを編集し、構成パラメータを変更できます。サービス・テンプレートが変更された場合:
|
Javaアプリケーションのプロファイルを作成するには、次の手順に従います。
EM_SSA_ADMINISTRATOR
ロールを持つユーザーとして、Enterprise Managerにログインします。
「エンタープライズ」メニューから「クラウド」を選択し、「クラウド・ホーム」を選択します。クラウド・ホームページが表示されます。
「Oracle Cloud」メニューから「設定」を選択し、「はじめに」を選択します。特定のサービス・ファミリを設定する前に実行する必要がある一般的なタスクが表示されます。左パネルのミドルウェア・サービス・ファミリの横の「設定」リンクをクリックします。
ドロップダウン・メニューから「Javaアプリケーション・サービス」を選択して、「サービス・テンプレート」をクリックします。
Javaアプリケーション・サービス: サービス・テンプレート・ページで「作成」をクリックします。
サービス・テンプレートの名前と説明を入力します。説明は一意で、作成するサービス・テンプレートのタイプに関する情報を指定する必要があります。
テンプレートの作成に使用するJavaアプリケーション・プロファイルを選択します。検索アイコンをクリックし、「ソフトウェア・ライブラリ・コンポーネントの選択」ダイアログ・ボックスで、テンプレートを選択して、「選択」をクリックします。
「次」をクリックします。特性ページで、ターゲットのプロパティのタグ付けと識別に使用される特性を指定します。テンプレートから作成されたサービス・インスタンスには特性があります。
「次」をクリックします。ミドルウェア・サービス・テンプレートの作成: リソース・プロバイダ・ページで「追加」をクリックして、サービス・インスタンスをプロビジョニングできるミドルウェア・プールを選択します。ミドルウェア・プールが関連付けられているPaaSインフラストラクチャ・ゾーンが表示されます。
「次」をクリックします。「構成」ページで、プロシージャ変数を含むカスタムXMLファイルでの定義として、またはinput.properties
ファイルの一部としてすべてのパラメータ(名前/値ペア)を参照できます。このページを使用して、プロパティの新しい値を入力するか、既存の値を更新します。また、ロックや非表示などの機能もサポートされており、パラメータのページの対応するチェック・ボックスを選択して、パラメータの値をロックしたり非表示にすることができます。
たとえば、サービス・テンプレートのOracle_INVENTORY
の値をロックした場合、このテンプレートを使用してサービスをリクエストしたときに、このパラメータが読取り専用で編集できないことがわかります。
「次」をクリックします。ロール・ページで「追加」をクリックし、このサービス・テンプレートを使用可能にするセルフ・サービス・ユーザー・ロールを選択します。選択したロールに属するすべてのユーザーが、このサービス・テンプレートを使用できます。
「次」をクリックします。入力したすべての情報を確認し、「発行」をクリックします。新しく作成されたサービス・テンプレートが、ミドルウェア・クラウド・セルフ・サービス・ポータルの設定: サービス・テンプレート・ページに表示されます。「サービス・テンプレート名」リンクをクリックして、追加の詳細を表示できます。