プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogic Server Multitenantの使用
12c (12.2.1.2.0)
E82912-01
目次へ移動
目次

前
次

22 パーティションのエクスポートおよびインポート

この章では、Oracle WebLogic Server Multitenant (MT)でパーティションをエクスポートおよびインポートする方法について説明します。この章の説明に従い、Oracle Enterprise Manager Fusion Middleware Control (FMWC)、Oracle WebLogic Server管理コンソールまたはWebLogic Scripting Tool (WLST)のいずれかを使用して、パーティションをエクスポートおよびインポートできます。この章では、適宜追加情報について、Oracle Fusion MiddlewareとWebLogic Serverのドキュメント・セットおよびオンラインを参照します。

この章には次の項が含まれます:

ドメイン・パーティションのエクスポートおよびインポート: 概要

システム管理者は、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ファイルです。


ファイルおよびディレクトリ 説明

partition-config.xml

config.xmlのパーティション構成およびリソース・グループ・テンプレート構成が含まれます。

MANIFEST.MF

アーカイブ・ファイルのタイムスタンプおよびドメイン情報が含まれます。

<PartitionName>-attributes.json

パーティションのインポート中に管理者が変更できるMBean属性およびプロパティが含まれます。アーカイブ・ファイルに含まれる以外に、このファイルのコピーは更新を簡易化するためにファイル・システムのアーカイブ・ファイルにも配置されます。

expPartSecret

暗号化および暗号化された属性の復号化に使用される暗号化された秘密鍵が含まれます。

domain/config/resource-group-templates/<resource_template_name>/*

このパーティションに関連付けられているリソース・グループ・テンプレートに関連するファイルが含まれます。

domain/config/partitions/<partition-name>/*

domain/config/partitions/<partition-name>/config/*にある構成ファイルを指します。

pfs/config/*

<partition-file-system>/config ディレクトリのコンテンツが含まれます。これには、システム・リソース(JMS、JDBCなど)のディスクリプタ・ファイルも含まれます。

domain/upload/resource-group-templates/<resource_template_name>/<application_name>/

リソース・グループ・テンプレート・レベルのバイナリ・ファイルが含まれます。

pfs/upload/<application_name>/

リソース・グループ・レベルのアプリケーション・バイナリ・ファイルが含まれます。


パーティションのインポートについて

パーティションをインポートする前提条件として、サーバー・インスタンスにドメインが構成されている必要があります。パーティションを新しいドメインにインポートする場合は、新たにインポートされたパーティションが認識されるように、一部の外部システムを構成することが必要となることがあります。パーティション・アーカイブ・ファイルのインポート中に、システム管理者は、ドメイン(仮想ターゲット、セキュリティ・レルムおよびリソース・グループ・テンプレートなど)での依存性を更新し、オプションで、パーティション構成の他の属性(パーティション・プロパティ、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ファイルに配置され、インポート・ドメインのドメイン固有のキーにより暗号化されます。パスワードを変更する必要がある場合は、次の手順を実行する必要があります。

  1. パーティションがインポートされるドメインからweblogic.security.Encryptユーティリティを使用して、新しい暗号化されたパスワードを作成します。

  2. JSONファイルのパスワードを手順1で作成したパスワードで置き換えます。

  3. パーティションをインポートします。

    インポート後は、JSONファイルに格納したパスワードがシステム・リソースに対して使用されます。

アプリケーションのエクスポートおよびインポート

パーティションがエクスポートされる場合は、エクスポート処理のincludeAppsオプションの値によって、アプリケーション・バイナリ・ファイルがパーティション・アーカイブ・ファイルに含まれるかどうかが判断されます。includeAppstrueの場合は、バイナリ・ファイルが含まれます。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ファイルに従って属性が変更された後、暗号化された属性は次の手順を使用して処理されます。

  1. エクスポートされた.zipexpPartSecretファイルの秘密鍵が読み取られます。

  2. 秘密鍵は、2番目の鍵(WebLogic Serverソースのデフォルトの鍵またはインポートするkeyFileオプションで指定された鍵のいずれか)を使用して復号化されます。ユーザーが指定した鍵はインポートで使用した鍵と一致する必要があります。

  3. (エクスポート処理で読み取られて変更された)パーティションのMBeanの暗号化されたすべての属性が、expPartSecretファイルから読み取られた鍵を使用して復号化されます。

  4. パーティションのMBeanの暗号化されたすべての属性が、インポートされたドメインのドメイン固有の鍵(SerializedSystemIni.dat)を使用して暗号化されます。

ドメイン・パーティションのエクスポートおよびインポート: 主な手順およびWLSTの例

ドメイン・パーティション(ソース・ドメイン)をその構成およびデータ全体とともにパーティション・アーカイブ・ファイルとしてエクスポートできます。構成に多くの変更を加えることなく、パーティション・アーカイブ・ファイルをWebLogic Server MT (ターゲット・ドメイン)の別のインスタンスにインポートできます。仮想ターゲットやセキュリティ・レルムなどのドメインの依存性を更新し、オプションでパーティション構成の他の属性を更新して有効にする必要がある場合があります。

ドメイン・パーティションのエクスポート: 主な手順

ドメイン・パーティションをエクスポートする前に、最初に1つを作成またはインポートする必要があります。

ドメイン・パーティションをエクスポートする主な手順は次のとおりです。

  1. エクスポートするドメイン・パーティションを選択します。
  2. パーティション・アーカイブ・ファイルを保存するディレクトリへのフルパスを指定します。

    各ドメイン・パーティションは、独自のディレクトリに配置する必要があります。指定した場所にすでに存在する場合、ドメイン・パーティションのアーカイブ・ファイルは上書きされます。ディレクトリ内の他のファイルも上書きされる場合があります。

  3. オプションで、エクスポートされるパーティション・アーカイブ・ファイルに、インストールされたアプリケーションおよびライブラリのバイナリ・ファイルを含めるよう選択します。
  4. オプションで、パーティション・アーカイブ・ファイル内の属性を暗号化するための暗号化鍵として使用する文字列を含むファイルへのフルパスを入力します。

    ユーザー独自の鍵を指定しない場合、新規の秘密鍵が生成され、エクスポートした<PartitionName>.zipファイル内のexpPartSecretファイルに格納されます。

ドメイン・パーティションのエクスポート: WLSTの例

次のWLSTコマンドは、partition-1/var/tmpディレクトリにエクスポートします。アプリケーションおよびライブラリのバイナリ・ファイルは含まれません。/home/foo/mykeyfileは、mykeyfile暗号化鍵へのパスです。

wls:/mydomain/serverConfig> exportPartition("partition-1", "/var/tmp/", false, "/home/foo/mykeyfile")

ドメイン・パーティションのインポート: 主な手順

ドメイン・パーティションをインポートする前に:

  • 先にドメイン・パーティション(ソース・ドメイン)をパーティション・アーカイブ・ファイルにエクスポートしておく必要があります。

  • サーバー・インスタンスにはドメイン(ターゲット・ドメイン)が構成されている必要があります。

ドメイン・パーティションをインポートする主な手順は次のとおりです。

  1. インポートするパーティション・アーカイブ・ファイルへのフルパスを指定します。
  2. オプションで、リソース・グループ・テンプレートがすでにターゲット・ドメインに存在して、新しい名前で新しいリソース・グループ・テンプレートを作成する場合に、既存のリソース・グループ・テンプレートの上書きオプションを選択します。

    ソース・ドメイン・パーティションで使用されるすべてのリソース・グループ・テンプレートはパーティション・アーカイブ・ファイルに含まれ、パーティションとともにターゲット・ドメインにインポートされます。リソース・グループ・テンプレートがターゲット・ドメインにすでに存在し、既存のリソース・グループ・テンプレートの上書きを指定しない場合、インポート処理は失敗します。

  3. オプションで、ターゲット・ドメインに作成されるときにパーティションに使用する名前を指定します。デフォルトはそのパーティションの元の名前です。
  4. オプションで、パーティション・アーカイブ・ファイル内の属性を復号化するための鍵を含むファイルへのフルパスを入力します。

ドメイン・パーティションのインポート: WLSTの例

次のWLSTコマンドは、/var/tmpディレクトリにあるpartition-1アーカイブ・ファイルをインポートします。アプリケーションおよびライブラリのバイナリ・ファイルは含まれません。ファイル/home/foo/mykeyfileは暗号化鍵として使用されます。

wls:/mydomain/serverConfig> importPartition("/var/tmp/partition-1.zip", keyFile="/home/foo/mykeyfile")

ドメイン・パーティションのエクスポートおよびインポート: 関連タスクおよびリンク

次の追加情報を参照してください。