StoreFront構成のエクスポートとインポート

注:

インポートできるのは、対象のStoreFrontインストールと同じバージョンのStoreFront構成のみです。

StoreFront展開環境の構成全体をエクスポートできます。これには、単一サーバー環境とサーバーグループ構成の両方が含まれます。既存の展開環境がインポートサーバーに既に存在している場合、現在の構成が消去されてから、バックアップアーカイブ内に含まれている構成で置き換えられます。ターゲットサーバーがクリーンな工場出荷時のデフォルトインストールの場合、バックアップ内に保存されているインポートされた構成を使用して新しい環境が作成されます。エクスポートされた構成のバックアップは、単一の.zipアーカイブ形式(暗号化されていない場合)または.ctxzip形式(作成時にバックアップファイルの暗号化を選択した場合)です。

StoreFront構成のエクスポートおよびインポート時の検討事項

  • バックアップアーカイブに含まれているホストベースURLを使用しますか。またはインポートサーバーで使用する新しいホストベースURLを指定しますか。
  • 現在Citrixが公開している認証SDKの例(Magic Word Authenticationなど)またはサードパーティの認証カスタマイズを使用していますか。使用している場合は、これらのパッケージをすべてのインポートサーバーにインストールしてから、追加の認証方式を含む構成をインポートする必要があります。必要な認証SDKパッケージがどのインポートサーバーにもインストールされていない場合、構成のインポートは失敗します。構成をサーバーグループにインポートする場合は、グループのすべてのメンバーに認証パッケージをインストールします。
  • 構成のバックアップを暗号化または暗号化解除できます。エクスポートおよびインポートPowerShellコマンドレットはどちらのユースケースもサポートします。
  • 暗号化されたバックアップ(.ctxzip)は後から暗号化解除できますが、StoreFrontは暗号化されていないバックアップファイル(.zip)を再暗号化できません。暗号化されたバックアップが必要な場合は、選択したパスワードを含むPowerShell資格情報オブジェクトを使用してもう一度エクスポートを実行します。
  • StoreFrontが現在インストールされているIIS(エクスポート元サーバー)におけるWebサイトのSiteIDは、バックアップされたStoreFront構成をリストアするIIS(インポート先サーバー)におけるターゲットWebサイトのSiteIDに一致する必要があります。

StoreFrontバックアップの暗号化と暗号化解除に使用されるPowerShell資格情報オブジェクト

PowerShell資格情報オブジェクトには、Windowsアカウントのユーザー名とパスワードの両方が結合されています。PowerShell資格情報オブジェクトにより、パスワードがメモリ内で保護されます。

注:

構成バックアップのアーカイブを暗号化するには、暗号化と暗号化解除を実行するためのパスワードのみ必要です。資格情報オブジェクト内に保存されているユーザー名は使用されません。エクスポートサーバーおよびインポートサーバーの両方で使用される、PowerShellセッション内の同じパスワードを含む資格情報オブジェクトを作成する必要があります。資格情報オブジェクト内では、どのユーザーでも指定できます。

PowerShellでは、新しい資格情報オブジェクトを作成するときにユーザーを指定する必要があります。便宜上、このコード例では現在ログオンしているWindowsユーザーのみ取得します。

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)

PowerShellコマンドレット

Export-STFConfiguration

パラメーター 説明
-TargetFolder(String) バックアップアーカイブへのエクスポートパス。例:”$env:userprofile\desktop\”
-Credential(PSCredentialオブジェクト) エクスポート中に暗号化された.ctxzipバックアップアーカイブを作成する資格情報オブジェクトを指定します。PowerShell資格情報オブジェクトには、暗号化と暗号化解除に使用されるパスワードが含まれます。-Credential-NoEncryptionパラメーターと一緒に使用しないでください。例:$CredObject
-NoEncryption(スイッチ) バックアップアーカイブを暗号化されていない.zipにすることを指定します。-Credentialパラメーターを-NoEncryptionパラメーターと一緒に使用しないでください。
-ZipFileName(String) StoreFront構成のバックアップアーカイブの名前。.zipや.ctxzipなどのファイル拡張子を追加しないでください。ファイル拡張子は、エクスポート中に-Credentialまたは-NoEncryptionのどちらのパラメーターを指定したかによって自動的に追加されます。例:”backup”
-Force(ブール型) このパラメーターは、バックアップアーカイブを、指定されたエクスポート先にある既存のバックアップファイルと同じファイル名で自動的に上書きします。

重要:

Storefront 3.5にあったSiteIDパラメーターは、バージョン3.6で廃止されました。バックアップアーカイブに含まれるSiteIDが常に使用されるようになったため、インポートを実行するときにSiteIDを指定する必要はなくなりました。SiteIDが、インポート先サーバーのIIS内で既に構成されている既存のStoreFront Webサイトに一致することを確認します。SiteID 1からSiteID 2への(またはその逆)構成のインポートはサポートされません。

Import-STFConfiguration

パラメーター 説明
-ConfigurationZip(String) インポートするバックアップアーカイブへのフルパス。ファイル拡張子も含めます。暗号化されていない場合は.zip、暗号化されたバックアップアーカイブの場合は.ctxzipを使用します。次に例を示します: $env:userprofile\desktop\backup.ctxzip
-Credential(PSCredentialオブジェクト) インポート中に暗号化されたバックアップを暗号化解除する資格情報オブジェクトを指定します。次に例を示します: $CredObject
-HostBaseURL(String) このパラメーターが含まれると、指定したホストベースURLがエクスポートサーバーのホストベースURLの代わりに使用されます。次に例を示します: https://<importingserver>.example.com

Unprotect-STFConfigurationBackup

パラメーター 説明
-TargetFolder(String) バックアップアーカイブへのエクスポートパス。次に例を示します: $env:userprofile\desktop\
-Credential(PSCredentialオブジェクト) このパラメーターを使用して暗号化されたバックアップアーカイブの暗号化されていないコピーを作成します。暗号化解除に使用するパスワードを含むPowerShell資格情報オブジェクトを指定します。次に例を示します: $CredObject
-EncryptedConfigurationZip(String) 暗号化解除する暗号化されたバックアップアーカイブのフルパス。ファイル拡張子.ctxzipを指定する必要があります。次に例を示します: $env:userprofile\\desktop\\backup.ctxzip
-OutputFolder(String) 暗号化された(.ctxzip)バックアップアーカイブから暗号化されていないコピー(.zip)を作成するパス。元の暗号化されたバックアップのコピーは保持され、再使用できます。暗号化されていないコピーのファイル名とファイル拡張子は指定しないでください。次に例を示します: $env:userprofile\desktop\
-Force(ブール型) このパラメーターは、バックアップアーカイブを、指定されたエクスポート先にある既存のバックアップファイルと同じファイル名で自動的に上書きします。

構成のエクスポートおよびインポート例

現在のPowerShellセッションへのStoreFront SDKのインポート

StoreFrontサーバーでPowerShell Integrated Scripting Environment(ISE)を開き、以下を実行します。

$SDKModules = 'C:\Program Files\Citrix\Receiver StoreFront\PowerShellSDK\Modules\Citrix.StoreFront'
Import-Module "$SDKModules\Citrix.StoreFront.psd1" -verbose
Import-Module "$SDKModules.Authentication\Citrix.StoreFront.Authentication.psd1" -verbose
Import-Module "$SDKModules.Roaming\Citrix.StoreFront.Roaming.psd1" -verbose
Import-Module "$SDKModules.Stores\Citrix.StoreFront.Stores.psd1" -verbose
Import-Module "$SDKModules.WebReceiver\Citrix.StoreFront.WebReceiver.psd1" -verbose
Import-Module "$SDKModules.SubscriptionsStore\Citrix.StoreFront.SubscriptionsStore.psd1" -verbose

単一サーバーのシナリオ

サーバーAで既存の構成の暗号化されていないバックアップを作成し、それを同じ環境に復元する

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip"

サーバーAで既存の構成の暗号化されたバックアップを作成し、それを同じ環境に復元する

# Create a PowerShell Credential Object
$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" –Credential $CredObject -HostBaseURL "https://serverB.example.com"

既存の暗号化されたバックアップアーカイブの保護を解除する

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
Unprotect-STFConfigurationExport -encryptedConfigurationZip "$env:userprofile\desktop\backup.ctxzip" -credential $CredObject -outputFolder "c:\StoreFrontBackups" -Force

サーバーAの既存の構成のバックアップを作成し、それをサーバーBの新しい工場出荷時のデフォルトのインストールに復元する

サーバーBは新しい環境ですが、サーバーAと共存することを目的にしています。-HostBaseURLパラメーターを指定します。サーバーBは新しい工場出荷時のデフォルトのStoreFront環境でもあります。

  1. PowerShell資格情報オブジェクトを作成し、サーバーA構成の暗号化されたコピーをエクスポートします。
  2. バックアップの暗号化に使用した同じパスワードを使用してサーバーBでPowerShell資格情報オブジェクトを作成します。
  3. -HostBaseURLパラメーターを使用してサーバーAの構成を暗号化解除し、サーバーBにインポートします。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://serverB.example.com"

サーバーAで既存の構成をバックアップし、それを使用してサーバーBの既存の環境を上書きする

サーバーBは、古い構成を使用する既存の環境です。サーバーAの構成を使用してサーバーBを更新します。 サーバーBはサーバーAと共存させるためのものです。-HostBaseURLパラメーターを指定します。

  1. PowerShell資格情報オブジェクトを作成し、サーバーA構成の暗号化されたコピーをエクスポートします。
  2. バックアップの暗号化に使用した同じパスワードを使用してサーバーBでPowerShell資格情報オブジェクトを作成します。
  3. -HostBaseURLパラメーターを使用してサーバーAの構成を暗号化解除し、サーバーBにインポートします。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" –Credential $CredObject -HostBaseURL "https://serverB.example.com"

新しいサーバーOSにアップグレードしたり、古いStoreFront環境の使用を停止する場合などと同じホストベースURLを使用して既存の環境のクローンを作成する

2012R2サーバーBは、古い2008R2サーバーAの代わりとなる新しい環境です。 バックアップアーカイブ内からHostBaseURLを使用します。インポート時に -HostBaseURLパラメーターを使用しないでください。サーバーBは新しい工場出荷時のデフォルトのStoreFront環境でもあります。

  1. PowerShell資格情報オブジェクトを作成し、2008R2サーバーA構成の暗号化されたコピーをエクスポートします。
  2. バックアップの暗号化に使用した同じパスワードを使用して2012R2サーバーBでPowerShell資格情報オブジェクトを作成します。
  3. -HostBaseURLパラメーターを使用して2008 R2サーバーAの構成を暗号化解除し、2012 R2サーバーBにインポートします。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

StoreFrontはIISのカスタムのWebサイトに既に展開されている。この構成を別のカスタムWebサイト環境に復元する

サーバーAではStoreFrontをIIS内の通常のデフォルトのWebサイトではなくカスタムのWebサイトの場所に展開しています。IIS内に作成された2つ目のWebサイトのIIS SiteIDは2です。StoreFront Webサイトの物理パスは、d:\など別のシステム以外のドライブまたはデフォルトのc:\システムドライブに置くことができますが、1を超えるIIS SiteIDを使用する必要があります。

StoreFrontという新しいWebサイトが、SiteID = 2を使用するIIS内で構成されています。StoreFrontは、ドライブd:\inetpub\wwwroootの物理パスでIIS内のカスタムWebサイトに既に展開されています。

ローカライズされた画像

  1. PowerShell資格情報オブジェクトを作成し、サーバーA構成の暗号化されたコピーをエクスポートします。
  2. サーバーBで、SiteID 2を使用するStoreFrontという新しいWebサイトをIISで構成します。
  3. バックアップの暗号化に使用した同じパスワードを使用してサーバーBでPowerShell資格情報オブジェクトを作成します。
  4. -HostBaseURLパラメーターを使用してサーバーAの構成を暗号化解除し、サーバーBにインポートします。バックアップに含まれるサイトIDを使用し、このIDがStoreFront構成をインポートするターゲットWebサイトに一致する必要があります。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://serverB.example.com"

サーバー グループ シナリオ

シナリオ1:既存のサーバーグループ構成をバックアップし、後でそのバックアップを同じサーバーグループ環境で復元する

前の構成バックアップは、2つのStoreFrontサーバー(2012R2-Aと2012R2-B)のみがサーバーグループのメンバーであるときに取得されました。バックアップアーカイブ内には、元のサーバー2012R2-Aと2012R2-Bのみを含む、バックアップが取得された時点のCitrixClusterMembershipのレコードが含まれます。StoreFrontサーバーグループ環境では、ビジネス上の需要に伴い、元のバックアップが取得された時点よりサイズが増え続けています。したがって、追加のノード2012R2-Cがサーバーグループに追加されています。バックアップに保持されているサーバーグループの基になるStoreFront構成は変更されていません。2つの元のサーバーグループノードのみを含む古いバックアップがインポートされている場合でも、3つのサーバーの現在のCitrixClusterMembershipを維持する必要があります。インポート中に、現在のクラスターメンバーシップが保持されて、構成がプライマリサーバーに正常にインポートされた後にライトバックされます。元のバックアップが取得された後にサーバーグループノードがサーバーグループから削除された場合、インポートでは現在のCitrixClusterMembershipも保持されます。

  1. サーバーグループ1の構成を2012R2-Aからエクスポートします。2012R2-Aはサーバーグループ全体を管理するために使用されるプライマリサーバーです。

ローカライズされた画像

  1. 後で、追加のサーバー2012R2-Cを既存のサーバーグループに追加します。

ローカライズされた画像

  1. サーバーグループの構成を既知の前の作業状態に復元する必要があります。StoreFrontでは、インポートプロセスの実行中に3つのサーバーの現在のCitrixClusterMembershipがバックアップされ、インポートの成功後に復元されます。

  2. サーバーグループ1の構成をノード2012R2-Aにインポートして戻します。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

  3. 新しくインポートした構成をサーバーグループ全体に反映して、インポート後にすべてのサーバーの構成が一致するようにします。

シナリオ2:既存の構成をサーバーグループ1からバックアップし、そのバックアップを使用して別の工場出荷時のデフォルト環境に新しいサーバーグループを作成する。ほかの新しいサーバーグループメンバーを新しいプライマリサーバーに追加できる

新しい2つのサーバー2012R2-Cと2012R2-Dを含むサーバーグループ2が作成されます。サーバーグループ2の構成は既存環境のサーバーグループ1の構成に基づきます。サーバーグループ1にも2つのサーバー2012R2-Aと2012R2-Bが含まれています。バックアップアーカイブに含まれるCitrixClusterMembershipは、新しいサーバーグループの作成時には使用されません。現在のCitrixClusterMembershipが常にバックアップされ、インポートの成功後に復元されます。インポートされた構成を使用して新しい展開環境を作成すると、追加サーバーが新しいグループに加わるまでは、CitrixClusterMembershipセキュリティグループには1つのインポートサーバーのみが含まれます。サーバーグループ2は新しい環境で、サーバーグループ1と共存することを目的としています。-HostBaseURLパラメーターを指定します。サーバーグループ2は、新しい工場出荷時のデフォルトStoreFront環境を使用して作成されます。

  1. サーバーグループ1の構成を2012R2-Aからエクスポートします。2012R2-Aはサーバーグループ全体を管理するために使用されるプライマリサーバーです。

  2. サーバーグループ1の構成をノード2012R2-Cにインポートします。2012R2-Cは新しいサーバーグループ2のプライマリサーバーです。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://servergroup2.example.com"

  3. 新しいサーバーグループ2環境の一部となる追加のサーバーを追加します。サーバーグループ1からサーバーグループ2の新しいすべてのメンバーに新しくインポートされた構成が自動的に反映されます。これは新しいサーバーが追加されたときの標準の追加プロセスの一部になります。

シナリオ3:既存の構成をサーバーグループAからバックアップし、そのバックアップを使用して既存のサーバーグループBの構成を上書きする

サーバーグループ1とサーバーグループ2は既に2つの個別のデータセンターに存在します。多くのStoreFront構成の変更はサーバーグループ1で行われ、もう一方のデータセンターのサーバーグループ2に適用する必要があります。サーバーグループ1の変更をサーバーグループ2に移植できます。サーバーグループ2のバックアップアーカイブ内でCitrixClusterMembershipを使用しないでください。インポート中に-HostBaseURLパラメーターを指定します。サーバーグループ2のホストベースURLは、サーバーグループ1で現在使用されている同じFQDNに変更できません。サーバーグループ2は既存の環境です。

  1. サーバーグループ1の構成を2012R2-Aからエクスポートします。2012R2-Aはサーバーグループ全体を管理するために使用されるプライマリサーバーです。

  2. サーバーグループ1の構成をノード2012R2-Cの工場出荷時のデフォルト環境にインポートします。2012R2-Cは新しいサーバーグループ2のプライマリサーバーです。

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://servergroup2.example.com"