22 パーティションのエクスポートおよびインポート
パーティションをエクスポートおよびインポートすると、あるドメインから別のドメインにパーティションを簡単に移動できます(パーティションにデプロイされたアプリケーションを含む)。この機能は、ドメイン間でのパーティションのレプリケート、および開発環境から本番環境へのドメインの移動に役立ちます。
注意:
WebLogic Server Multitenantドメイン・パーティション、リソース・グループ、リソース・グループ・テンプレート、仮想ターゲットおよびリソース消費管理は、WebLogic Server 12.2.1.4.0で非推奨になり、次のリリースで削除されます。この章の内容は次のとおりです。
ドメイン・パーティションのエクスポートおよびインポート: 概要
システム管理者は、WLST (オンラインまたはオフライン)、Representational State Transfer (REST) API (オンラインのみ)またはWebLogic Server管理コンソール(オンラインのみ)を使用して、ドメイン・パーティションをエクスポートし、すでにエクスポートしたパーティションを別のドメインにインポートできます。
次の項では、エクスポート操作とインポート操作の詳細を説明します。
パーティションのエクスポートについて
パーティションがソース・ドメインからエクスポートされるとき、次のものがパーティション・アーカイブ・ファイルとしてパッケージ化されます。
-
パーティション構成
-
パーティションに含まれるすべてのリソース・グループ
-
これらのリソース・グループによって参照されるすべてのリソース・グループ・テンプレート
-
パーティションのファイル・システムのコンテンツ、
<
partition-file-system
>/config
ディレクトリ -
オプションで、パーティションにデプロイされたアプリケーションのアプリケーション・バイナリ・ファイルおよび構成
アプリケーション・ランタイムの状態およびアプリケーション固有のランタイム構成は、パーティション・アーカイブ・ファイルには含まれません。他には、キュー内のJMSメッセージ、組込みLDAPレルム内のユーザーなどがエクスポートされません。
パーティション・アーカイブ・ファイルの作成
WLSTのexportPartition
コマンドを使用して、パーティション・アーカイブ・ファイル(<
PartitionName
>.zip
)を作成できます。これは、パーティションの構成および(オプションで)パーティションのアプリケーションとライブラリをアーカイブ・ファイルにコピーします。このコマンドによって、インポート時にパーティションの構成を変更するために使用できるattributes.json
ファイルも作成されます。
コマンドの構文は次のようになります。
exportPartition(partitionName, expArchPath, [includeAppsNLibs], [keyFile])
partitionName
はエクスポートするパーティションの名前、expArchPath
はパーティション・アーカイブ・ファイルを保存するディレクトリへのフルパス、includeAppsNLibs
(オプション)はアプリケーションおよびライブラリのバイナリ・ファイルをパーティション・アーカイブ・ファイルに含めるかどうかを指定し、keyFile
(オプション)はパーティション・アーカイブ・ファイル内の属性を暗号化するための暗号化キーとして使用する文字列を含むファイルへのフルパスを指定します。「ドメイン・パーティションのエクスポート: WLSTの例」を参照してください。
パーティション・アーカイブ・ファイルのコンテンツ
パーティション・アーカイブは、次の特定のパーティション関連ファイルを含む.zip
ファイルです。
ファイルおよびディレクトリ | 説明 |
---|---|
|
|
|
アーカイブ・ファイルのタイムスタンプおよびドメイン情報が含まれます。 |
|
パーティションのインポート中に管理者が変更できるMBean属性およびプロパティが含まれます。アーカイブ・ファイルに含まれる以外に、このファイルのコピーは更新を簡易化するためにファイル・システムのアーカイブ・ファイルにも配置されます。 |
|
暗号化および暗号化された属性の復号化に使用される暗号化された秘密キーが含まれます。 |
|
このパーティションに関連付けられているリソース・グループ・テンプレートに関連するファイルが含まれます。 |
|
|
|
|
|
リソース・グループ・テンプレート・レベルのバイナリ・ファイルが含まれます。 |
|
リソース・グループ・レベルのアプリケーション・バイナリ・ファイルが含まれます。 |
パーティションのインポートについて
パーティションをインポートする前提条件として、サーバー・インスタンスにドメインが構成されている必要があります。パーティションを新しいドメインにインポートする場合は、新たにインポートされたパーティションが認識されるように、一部の外部システムを構成することが必要となることがあります。パーティション・アーカイブ・ファイルのインポート中に、システム管理者は、ドメイン(仮想ターゲット、セキュリティ・レルムおよびリソース・グループ・テンプレートなど)での依存性を更新し、オプションで、パーティション構成の他の属性(パーティション・プロパティ、JDBC、JMSおよびリソース・グループ内の他のリソースなど)も更新して有効にする必要がある場合があります。また、新しいパーティションにアプリケーションおよびシステム・リソースをデプロイする必要があります。
システム管理者は、インポート処理の実行中に、ターゲット・ドメインに適するように属性が変更された<
PartitionName
>-attributes.json
ファイルを指定して、パーティション構成の特定の部分をオーバーライドできます。ただし、name
属性の値の変更はサポートされていません。たとえば、次のサンプル<
PartitionName
>-attributes.json
の"name
" : "P1
"は変更できません。
{ "partition" : { "name" : "P1", "jdbc-system-resource-override" : { "URL" : "url.com", "Id" : "0", "name" : "test123", "CachingDisabled" : "false", "Registered" : "false", "User" : "test123", "DynamicallyCreated" : "false", "DataSourceName" : "test-source" }, "resource-group-template" : { "name" : "RGT1", "jdbc-system-resource" : { "name" : "jdbc1", "descriptor-file-name" : "jdbc/P1DB1-8882-jdbc.xml" } "jms-server-resource" : { "name" : "jms1", "PagingDirectory" : "" } } }
前述の例では、すべてのJDBCSystemResourceOverrideMBean
属性は、現在の値とともに<
PartitionName
>-attributes.json
ファイルにコピーされます。
リソース・グループ・テンプレートがすでにターゲット・ドメインに存在する場合、createNew
オプションを使用して、既存のリソース・グループ・テンプレートを上書きし、新しい名前で新しいリソース・グループ・テンプレートを作成する必要があります。(「ドメイン・パーティションのインポート: 主なステップ」のステップ2を参照してください。)
システム・リソースのエクスポートとインポートのカスタマイズ
ドメイン・パーティションをエクスポートすると、パーティションおよびリソース・グループ・テンプレート構成の属性がattributes.json
ファイルに存在します。エクスポートされるパーティションで参照されるシステム・リソースもattributes.json
に表示されます。
WebLogic Server MTを使用するとパーティションのすべてのシステム・リソース属性をJSONファイルにエクスポートできるため、これらの属性を変更してパーティションとともにインポートできます。システム・リソースをオーバーライドできることは、パーティションにリソース・グループとそのリソース・グループに直接デプロイされているシステム・リソースがあるPaaSユースケースでとりわけ役立ちます(リソース・グループが通常はリソース・グループ・テンプレートから導出されるSaaSユースケースと比較して)。
注意:
パーティション属性をオーバーライドする場合は注意が必要です。加えた変更と全体の構成に矛盾がある場合、起動時またはその後に構成検証の問題が発生する可能性があります。次のattributes.json
ファイルは、JDBCシステム・リソース要素の例を示します。
"jdbc-system-resource": {
"name": "mydb",
"jdbc-data-source": {
"@xmlns": "http:\/\/xmlns.oracle.com\/weblogic\/jdbc-data-source",
"@xmlns:sec": "http:\/\/xmlns.oracle.com\/weblogic\/security",
"@xmlns:wls": "http:\/\/xmlns.oracle.com\/weblogic\/security\/wls",
"@xmlns:xsi": "http:\/\/www.w3.org\/2001\/XMLSchema-instance",
"@xsi:schemaLocation": "http:\/\/xmlns.oracle.com\/weblogic\/jdbc-data-source http:\/\/xmlns.oracle.com\/weblogic\/jdbc-data-source\/1.0\/jdbc-data-source.xsd",
"name": "mydb",
"jdbc-driver-params": {
"url": "jdbc:derby:memory:mydb",
"properties": {"property": [
{
"name": "user",
"value": "scott"
},
{
"name": "databaseName",
"value": "prodMydb"
}
]},
"password-encrypted": "{AES}LbwIP8Ca\/RYAv4z599NAqM0eyHCcCl2um3gR6tziNpM="
}
}
}
たとえば、リソースが本番ドメインに適したものにするために、ユーザー値をscottからScottProd(本番ドメインのユーザー)に、URLをjdbc:derby:memory:mydb
からjdbc:derby:memory:dbprod
に編集できます。パーティションをインポートすると、システム・リソースにはattributes.json
ファイルに含まれている新しい値が反映されます。
パスワードは暗号化されてエクスポートされます。インポート後、パスワードはconfig.xml
ファイルに配置され、インポート・ドメインのドメイン固有のキーにより暗号化されます。パスワードを変更する必要がある場合は、次の手順を実行する必要があります。
-
パーティションがインポートされるドメインから
weblogic.security.Encrypt
ユーティリティを使用して、新しい暗号化されたパスワードを作成します。 -
JSONファイルのパスワードをステップ1で作成したパスワードで置き換えます。
-
パーティションをインポートします。
インポート後は、JSONファイルに格納したパスワードがシステム・リソースに対して使用されます。
アプリケーションのエクスポートおよびインポート
パーティションがエクスポートされる場合は、エクスポート処理のincludeApps
オプションの値によって、アプリケーション・バイナリ・ファイルがパーティション・アーカイブ・ファイルに含まれるかどうかが判断されます。includeApps
がtrue
の場合は、バイナリ・ファイルが含まれます。false
の場合は、除外されます。<
PartitionName
>-attributes.json
ファイルには、アプリケーションまたはライブラリのソース・パス、デプロイメント・プランのパスおよびステージング・モードの属性が含まれます。これらの属性は、<
PartitionName
>-attributes.json
ファイルで変更できます。
includeApps
オプションは、アプリケーションのインポート時のデプロイ方法にも影響します。
-
true
(デフォルト)の場合、リソース・グループ・テンプレート・レベルのアプリケーションかリソース・グループ・レベルのアプリケーションかに応じて、デプロイメント・ファイルは<domain-dir>/<server>/upload
または<partition-dir>/<server>/upload
にコピーされ、元のステージング・モードを使用してデプロイされます。ステージング・モードがNOSTAGE
またはEXTERNAL
(ターゲット・サーバー上)の場合、システム管理者は、ターゲット・ドメインの正しい場所からアプリケーションを使用できるようにする必要があります。 -
false
の場合、システム管理者は、ターゲット・ドメインの正しい場所からアプリケーションを使用できるようにする必要があります。
暗号化された属性のエクスポートおよびインポート
エクスポート処理中に、新しい秘密キーが生成され、エクスポートされた<
PartitionName
>.zip
ファイルのexpPartSecret
ファイルに保存されます。partition-config.xml
ファイルの暗号化されたすべての属性および<
PartitionName
>.zip
の一部であるシステム・リソース・ディスクリプタは、expPartSecret
ファイルの新しい秘密キーで暗号化されます。または、keyFile
オプションでユーザー独自の秘密キーを使用することもできます。
インポート処理中に、パーティション全体が読み取られ、<
PartitionName
>-attributes.json
ファイルに従って属性が変更された後、暗号化された属性は次のステップを使用して処理されます。
-
エクスポートされた
.zip
のexpPartSecret
ファイルの秘密キーが読み取られます。 -
秘密キーは、2番目のキー(WebLogic Serverソースのデフォルトのキーまたはインポートする
keyFile
オプションで指定されたキーのいずれか)を使用して復号化されます。ユーザーが指定したキーはインポートで使用したキーと一致する必要があります。 -
(エクスポート処理で読み取られて変更された)パーティションのMBeanの暗号化されたすべての属性が、
expPartSecret
ファイルから読み取られたキーを使用して復号化されます。 -
パーティションのMBeanの暗号化されたすべての属性が、インポートされたドメインのドメイン固有のキー(
SerializedSystemIni.dat
)を使用して暗号化されます。
ドメイン・パーティションのエクスポートおよびインポート: 主なステップおよびWLSTの例
ドメイン・パーティション(ソース・ドメイン)をその構成およびデータ全体とともにパーティション・アーカイブ・ファイルとしてエクスポートできます。構成に多くの変更を加えることなく、パーティション・アーカイブ・ファイルをWebLogic Server MT (ターゲット・ドメイン)の別のインスタンスにインポートできます。
仮想ターゲットやセキュリティ・レルムなどのドメインの依存性を更新し、オプションでパーティション構成の他の属性を更新して有効にする必要がある場合があります。
ドメイン・パーティションのエクスポート: 主なステップ
ドメイン・パーティションをエクスポートする前に、最初に1つを作成またはインポートする必要があります。
ドメイン・パーティションをエクスポートする主なステップは次のとおりです。
ドメイン・パーティションのエクスポート: WLSTの例
次のWLSTコマンドは、partition-1
を/var/tmp
ディレクトリにエクスポートします。アプリケーションおよびライブラリのバイナリ・ファイルは含まれません。/home/foo/mykeyfile
は、mykeyfile
暗号化キーへのパスです。
wls:/mydomain/serverConfig> exportPartition("partition-1", "/var/tmp/", false, "/home/foo/mykeyfile")
ドメイン・パーティションのインポート: 主なステップ
ドメイン・パーティションをインポートする前に:
-
先にドメイン・パーティション(ソース・ドメイン)をパーティション・アーカイブ・ファイルにエクスポートしておく必要があります。
-
サーバー・インスタンスにはドメイン(ターゲット・ドメイン)が構成されている必要があります。
ドメイン・パーティションをインポートする主なステップは次のとおりです。
ドメイン・パーティションのエクスポートおよびインポート: 関連タスクおよびリンク
-
『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のドメイン・パーティションのエクスポートに関する項およびドメイン・パーティションのインポートに関する項
-
『Oracle WebLogic Server Administration Consoleオンライン・ヘルプ』のパーティションのエクスポートに関する項およびパーティションのインポートに関する項