次の方法で共有


オンプレミスの Azure DevOps の環境間の移動

Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

この記事では、ドメイン名の変更やワークグループからドメインへの移行など、Azure DevOps Server のデプロイをある環境から別の環境に移動する方法について説明します。 環境ベースの移動は、組織が IT インフラストラクチャを再構築したり、ドメイン名を更新したり、リソースを統合したりする場合に一般的です。

デプロイの準備、アクセス許可とアカウントの更新、サービスの停止、データのバックアップ、新しいドメインへの参加、ユーザーとサービス アカウントの移行、レポートおよび分析サービスの構成、バックアップ 計画の更新、サービスの再起動に関する詳細なガイダンスを確認できます。

Azure DevOps Server の環境を変更するには、競合を回避し、スムーズな移行を確保するために、特にアカウントと ID 管理に関する慎重な計画が必要です。 この記事では、移動を正常に完了するのに役立つベスト プラクティスと詳細な手順について説明します。

重要

場合によっては、Azure DevOps Server のデプロイとそのハードウェアのドメインを変更することが必要になる場合があります。 ハードウェアの変更は復元ベースの移動であり、2 つの移動の種類を組み合わせてはいけません。 最初に ハードウェアの移動を完了してから、環境を変更します。

環境移動の一環として Azure DevOps Server の ID を変更することは、最も頻繁に競合や問題を引き起こす側面です。 Id コマンドは強力なツールですが、特定の制限があります。 移動の計画の一環として、それについてお読みください。 移動を成功させるには、次の要件を理解していることを確認してください。

  • Azure DevOps Server にユーザー アカウントが存在すると、削除したり、別のアカウントをマップしたりすることはできません。 たとえば、DomainA/UserA を DomainB/UserB に移動する場合、Id コマンドは、DomainB/UserB がまだ Azure DevOps Server に存在しない場合にのみ、ユーザーの移行に機能します。
  • ローカル Administrators グループのメンバーは Azure DevOps Server に自動的に追加されるため、ドメインまたは環境を変更する前に、そのグループから移行するアカウントを必ず削除してください。

背景情報の詳細については、 このブログ記事を参照してください。

1. アクセス許可とアカウントを確認する

Azure DevOps Server の環境を変更するには、ローカル コンピューター、Azure DevOps Server、SQL Server、レポート、およびその他の依存ソフトウェア (Project Server など) で管理者としてサインインします。 移行する予定のアカウントは使用しないでください。ローカルの Administrators グループのメンバーは Azure DevOps Server に自動的に追加されるため、移行の問題が発生する可能性があります。 競合を防ぐために、移動には専用の管理アカウントを使用します。

管理者レベルのアクセス許可を確認する

  • 使用しているアカウントが次のグループのメンバーであることを確認します。
    • サーバー: 管理者 (ローカル管理者グループまたはそれと同等)
    • Azure DevOps Server: Team Foundation 管理者と管理コンソール ユーザー
    • SQL Server: システム管理者

これらのグループの 1 つ以上のメンバーでない場合は、 今すぐアクセス許可を取得します

アカウントに必要なすべてのアクセス許可があることを確認したら、ターゲット環境でアカウント名またはグループ名と競合する可能性があるかどうかを確認します。 ローカルの Administrators グループ内のアカウントは移行できないため、先に進む前に、そのグループから移行する予定のアカウントをすべて削除してください。

ローカルの Administrators グループから移行するアカウントを削除する

ローカルの Administrators グループを開き、新しい環境に移行する予定のアカウントをすべて削除します。 影響を受ける可能性のある他のグループに対して、このプロセスを繰り返します。

次に、現在の Azure DevOps Server 環境の ID の一覧を確認します。 新しい環境に既に存在する可能性があるグループまたはユーザー アカウントとの潜在的な競合を特定します。

ヒント

移動する ID のテーブルまたは移行マップを作成します。 移動中の問題の追跡と解決に役立つ、自動的に移行できないアカウントに関する詳細を含めます。

ID を確認する

  1. Azure DevOps のアプリケーション層サーバーで、管理アクセス許可を持つコマンド プロンプト ウィンドウを開き、\Microsoft Visual Studio 12.0 Team Foundation Server\Tools%ProgramFiles% に移動し、次のコマンドを実行して、システム内の現在の ID を表示します。

    TFSConfig Identities
    

ID の一覧が表示されます。

  1. Azure DevOps Server を移動する前に、ユーザーとグループを確認して、ターゲット環境で重複または競合する ID を特定します。 スムーズな移行を確実にするために、潜在的な競合を解決します。

2. サービスを停止する

サービスを停止すると、ユーザーは作業項目に変更を加えたり、移動プロセス中または移動後にソース コードを元の展開にチェックインしたりできなくなります。

  1. アプリケーション層コンピューターでコマンド プロンプト ウィンドウを開き、ディレクトリを Drive:\\%programfiles%\\TFS 12.0\\Toolsに変更します。

  2. 次の TFSServiceControl コマンドを入力します。

    TFSServiceControl quiesce
    

3. データベースと SQL Server Reporting Services 暗号化キーをバックアップする

  1. Azure DevOps Server の管理コンソールを開き、[ スケジュールされたバックアップ ] ページに移動します。 完全バックアップを実行して、バックアップ 計画で指定されたすべてをすぐにバックアップします。 デプロイでレポートを使用する場合は、このバックアップ セットに暗号化キーを含めます。

    ジョブの完了中にウィンドウを閉じることができます

    バックアップを構成したことがない場合は、完全 バックアップを作成する 前にバックアップ 計画を作成してください。

  2. バックアップが完了したら、ストレージ デバイスまたはネットワーク共有でバックアップが使用可能であることを確認し、新しいハードウェアからアクセスできることを確認します。

4. アプリケーション層サーバーを新しいドメインに参加させる

  1. 各サーバーで、コンピューターのプロパティを開きます。

  2. 目的のドメインまたはワークグループに参加するようにコンピューターの設定を変更します。

    メッセージが表示されたら、コンピューターをドメインに参加させるアクセス許可を持つアカウントの資格情報を入力します。

  3. コンピューターを再起動してドメインの変更を適用します。

    再起動後、一部のサービスまたはドライバーを起動できなかったという警告が表示されることがあります。 次の手順を安全に続行できます。

5. ユーザー アカウントとサービス アカウントを移動する

多くの場合、アカウントの移行は、特にユーザーの移行を慎重に計画していない場合に、環境を変更する際に最も困難な部分です。 TFSConfig Ids コマンドは、Azure DevOps Server に既に存在するターゲット アカウントにアカウントを移行できません。

アカウント名が両方のドメインで同一である場合 (ドメイン名のみが異なる)、TFSConfig ID のバッチ モードを使用して、すべての ID を一度に更新できます。 アカウント名が環境によって異なる場合は、以下で説明するように、各 ID を個別に更新し、新しいターゲット アカウント名を指定する必要があります。

  1. Azure DevOps のアプリケーション層サーバーで、管理者アクセス許可を持つコマンド プロンプト ウィンドウを開きます。 %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools に移動し、次のコマンドを実行して、サービス アカウントの SID を新しいドメインに更新します。

    TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
    

    警告

    サービス アカウントがシステム アカウント (ネットワーク サービスなど) の場合、同じ名前のシステム アカウントが新しい環境に存在するため、直接移行することはできません。 2 段階のプロセスに従う必要があります。 ID コマンドの例を参照してください。

  2. 新しい環境で同じ名前のすべてのアカウントを移行するには、次のコマンドを実行します。

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
    

    このコマンド バッチは、アカウントを処理します。

  3. 新しいドメインに環境間で異なる名前の ID が含まれている場合は、それぞれの SID を手動で更新します。 たとえば、Christie Church のアカウントが古い環境の Fabrikam\C Church で、新しい環境の NewFabrikam\ChristieC である場合は、次のように SID を更新します。

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. 次を実行してサービス アカウントを更新します。

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. デプロイでレポートを使用する場合は、データ ソース アカウントを更新します。

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. デプロイで Azure DevOps プロキシ サーバーを使用している場合は、プロキシ サービス アカウントを更新します。

    TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
    

    信頼されていないドメインに移行する場合は、チーム、プロジェクト、コレクション、Azure DevOps Server 自体にユーザーとグループを手動で追加することが必要になる場合もあります。 詳細については、「 プロジェクトへのユーザーの追加」、プロジェクト コレクションの管理者アクセス許可の設定Azure DevOps Server の管理者アクセス許可の設定に関するページを参照してください。

  7. 配置が Project Server と統合されている場合は、必要なアクセス許可を持つサービス アカウントを構成するために、他の手順を実行することが必要になる場合があります。 詳細については、「 TFS-Project Server 統合をサポートするためのアクセス許可の割り当て 」および「 TFS-Project Server 統合の構成」を参照してください。

6. レポートと分析サービスの構成

デプロイでレポートを使用しない場合は、この手順をスキップします。

移動中にレポート サーバーの名前を変更した場合は、新しいレポート サーバーの場所をポイントするように Azure DevOps Server を更新します。 また、ウェアハウスを再起動し、Analysis Services データベースを手動で再構築する必要もあります。

  1. Azure DevOps の管理コンソールを開き、[ レポート ] ノードに移動し、設定を編集します。

    レポートは引き続き古いサーバーを指しています

  2. 新しいサーバー名を反映するように、3 つのタブの値をすべて更新します。 新しい環境の正しいデータ ソース アカウント情報を入力してください。

    3 つのタブすべてで情報が正しいことを確認する

  3. [ジョブの再開] を選択してレポートを再開します。

  4. [ 再構築の開始] を選択して、ウェアハウスを再構築します。

7. バックアップを構成する

ドメイン名の変更中にネットワーク共有名またはストレージ デバイスを変更した場合は、スケジュールされたバックアップ 計画を更新して新しいリソースを参照します。

管理コンソールで、 スケジュールされたバックアップ ノードに移動し、スケジュールされたバックアップを再構成して、新しいサーバー上の Azure DevOps Server データベースをバックアップします。 詳細については、「 バックアップ スケジュールと計画を作成する」を参照してください。

8. サービスを再起動する

新しい環境のすべての情報を使用して Azure DevOps Server を更新し、サービスを再起動したら、次の手順を実行します。

  1. Azure DevOps Server アプリケーション層コンピューターで、管理アクセス許可を持つコマンド プロンプト ウィンドウを開き、ディレクトリを Drive:\%programfiles%\TFS 12.0\Tools に変更します。

  2. 次の TFSServiceControl コマンドを入力します。

    TFSServiceControl unquiesce
    

FAQ (よく寄せられる質問)

Q: ドメインではなく、展開用の物理サーバーを変更する必要があります。 それは可能ですか?

ある: はい。このアクションはハードウェアベースの移動と呼ばれ、手順は「 あるハードウェアから別のハードウェアへの移動または複製」で提供されます。 環境ベースの移動とハードウェア ベースの移動を組み合わせることはできません。 最初にハードウェアの移動を完了してから、環境を変更します。