機械翻訳について

Create Domain Tool

Create Domain Toolでは、モデルとWLSTをオフラインで使用してドメインを作成します。 ツールを使用するには、次に示すように、モデルのdomainInfoセクションにドメインの管理パスワードを指定する必要があります。

domainInfo:
    AdminPassword: welcome1

前述のモデルを使用して、createDomainツールを実行し、WebLogic Serverドメインを作成する場所を指定します。

$ weblogic-deploy\bin\createDomain.cmd -oracle_home c:\wls12213 -domain_parent d:\demo\domains -model_file MinimalDemoDomain.yaml

明らかに、テンプレート定義のサーバーのみを使用して空のドメインを作成することはあまり面白くありませんが、この例では、モデルのスパースがより強まるようになります。 Create Domain Toolを実行する場合は、モデル・ファイルを指定する必要があります。 外部ファイルへの参照は、すでに存在するか、アーカイブ・ファイルに含まれている必要があります。 モデルがアーカイブ・ファイルへの1つ以上のパス(wlsdeploy/applications/myapp.warなど)を参照する場合、-archive_file <archive-file-name>が指定されていないか、指定されたアーカイブ・ファイルに指定されたパスが含まれていないと、Create Domain Toolでエラーが生成されます。

アーカイブ・ファイルとその構造の詳細については、「アーカイブ・ファイル」 (/weblogic-deploy-tooling/concepts/archive/)ページを参照してください。

モデルをカスタマイズして、変数ファイルに定義されたプロパティを参照するモデル・トークンを使用して、環境間で変化する構成値を外部化できます。 これらのモデル・トークンは、@@PROP:<name>@@という形式です。<name>は、-variable_file <variable-file-name>コマンドライン引数で指定された変数ファイル内のプロパティ名にマップされます。 例を見てみましょう。

次のモデル・セクションでは、JDBC DataSource URL、ユーザー名およびパスワードにモデル・トークンを使用します。

resources:
    JDBCSystemResource:
        MyDatabase:
            Target: mycluster
            JdbcResource:
                DatasourceType: GENERIC
                JDBCConnectionPoolParams:
                    ConnectionReserveTimeoutSeconds: 10
                    InitialCapacity: 0
                    MaxCapacity: 5
                    MinCapacity: 0
                    TestConnectionsOnReserve: true
                    TestTableName: SQL ISVALID
                JDBCDriverParams:
                    DriverName: oracle.jdbc.OracleDriver
                    PasswordEncrypted: '@@PROP:JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.PasswordEncrypted@@'
                    URL: '@@PROP:JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.URL@@'
                    Properties:
                        user:
                            Value: '@@PROP:JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.Properties.user.Value@@'

次の変数ファイルは、各トークンに置換される値を指定します。

JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.URL=jdbc:oracle:thin:@//mydb.example.com:1539/PDBORCL
JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.Properties.user.Value=scott
JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.PasswordEncrypted=tiger

次のコマンド行は、ドメインの作成時にトークン解決を有効にするための変数ファイルを提供します。

$ weblogic-deploy\bin\createDomain.cmd -model_file mymodel.yaml -variable_file myvariables.properties -oracle_home c:\wls12213 -domain_parent d:\demo\domains

ドメイン・タイプ

デフォルトでは、他のすべてのWDTツールと同様に、Create Domain Toolは、作成されるドメインが純粋なWebLogic Serverドメインであると想定します。 WebLogic Serverドメインとは、weblogic-deploy/lib/typedefs/WLS.jsonにあるWLS typedefファイルによって定義されます。 その他のドメイン・タイプは、対応するtypedefファイルをweblogic-deploy/lib/typedefs/<type-name>.jsonにインストールするだけでわかります。 たとえば、JRFドメイン・タイプは、weblogic-deploy/lib/typedefs/JRF.json typedefファイルによって定義されます。

別のタイプのドメインを作成する場合は、-domain_type <type-name>コマンドライン引数を追加するだけで済みます。たとえば、JRFドメインの場合は、コマンドライン引数に-domain_type JRFを追加します。 ドメインtypedefsは、適用するドメイン・テンプレート、ドメイン・テンプレートで定義されたリソースのターゲット指定の処理方法、および必要なRCUスキーマに関する情報をツールに通知するため、Create Domain Toolにとって重要なロールを果たします。 詳細は、「ドメイン・タイプ定義」のページを参照してください。

ドメイン・タイプ引数を使用する例:

$ weblogic-deploy\bin\createDomain.cmd -domain_type JRF -model_file model.yaml -oracle_home c:\wls12213 -domain_parent d:\demo\domains 

ドメイン・タイプを指定する場合、参照されるOracle Homeに必要な製品がインストールされていることが重要です。 たとえば、JRFドメインを作成するには、Oracle HomeにFMWインフラストラクチャがインストールされている必要があります。

タイプがRCUスキーマに依存するドメインを作成する場合は、データベースにRCUスキーマを作成する必要があります。 これを行うには、Oracle Homeにインストールされているrcuユーティリティ(たとえば、$ORACLE_HOME/oracle_common/bin/rcu)を直接実行するか、Create Domain ToolでRCUを実行します。 どちらの方法でも、domainInfo:/RCUDbInfoセクションは、テンプレート定義のRCUデータ・ソースの構成に必要な情報を提供することが重要です。 次の例は、rcuユーティリティがスキーマの作成にすでに使用されている場合に必要となる最小限の属性セットを示しています。

domainInfo:
    RCUDbInfo:
        rcu_db_conn_string: mydb.example.com:1539/PDBORCL
        rcu_prefix: DEMO
        rcu_schema_password: my-demo-password

Create Domain Toolを使用してRCUスキーマを作成する場合は、rcu_admin_password属性も指定する必要があります。 データベース管理ユーザーがsys as sysdbaでない場合は、rcu_admin_user属性を使用して、代わりに使用するデータベース管理ユーザー名を指定します。

domainInfo:
    RCUDbInfo:
        rcu_db_conn_string: mydb.example.com:1539/PDBORCL
        rcu_prefix: DEMO
        rcu_admin_user: admin
        rcu_admin_password: my-admin-password
        rcu_schema_password: my-demo-password

「The RCUDbInfo」セクションには、より高度なシナリオで重要になる可能性がある他のフィールドがあります。 詳細は、「データベースへの接続」ページを参照してください。

モデルがRCUを実行するために適切に構成されたら、Create Domain Toolコマンド・ラインに-run_rcu引数を追加するだけです。

$ weblogic-deploy\bin\createDomain.cmd -run_rcu -domain_type JRF -run_rcu -model_file jrf-model.yaml -oracle_home c:\wls12213 -domain_parent d:\demo\domains 

-run_rcuを使用してRCUスキーマを作成する場合、Create Domain Toolのデフォルトの動作では、スキーマを作成する前にまずスキーマを削除しようとすることに注意してください。 この動作は、tool.propertiesファイルのdisable.rcu.drop.schemaプロパティを使用して無効にできます。 詳細については、[ツール・プロパティ・ファイル] (/weblogic-deploy-tooling/userguide/tools-config/tool_prop/)ページを参照してください。

より複雑なドメインを作成するには、カスタム・ドメイン・タイプを作成する必要がある場合があります。 これは、ドメインにカスタム・テンプレートまたは他のOracle製品のテンプレートがある場合に便利です。 詳細については、「ドメイン・タイプ定義」を参照してください。

ユーザー・パスワード・バリデーション

デフォルトでは、WLSTオフラインでは、管理者パスワードに8文字以上、1文字以上の数字または特殊文字が必要です。 Create Domainツールは、topologyセクションのSecurity/Userセクションに追加されたユーザーのdomainInfoセクションのAdminPassword属性値とPasswordフィールドの両方を、デフォルト・ルールに対してバリデートします。

3.5.0より前は、管理者パスワードのバリデーション・エラーによりWLSTエラーが発生し、ドメインの作成が中断されましたが、他のユーザーのバリデーション・エラーにより、ドメインとユーザーが作成された場合でも、WDTから警告が発生しました。 ただし、バグのため、無効なパスワードを持つこれらのユーザーは、使用できないパスワードで作成されています。

3.5.0以降、このバリデーションは統合および拡張されました。 次に、パスワード・バリデーションを実行します:

  • モデルのバリデーション中に前もって行われます
  • すべてのユーザーのパスワード・バリデーション・エラーのエラーをログに記録し、ドメイン作成プロセスを中止します
  • WebLogic Serverシステム・パスワード・バリデータのモデル設定を考慮して、パスワードがその設定に従っていることを確認します。 たとえば、モデルに次に示すスニペットが含まれている場合、パスワードの最小長は、デフォルト値の8ではなく12になります。 モデルに存在しない属性は、パスワード・バリデーション時にデフォルト値を使用します。
topology:
    SecurityConfiguration:
        Realm:
            myrealm:
                PasswordValidator:
                    SystemPasswordValidator:
                        SystemPasswordValidator:
                            MinPasswordLength: 12

警告: デフォルト値が8のMinPasswordLength属性と、デフォルト値が1のMinNumericOrSpecialCharacters属性には特別な動作があります。 WLSTオフラインでは、管理者パスワードのバリデート時にこれらの値は考慮されません。 かわりに、常にデフォルト値が使用されるため、Create Domainで値が小さい場合でも、パスワードがこれらのデフォルト値を満たさないため、WLSTオフラインではドメインの作成に失敗します。 この新しいパスワード・バリデーションの場合のみ、Create Domainでは、モデルで指定されたものとデフォルト値との間の大きい値が使用されます。 Create Domainでは、モデル内の正確な設定でSystemPasswordValidatorセキュリティ・プロバイダが作成されます。

この新しいバリデーション動作を無効にするには、$WLSDEPLOY_HOME/lib/tool.propertiesenable.create.domain.password.validationプロパティをfalseに設定するか、またはCreate Domainツールを起動する前に-Dwdt.config.enable.create.domain.password.validation=falseWLSDEPLOY_PROPERTIES環境変数に追加します。 このバリデーションを無効にすると、ドメインの管理パスワードのWLSTオフライン・バリデーションを除き、パスワードのすべてのバリデーションが無効になります。

暗号化モデルの使用

モデルまたは変数ファイルにWDT Encrypt Model Toolで暗号化されたパスワードが含まれている場合は、Create Domain Toolで復号化できるように、モデルの暗号化に使用するWDT暗号化パスフレーズを指定する必要があります。 これを行うには、次のいずれかのコマンドライン引数を指定します:

  • -passphrase_env <ENV_VAR> - 指定された環境変数からパスフレーズを読み取ります。
  • -passphrase_file <file-name> - パスフレーズを含むファイルからパスフレーズを読み取る、または
  • -passphrase_prompt - シェル・スクリプトの標準入力に値をプロンプトまたはパイプして、stdinからパスフレーズを読み取ります。

複数のモデルの使用

Create Domain Toolでは、「複数のモデルの使用」に説明されている複数のモデルを使用できます。

開発ドメインおよびboot.properties

開発ドメインを作成する場合、WDTは、ドメイン内の各サーバーに対してboot.propertiesファイルを作成する利便性を提供します。 boot.propertiesファイルには、管理サーバー・ユーザー名およびパスワードの暗号化された値が含まれます。 管理サーバーまたは管理対象サーバーを起動すると、WebLogic Serverは資格証明のプロンプトを省略し、かわりにboot.propertiesファイルの資格証明を使用します。

ServerStartModeオプションがprodまたはsecureに設定されている場合、またはドメインMBeanのProductionModeEnabled属性がtrueに設定されている場合、ドメインは本番モードです。 同じモデルで両方の属性を使用するアンチ・パターンです。

boot.propertiesファイルは、WDTが実行されるマシンのドメイン・ホームに格納されます。 サーバーごとに<domain_home>/servers/<server_name>/security/boot.propertiesとして格納されます。

次に、ServerStartModeを使用してドメインを開発モードで作成するように指定するモデルの例を示します。 ドメインのデフォルトは開発モードであるため、次のServerStartMode行は効果がないので、この例は説明のみを目的としています。

domainInfo:
    AdminUserName: weblogic
    AdminPassword: welcome1
    ServerStartMode: dev
topology:
    Name: my-domain

環境変数

次の環境変数を設定できます。

  • JAVA_HOME JDKのロケーション。 これは有効なJava 7以降のJDKである必要があります。
  • WLSDEPLOY_PROPERTIES WLSTに渡されるシステム・プロパティ。

Create Domain Tool (およびWLSTを使用するその他のツール)を実行する場合、ツールの実行に使用される実際のJDKは、JAVA_HOME環境変数によって定義されたものではなく、Oracle HomeにWebLogic Serverをインストールするために使用されるJDKになります。 ベスト・プラクティスは、WebLogic Serverのインストールに使用したものと同じJDKインストールを指すようにJAVA_HOMEを設定することです。

Create Domain Toolに対する問題のオープン

ツールの完全なコンソール出力(stdoutおよびstderrに出力される出力)およびログ・ファイルcreateDomain.log(通常は<install home>/weblogic-deploy/logsディレクトリにあります)を指定してください。 可能な場合は、モデル、変数およびアーカイブ・ファイル、および環境の理解に役立つその他の情報、実行していること、および何が起こっているかを記入してください。

createDomainのパラメータ表

パラメータ 定義 デフォルト
-archive_file 使用するアーカイブ・ファイルへのパス。 -model_file引数が指定されていない場合、このアーカイブのモデル・ファイルが使用されます。 これは、アーカイブ・ファイルのカンマ区切りリストとして指定することもできます。 各アーカイブ内の内容が、リストの前のアーカイブより優先されます。
-domain_home -domain_parentを使用しない場合は必須です。 ドメインを作成する完全なディレクトリと名前。
-domain_parent -domain_homeを使用しない場合は必須です。 ドメインを作成する親ディレクトリ。 名前は、モデル内のドメイン名です。
-domain_type ドメインのタイプ(WLSJRFなど)。 WLS
-java_home 新しいドメインに使用するJavaホーム。 指定しない場合、JAVA_HOME環境変数の値がデフォルトになります。
-model_file モデル・ファイルのロケーション。 これは、モデル・ロケーションのコンマ区切りリストとして指定することもできます。このリストでは、前のモデル・ロケーションの上に続く各モデル層が配置されます。
-oracle_home Oracle WebLogicインストールのホーム・ディレクトリ。 ORACLE_HOME環境変数が設定されていない場合は必須です。
-opss_wallet 既存のRCUスキーマ・セットに再接続するために必要なドメインの暗号化キーを含むOracleウォレットのロケーション。
-opss_wallet_passphrase_env プロンプトでOPSSウォレット・パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。
-opss_wallet_passphrase_file プロンプトでOPSSウォレット・パスフレーズを入力する代替手段。 値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。
-passphrase_env プロンプトで暗号化パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。
-passphrase_file プロンプトで暗号化パスフレーズを入力する代替手段。 値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。
-passphrase_prompt WDTが暗号化パスフレーズを要求したり、標準入力から読み取ったりできるようにします。
-run_rcu RCUを実行して、指定したRCUプレフィクスを使用してドメイン・タイプで指定されたデータベース・スキーマを作成します。 RCUを実行すると、作成を試みる前に、同じRCUプレフィクスを持つ既存のスキーマが削除されます。
-use_encryption (非推奨) -passphrase_prompt引数に置き換えられます。
-variable_file モデルで使用される変数の値を含むプロパティ・ファイルのロケーション。 これは、プロパティ・ファイルのカンマ区切りリストとして指定することもできます。このリストでは、前述のプロパティ・レイヤーの先頭に続く各プロパティ・レイヤーのセットがあります。