Server から Cloud への移行を計画する
Atlassian Server 製品の移行準備に役立つドキュメント。
移行は、複雑で困難なプロセスになる可能性があります。アトラシアンではお客様をサポートするため、データを Confluence Server または Data Center から Cloud に移行する準備が整っていることを確認するために必要なすべての項目を示したチェックリストを作成しました。
一般的なエラーを防ぐため、移行を試す前に次の確認を完了します。
確認する内容は、利用する移行方法によって異なります。このチェックリストでは次の方法を網羅しています。
次に、選択した移行メソッドに対応した移行前のチェックに従います。
移行前のチェックを完了するには、以下へのアクセス権が必要な場合があります。
Confluence Server または Cloud のユーザー インターフェイスへのアクセス
展開されていない Confluence Space エクスポートへのアクセス
展開されていない Confluence サポート Zip へのアクセス
ソース インスタンスで SQL を実行する方法
移行アシスタントは、データに一般的なエラーがないかどうかを自動で確認します。次の内容を確認します。
Migration Assistant アプリが最新かどうか
ユーザーに有効で一意のメール アドレスが紐付けられているかどうか
移行プロセスでのグループの統合
クラウド サイトにすでに存在するスペース
ただし、移行アシスタントはすべてを確認するわけではありません。このため、移行を開始する前に次のリストを使用したチェックを行う必要があります。
アシスタントはユーザーやグループを移行できますが、アシスタントには、Confluence のみを移行するのか、Jira も同様に移行するのかを判断する機能は備わっていません。
Jira も Server から Cloud に移行する、または将来その可能性がある場合は、ユーザーの移行戦略を用意することが重要です。これによって、移行後にユーザー管理の問題やコンテンツの所有状況に関する問題が発生するのを防ぎます。
ユーザー移行戦略を作成するには、移行する対象と Jira 移行に使用する方法を把握しておく必要があります。
「ユーザーの移行戦略の決定」のガイダンスをご確認ください。
移行アシスタントはユーザーとグループを移行しますが、Jira と Confluence でメール アドレスが同じユーザーに割り当てられていることを確認する必要があります。たとえば、userA (usera@example.com) は Confluence と Jira にアクセスできますが、両方のアプリケーションがデータベース内に UserA 用の同じメール アドレスを持っている必要があります。これは、移行アシスタントが移行中にユーザーのメール アドレスを使用してコンテンツをマッピングするためです。
この場合は 2 つのオプションがあります。
最初にユーザーの移行する
「ユーザーの移行戦略の決定」に記載されているように、アトラシアンのサポート チームのサポートを利用してすべてのユーザーを事前に移行し、次に Confluence または Jira を任意の順序で移行します。
2. 最初に Jira を移行する
Confluence Cloud Migration Assistant 経由で Confluence を移行する前に、Jira を移行します。Jira サイト インポートではサーバー ユーザーが Atlassian アカウントに関連付けられないため、Confluence Cloud Migration Assistant を使用した後に Jira サイトの XML がインポートされた場合は、コンテンツの所有権が失われる可能性があります。これは、アシスタントがすべてのユーザーを作成して、データベース テーブルの Atlassian アカウントのハッシュに関連付けるためです。XML インポーターはこれらを読み取れないためユーザーがすでに Cloud に存在するかどうかを判断できず、すべての Jira 課題とコメントを「Unknown User (不明なユーザー)」に関連付けます。これは、移行の完了後には元に戻せません。
一方、Confluence Cloud Migration Assistant の実行前に Jira Server の XML をインポートする場合、移行アシスタントでは既存の Server ユーザー名を Cloud にある Atlassian アカウントにマッピングできます。
Free プランの Confluence Cloud サイトに移行する場合、移行アシスタントは移行によってユーザーの上限を超えないことを確認します。つまり、Server から移行されるユーザーの合計と、Cloud にすでに存在するユーザーの合計は 10 人以下でなくてはなりません。10 人を超えると移行は失敗します。
Confluence Cloud サイトが別のプランの年間サブスクリプションを使用している場合は、Server から移行されるユーザーの合計と Cloud にすでに存在するユーザーの合計が、サブスクリプションのユーザー階層を超えないことを確認する必要があります。たとえば、51 ~ 100 ユーザーのサブスクリプションを契約しているときに 110 人のアクティブなユーザーをインポートしようとすると、移行は失敗します。
これを修正するには、次の手順を実行します。
ユーザー数の上限が大きいプランをサブスクライブする - Confluence Cloud プランについてご確認ください。
移行前にユーザーの数を減らす
アトラシアン サポートにお問い合わせのうえ、事前に製品アクセスなしでユーザーをインポートする
移行を実行する前に、以下のクエリによって移行するユーザーの数とご利用の Cloud プランのユーザーの上限を照合します。必要に応じて、ユーザー数の削減、Cloud プランのアップグレード、またはサブスクリプションへのユーザー数の追加を実行します。 1
2
3
4
5
6
7
8
9
10
--USER LIMITS - TESTED ON POSTGRESQL
SELECT u.lower_user_name, d.directory_name
FROM cwd_user u
JOIN cwd_membership m ON u.id = child_user_id
JOIN cwd_group g ON m.parent_id = g.id
JOIN SPACEPERMISSIONS sp ON g.group_name = sp.PERMGROUPNAME
JOIN cwd_directory d on u.directory_id = d.id
WHERE sp.PERMTYPE='USECONFLUENCE' AND u.active = 'T' AND d.active = 'T'
GROUP BY u.lower_user_name, d.directory_name
ORDER BY d.directory_name; |
移行を実行する前に次のクエリを使用し、移行するユーザーの数とご利用のクラウド プランのユーザーの上限とを照合します。必要に応じ、ユーザー数の削減、クラウド プランのアップグレード、サブスクリプションへのユーザー数の追加などを行います。 1
grep '<users>' application.xml |
移行を実行するユーザーが、次の権限を持っていることを確認します。
移行アシスタントが機能するには、サポート対象のバージョンの Confluence Server または Data Center を使用している必要があります。
Confluence のバージョンを検証するには、次の手順を実行します。
また、Linux および Windows では次の方法も使用できます。 |
これは次のコマンドを使用して検証できます。返される数字が 7901 (Confluence 6.13.x) 以上であることを確認します。 1
grep 'createdByBuildNumber' exportDescriptor.properties |
これは次のコマンドを使用して検証できます。返される数字が 7901 (Confluence 6.13.x) 以上であることを確認します。 1
cat exportDescriptor.properties | Select-String -Pattern createdByBuildNumber |
これは次のコマンドを使用して検証できます。返されるバージョンが 5.10.x 以上であることを確認します。 1
grep '<product name="Confluence" version=' application.xml |
この確認は、2 つ以上の Confluence Cloud サイトをマージしてみる際に適用されます。よくあるシナリオの 1 つとして、いずれかのサイトを XML バックアップとしてエクスポートして Confluence Server インスタンスにインポートし、Confluence Cloud Migration Assistant を活用して目的のクラウド サイトにマージする方法があります。これによって、Cloud サイトから Server インスタンスにアプリ (アドオン) ユーザーが移動されます。Server の世界においてアドオン ユーザーは一般的ではないため、Cloud に戻す移行の際にいくつかの問題が発生する可能性があります。移行前に、これらのユーザーを削除または更新します。
次のクエリを使用してこれらのユーザーを見つけ、削除するかメール アドレスを @connect.atlassian.com 以外のものに更新します。 1
2
--ADD-ON USERS - TESTED ON POSTGRESQL
select * from cwd_user where lower_email_address like '%connect.atlassian.com%'; |
移行アシスタントは重複しているメール アドレスにフラグを付け、すべてのユーザーが一意のメール アドレスを持つまで移行を実行しません。プロアクティブな手順として、あらかじめ見つけて修正することをおすすめします。ユーザー情報が LDAP サーバー内で管理されている場合、移行前に LDAP サーバー内でメールを更新し、Confluence に同期しておく必要があります。ユーザー情報がローカルで管理されている場合、メールは Confluence Server の UI 経由で修正できます。
次のクエリを使用して、重複しているメール アドレス、それらのアドレスの重複回数、およびそのメール アドレスに割り当てられたユーザーを見つけることができます。 1
2
3
--DUPLICATED EMAIL ADDRESSES - TESTED ON POSTGRESQL
select lower_email_address, count(lower_email_address), array_agg(user_name) as "Users with Dupe E-Mail"
from cwd_user group by lower_email_address having count(lower_email_address) > 1; |
移行アシスタントは重複しているユーザー名にフラグを付け、すべてのユーザーが一意のユーザー名を持つまで移行を許可しません。これは、Confluence の内部ディレクトリと Confluence の LDAP ディレクトリ内に同じユーザー名のユーザーが存在する場合に発生する可能性があります。その場合は、移行を開始する前に、ユーザーの名前を変更するか、いずれかを削除します。
次のクエリを使用して重複しているユーザー名を特定します。 1
2
3
--DUPLICATED USERNAMES - TESTED ON POSTGRESQL
select lower_user_name, count(lower_user_name)
from cwd_user group by lower_user_name having count(lower_email_address) > 1; |
Cloud 内にすでに存在していたり、Cloud 関連機能に固有のグループだったりするために、移行されないグループがあります。これらのグループが移行前に Server インスタンスに存在している場合は、グループベースのアクセスが保持されるようにグループ名を変更することが重要です。
以下のクエリによって、Server インスタンスにこのようなグループが存在するかどうかを確認します。存在する場合は、移行前に Server で名前を変更します。 1
2
3
--RESTRICTED GROUPS - TESTED ON POSTGRESQL
select lower_group_name from cwd_group where lower_group_name in
('site-admins', 'system-administrators', 'atlassian-addons', 'atlassian-addons-admin'); |
移行アシスタントは、移行を実行するために Atlassian のドメインに接続します。ファイアウォールまたはリバース プロキシによってドメインがブロックされると、移行は失敗します。移行前に、Atlassian Cloud 製品の IP アドレスとドメインがセキュリティ ルールによってブロックされていないことを確認します。
Confluence Cloud Migration Assistant は、アプリまたはアドオン データを移行しません。移行するアプリ データがある場合、データを適切に移行する方法を事前にベンダーに問い合わせてください。これには、Confluence Questions や Team Calendars for Confluence などのアトラシアン製のアプリが含まれます。これらのアプリのいずれかを移行する必要がある場合、関連する機能リクエストをウォッチして最新情報を受け取ることができます。
次のクエリを使用して、Team Calendars または Questions for Confluence をインストールしたかどうかを確認します。 1
grep -e '<key>com.atlassian.confluence.plugins.confluence-questions</key>' -e '<key>com.atlassian.confluence.extra.team-calendars</key>' -- application.xml |
Confluence Server または Cloud サイトをインターネットで公開するように構成できます。移行前に、これまでに公開済みのスペースが Server 内にあるかどうかを確認して、それらの匿名アクセスのセットアップを削除します (コンテンツを公開することが想定されている場合を除く)。パブリック アクセス設定の確認に関する詳細についてご確認ください。
次のクエリを使用して、自分のスペース権限を確認します。 1
2
3
select spaces.spacekey, spaces.spaceid, spacepermissions.permtype from public.spacepermissions
inner join public.spaces on spacepermissions.spaceid = spaces.spaceid where spacepermissions.permtype = 'VIEWSPACE'
and spacepermissions.permgroupname is null and spacepermissions.permusername is null; |
移行するデータの量によっては、Confluence Server で OutOfMemory エラーが発生する場合があります。これによって、移行全体がクラッシュします。これを防ぐため、アプリケーションが 4GB 以上のヒープ割り当てで実行していることを確認します (この値未満である場合は可能な限り近づけます)。
/confluence-installation-directory/bin/setenv.sh ファイルに移動して、次の両方のパラメーターが 4096m または 4g (メガバイトではなくギガバイトで設定されている場合) を上回っていることを確認します。 1
-Xms4096m -Xmx4096m また、オープンなファイルの制限を確認します。32768 になるべく近い数が理想的です。システムに設定されるオープンなファイルの数は、Linux ディストリビューションに応じて異なる場合があります。これをシステム コマンド経由で確認する方法が不明な場合、サポート Zip を作成し、application-propperties/application.xml ファイルを開いて、<max-file-descriptor> を検索します。この数が 32768 に近い場合は、必要に応じて調整します。 詳細は、「Too many open files エラー」ドキュメントで確認できます。これは、Windows を実行している場合には適用されません。 |
/confluence-installation-directory/bin/setenv.sh ファイルに移動して、次の両方のパラメーターが 4096m または 4g (メガバイトではなくギガバイトで設定されている場合) を上回っていることを確認します。 1
-Xms4096m -Xmx4096m |
次の手順の最初のステップに従います (ステップ内の Windows サービスを探します)。 |
次のクエリを使用して、4 GB 以上のヒープ割り当てを実行していることを確認します。 1
grep '<max-heap>' application.xml |
移行先の Cloud サイトに既存のデータがある場合は、スペースのインポート前にサイト バックアップを作成します。
テストまたはステージング Cloud サイトへのテスト移行を行ってから最終移行を行うことを、強く推奨します。移行テストのガイダンスをご参照ください。
週末や祝日に移行を行う、またはクラウド上のユーザーが 1,000 人を超える場合は、少なくとも 2 週間前にサポート チームにお知らせください。アトラシアンで人員を確保したうえで、移行をサポートします。
Server から Cloud に移行する際は、Confluence Cloud Migration Assistant を使用することを強くお勧めします。この製品を使用できない、または Confluence Cloud にインポートするスペースが別の Cloud サイトからエクスポートされている (例: Cloud から Cloud への移行) 場合は、移行の実行前に次のチェックリストを使用します。
スペース エクスポートの XML は移行先の Cloud サイトに、ユーザー、グループ、またはグループのメンバーシップをインポートしません。つまり、これらのユーザーまたはグループに制限されているページがある場合は、移行先のサイトでそのユーザーとグループを再作成しない限り、それらのページは参照できません。
移行を実行するユーザーが宛先の Cloud サイト内に存在して、サイト管理者権限を付与されていることを確認します。
スペース エクスポートの XML は、アプリのデータ (Team Calendars などのアトラシアン製アプリを含む) は移行しません。移行が必要なアプリを評価したあとに、アプリ データを移行できるかどうかをアプリの開発元に確認する必要があります。
次のクエリを使用して、Team Calendars または Questions for Confluence をインストールしたかどうかを確認します。 1
grep -e '<key>com.atlassian.confluence.plugins.confluence-questions</key>' -e '<key>com.atlassian.confluence.extra.team-calendars</key>' -- application.xml |
インポートするスペースが別の Cloud サイトのものである場合、バージョンは確認不要です。
Confluence Server または Data Center からスペースをインポートする場合、インスタンスがバージョン 6.13.x 移行を実行中であることを確認します。バージョンが古い場合、インポートは正常に機能しません。以前のバージョンを実行している場合、最初にアップグレードする必要があります。
Confluence のバージョンを検証するには、次の手順を実行します。
また、Linux および Windows では次の方法も使用できます。 |
これは次のコマンドを使用して検証できます。返される数字が 7901 (Confluence 6.13.x) 以上であることを確認します。 1
grep 'createdByBuildNumber' exportDescriptor.properties |
これは次のコマンドを使用して検証できます。返される数字が 7901 (Confluence 6.13.x) 以上であることを確認します。 1
cat exportDescriptor.properties | Select-String -Pattern createdByBuildNumber |
スペース エクスポートの XML が破損していないことを確認します。
Cloud にインポートする前に次のコマンドを実行して、破損しているデータがないことを確認します。 1
xmllint --noout entities.xml XML が適切に構成されている場合、コマンドは何も返しません。値が返される場合、インポートを実行する前に報告された問題を修正します。 |
インポートするファイルがスペース エクスポート (完全なサイト エクスポートでない) ことを確認します。スペース エクスポートではない場合、インポート プロセスは失敗します。
XML ファイルを Cloud にインポートする前に次のコマンドを実行して、exportType=space が返されることを確認します。 1
grep 'exportType' exportDescriptor.properties これが返されない場合、ご利用のファイルはサイトのエクスポート ファイルで、代わりにスペース エクスポートを作成する必要があります。 |
XML ファイルを Cloud にインポートする前に次のコマンドを実行して、exportType=space が返されることを確認します。 1
cat exportDescriptor.properties | Select-String -Pattern exportType これが返されない場合、ご利用のファイルはサイトのエクスポート ファイルで、代わりにスペース エクスポートを作成する必要があります。 |
各スペースは一意のスペース キーに関連付けられています。インポートするスペースが Cloud 内にすでに存在しているスペース キーを持つ場合、インポートは失敗します。
以下のコマンドを実行してスペース キーを取得し、宛先の Cloud インスタンスに存在していないことをインポート前に確認します。 1
grep 'spaceKey' exportDescriptor.properties |
以下のコマンドを実行してスペース キーを取得し、宛先の Cloud インスタンスに存在していないことをインポート前に確認します。 1
cat exportDescriptor.properties | Select-String -Pattern spaceKey |
移行するデータの量によっては、Confluence Server で OutOfMemory エラーが発生する場合があります。これによって、移行全体がクラッシュします。これを防ぐため、アプリケーションが 4GB 以上のヒープ割り当てで実行していることを確認します (この値未満である場合は可能な限り近づけます)。
/confluence-installation-directory/bin/setenv.sh ファイルに移動して、次の両方のパラメーターが 4096m または 4g (メガバイトではなくギガバイトで設定されている場合) を上回っていることを確認します。 1
-Xms4096m -Xmx4096m また、オープンなファイルの制限を確認します。32768 になるべく近い数が理想的です。システムに設定されるオープンなファイルの数は、Linux ディストリビューションに応じて異なる場合があります。これをシステム コマンド経由で確認する方法が不明な場合、サポート Zip を作成し、application-propperties/application.xml ファイルを開いて、<max-file-descriptor> を検索します。この数が 32768 に近い場合は、必要に応じて調整します。 このエラーの詳細については、こちらをご参照ください。これは、Windows を実行している場合には適用されません。 |
/confluence-installation-directory/bin/setenv.sh ファイルに移動して、次の両方のパラメーターが 4096m または 4g (メガバイトではなくギガバイトで設定されている場合) を上回っていることを確認します。 1
-Xms4096m -Xmx4096m |
次の手順のステップ 1 に従います (ステップ内の Windows サービスを探します)。 |
次のクエリを使用して、4 GB 以上のヒープ割り当てを実行していることを確認します。 1
grep '<max-heap>' application.xml |
移行先の Cloud サイトに既存のデータがある場合は、スペースのインポート前にサイト バックアップを作成します。
テストまたはステージング Cloud サイトへのテスト移行を行ってから最終移行を行うことを、強く推奨します。移行テストのガイダンスをご参照ください。
週末や祝日に移行を行う、または Cloud 上のユーザーが 1,000 人を超える場合は、少なくとも 2 週間前にサポート チームにお知らせください。アトラシアンで人員を確保したうえで、移行をサポートします。
この方法は、Cloud サイトに Confluence のみが存在する場合にのみ利用できます。この方法は多数の制限があるため、移行に利用するのはお勧めしません。
Confluence Cloud Migration Assistant またはスペース単位でのインポートを活用する代わりにこの方法を使用する必要がある場合は、サポート チームにお問い合わせください。お客様の移行に最適なアプローチの決定をサポートいたします。
移行をサポートする多数のチャネルをご用意しています。
移行の計画については「Atlassian クラウド移行センター」をご参照ください。
技術的な問題が発生している、または戦略やベスト プラクティスに関するサポートが必要な場合は、サポート チームにお問い合わせください。
専門的なアドバイスについては「アトラシアン コミュニティ」をご参照ください。
専門家によるサポートが必要な場合は、アトラシアン パートナーにご相談ください。
この内容はお役に立ちましたか?