物理サーバーの検出および評価のサポート マトリックス

注意

この記事では、間もなくサポート終了状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。

この記事では、Azure Migrate: 検出および評価ツールを使って、Azure に移行するために物理サーバーを評価する場合の前提条件とサポート要件について説明します。 物理サーバーを Azure に移行する場合は、移行のサポート マトリックスを確認してください。

物理サーバーを評価するには、プロジェクトを作成し、そのプロジェクトに Azure Migrate: 検出および評価ツールを追加します。 ツールを追加した後、Azure Migrate アプライアンスをデプロイします。 アプライアンスでオンプレミス サーバーが継続的に検出され、サーバーのメタデータとパフォーマンス データが Azure に送信されます。 検出が完了したら、検出されたサーバーをグループにまとめ、グループに対して評価を実行します。

制限事項

サポート 詳細
評価の上限 1 つのプロジェクトで最大 35,000 個の物理サーバーを検出して評価できます。
プロジェクトの制限 1 つの Azure サブスクリプションで複数のプロジェクトを作成できます。 物理サーバーに加えて、それぞれの評価の上限に達するまで、1 つのプロジェクトに VMware 上および Hyper-V 上のサーバーを含めることができます。
探索 Azure Migrate アプライアンスでは、最大 1000 台の物理サーバーを検出できます。
評価 1 つのグループに最大 35,000 台のサーバーを追加できます。

1 回の評価で最大 35,000 台のサーバーを評価できます。

評価の詳細についてはこちらをご覧ください。

物理サーバーの要件

  • 物理サーバーの展開: 物理サーバーは、スタンドアロンにすることも、クラスターにデプロイすることもできます。

  • サーバーの種類: ベアメタル サーバー、オンプレミスで実行される仮想化サーバー、または他のクラウド (アマゾン ウェブ サービス (AWS)、Google Cloud Platform (GCP)、Xen など)。

    Note

    現在、Azure Migrate は、準仮想化サーバーの検出をサポートしていません。

  • オペレーティング システム: すべての Windows および Linux オペレーティング システムを、移行のために評価することができます。

Windows サーバーのアクセス許可

  • Windows サーバーの場合、ドメイン参加済みのサーバーにはドメイン アカウントを、ドメインに参加していないサーバーにはローカル アカウントを使います。
  • 物理的な検索については、ダウン レベル形式 (domain\username) でユーザー名を指定します。UPN 形式 (username@domain.com) はサポートされていません。

ユーザー アカウントは、次の 2 つの方法のいずれかで作成できます。

オプション 1

サーバーへの管理者特権を持つアカウントを作ります。 このアカウントを使って次のことを行います。

  • Common Information Model (CIM) 接続を使って構成とパフォーマンスのデータをプルします。
  • ソフトウェア インベントリ (インストールされているアプリケーションの検出) を実行します。
  • PowerShell リモート処理を使って、エージェントレスの依存関係の分析を有効にします。

Note

ソフトウェア インベントリ (インストールされているアプリケーションの検出) を実行し、Windows サーバー上でエージェントレスの依存関係の分析を有効にする場合は、オプション 1 を使うことをお勧めします。

オプション 2

  • 次のグループにユーザー アカウントを追加する必要があります: リモート管理ユーザー、パフォーマンス モニター ユーザー、パフォーマンス ログ ユーザー。
  • リモート管理ユーザー グループが存在しない場合は、次のユーザー アカウントをグループ WinRMRemoteWMIUsers_ に追加します。
  • そのアカウントでは、サーバーとの CIM 接続を作成し、必要な構成とパフォーマンスに関するメタデータをここに示される Windows Management Instrumentation (WMI) クラスからプルするために、アプライアンスに対してこれらの許可が必要です。
  • 場合によっては、アカウントをこれらのグループに追加しても、必要なデータが WMI クラスから返されないことがあります。 ユーザー アカウント制御 (UAC) によってそのアカウントが除外されている可能性があります。 この UAC フィルター処理を克服するには、ターゲット サーバー上の CIMV2 名前空間およびサブ名前空間に対する必要なアクセス許可をユーザー アカウントが持っている必要があります。 必要なアクセス許可を有効にするには、「Azure Migrate アプライアンスのトラブルシューティング」を参照してください。

Note

Windows Server 2008 および 2008 R2 の場合は、Windows Management Framework 3.0 がサーバーにインストールされていることを確認します。

Windows サーバー上で SQL Server データベースを検出するために、Windows 認証と SQL Server 認証の両方がサポートされています。 アプライアンス構成マネージャーで両方の種類の認証の資格情報を指定できます。 Azure Migrate には、sysadmin サーバー ロールのメンバーである Windows ユーザー アカウントが必要です。

Linux サーバーのアクセス許可

Linux サーバーの場合、実行する機能に基づいて、次の 2 つの方法のいずれかを使ってユーザー アカウントを作成できます。

オプション 1

  • 検出するサーバーの sudo ユーザー アカウントが必要です。 このアカウントを使って次のことを行います。

    • 構成とパフォーマンスのメタデータをプルします。
    • ソフトウェア インベントリ (インストールされているアプリケーションの検出) を実行します。
    • Secure Shell (SSH) 接続を使って、エージェントレスの依存関係の分析を有効にします。
  • Linux サーバーのメタデータに表示されるコマンドを実行するには、/usr/bin/bash で sudo アクセスを有効にする必要があります。 これらのコマンドに加え、ユーザー アカウントには、エージェントレスの依存関係分析を実行するための ls コマンドと netstat コマンドを実行できるアクセス許可も必要です。

  • sudo コマンドが呼び出されるたびにパスワードを要求することなく要求されたコマンドを実行するために、アカウントで NOPASSWD を有効にしていることを確認してください。

  • Azure Migrate & Modernize は、sudo アクセスを持つアカウントを使った検出に対して、次の Linux OS ディストリビューションをサポートしています。

    オペレーティング システム Versions
    Red Hat Enterprise Linux 5.1、5.3、5.11、6.x、7.x、8.x、9.x
    CentOS 5.1、5.9、5.11、6.x、7.x、8.x
    Ubuntu 12.04、14.04、16.04、18.04、20.04
    Oracle Linux 6.1、6.7、6.8、6.9、7.2、7.3、7.4、7.5、7.6、7.7、7.8、7.9、8、8.1、8.3、8.5
    SUSE Linux 10、11 SP4、12 SP1、12 SP2、12 SP3、12 SP4、15 SP2、15 SP3
    Debian 7、8、9、10、11
    Amazon Linux 2.0.2021
    CoreOS Container 2345.3.0

Note

ソフトウェア インベントリ (インストールされているアプリケーションの検出) を実行し、Linux サーバー上でエージェントレスの依存関係の分析を有効にする場合は、オプション 1 を使うことをお勧めします。

オプション 2

  • sudo アクセス権を持つ root アカウントまたはユーザー アカウントを指定できない場合は、アプライアンス サーバーの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureAppliance レジストリで isSudo レジストリ キーを値 0 に設定できます。 次のコマンドを使って、非 root アカウントに必要な機能を提供します。

    コマンド 目的
    setcap CAP_DAC_READ_SEARCH+eip /usr/sbin/fdisk

    setcap CAP_DAC_READ_SEARCH+eip /sbin/fdisk "
    "
    ディスク構成データを収集します。
    setcap "cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_setuid,
    cap_setpcap,cap_net_bind_service,cap_net_admin,cap_sys_chroot,cap_sys_admin,
    cap_sys_resource,cap_audit_control,cap_setfcap=+eip" /sbin/lvm
    ディスク パフォーマンス データを収集します。
    setcap CAP_DAC_READ_SEARCH+eip /usr/sbin/dmidecode BIOS シリアル番号を収集します。
    chmod a+r /sys/class/dmi/id/product_uuid BIOS GUID を収集します。
  • サーバーでエージェントレスの依存関係分析を実行するには、次のコマンドを使用して、/bin/netstat ファイルと /bin/ls ファイルに対して必要なアクセス許可も設定します。
    sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep /bin/ls
    sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep /bin/netstat

Azure Migrate アプライアンスの要件

Azure Migrate では、Azure Migrate アプライアンスを使用して検出と評価を行います。 物理サーバーのアプライアンスは、仮想マシン (VM) または物理サーバー上で実行できます。

ポート アクセス

次の表は、評価のためのポート要件をまとめたものです。

Device Connection
アプライアンス TCP ポート 3389 で、アプライアンスへのリモート デスクトップ接続を許可するための受信接続。

ポート 44368 で、https://<appliance-ip-or-name>:44368 という URL を使用してアプライアンス管理アプリにリモートでアクセスするための受信接続。

ポート 443 (HTTPS) で検出とパフォーマンスのメタデータを Azure Migrate & Modernize に送信するための送信接続。
物理サーバー Windows: WinRM ポート 5985 (HTTP) で Windows サーバーから構成とパフォーマンスのメタデータをプルするためのインバウンド接続。

Linux: ポート 22 (TCP) で Linux サーバーから構成とパフォーマンスのメタデータをプルするための受信接続。

ソフトウェア インベントリの要件

サーバーの検出に加えて、Azure Migrate: Discovery and Assessment では、ソフトウェア インベントリをサーバーで実行できます。 ソフトウェア インベントリには、Azure Migrate & Modernize を使って検出された、Windows サーバーおよび Linux サーバーで実行されているアプリケーション、ロール、機能の一覧が表示されます。 これにより、オンプレミスのワークロードに合わせて調整された移行パスを特定し、計画することができます。

サポート 詳細
サポートされているサーバー 各 Azure Migrate アプライアンスから検出された最大 1,000 台のサーバーに対してソフトウェア インベントリを実行できます。
オペレーティング システム サーバーの要件を満たし必要なアクセス許可を持つ、すべての Windows と Linux のバージョンが稼働するサーバーがサポートされています。
サーバーの要件 Windows サーバーでは PowerShell リモート処理を有効にし、PowerShell バージョン 2.0 以降をインストール済みである必要があります。

サーバーにインストールされている役割と機能の詳細を収集するために、WMI を有効にして、Windows サーバーで使用できるようにしてください。

Linux サーバーで SSH 接続を有効にし、Linux サーバーで次のコマンドを実行してアプリケーション データを抽出できる必要があります: list、tail、awk、grep、locate、head、sed、ps、print、sort、uniq。 使っている OS の種類とパッケージ マネージャーの種類によっては、その他のコマンドもあります: rpm/snap/dpkg、yum/apt-cache、mssql-server。
Windows サーバーのアクセス Windows サーバーのゲスト ユーザー アカウント。
Linux サーバーのアクセス すべての Linux サーバーの標準ユーザー アカウント (非 sudo アクセス)。
ポート アクセス Windows サーバーはポート 5985 (HTTP) でアクセスする必要があります。 Linux サーバーはポート 22 (TCP) でアクセスする必要があります。
探索 ソフトウェア インベントリを実行するには、アプライアンスに追加されたサーバーの資格情報を使って、サーバーに直接接続します。

アプライアンスは、PowerShell リモート処理を使って Windows サーバーから、または SSH 接続を使って Linux サーバーから、ソフトウェア インベントリに関する情報を収集します。

ソフトウェア インベントリはエージェントレスです。 エージェントはサーバーにインストールされません。

SQL Server インスタンスとデータベース検出の要件

ソフトウェア インベントリにより、SQL Server インスタンスが識別されます。 この情報を使い、アプライアンス構成マネージャーで提供される Windows 認証または SQL Server 認証の資格情報を介して、アプライアンスからそれぞれの SQL Server インスタンスへの接続が試みられます。 アプライアンスは、ネットワーク通信経路がある SQL Server インスタンスにのみ接続できます。 ソフトウェア インベントリ自体には、ネットワーク通信経路が必要ない場合があります。

アプライアンスが接続された後、SQL Server インスタンスとデータベースの構成とパフォーマンスのデータが収集されます。 アプライアンスは、24 時間ごとに SQL Server 構成データを更新し、30 秒ごとにパフォーマンス データを取り込みます。

サポート 詳細
サポートされているサーバー VMware、Microsoft Hyper-V、物理またはベアメタル環境で SQL Server を実行しているサーバーと、AWS や GCP などの他のパブリック クラウドのサービスとしてのインフラストラクチャ (IaaS) サーバーでのみサポートされています。

1 つのアプライアンスから、最大 750 個の SQL Server インスタンスまたは 15,000 個の SQL データベースのいずれか少ない方を検出できます。 スケーリングの問題を回避するために、アプライアンスのスコープで検出する SQL を実行しているサーバーの数は 600 未満にすることをお勧めします。
Windows サーバー Windows Server 2008 以降がサポートされています。
Linux サーバー 現在サポートされていません。
認証メカニズム Windows と SQL Server の両方の認証がサポートされています。 アプライアンス構成マネージャーで両方の種類の認証の資格情報を指定できます。
SQL Server へのアクセス SQL Server インスタンスとデータベースを検出するには、Windows または SQL Server アカウントが sysadmin サーバー ロールのメンバーであるか、各 SQL Server インスタンスに対してこれらのアクセス許可を持っている必要があります。
SQL Server のバージョン SQL Server 2008 以降がサポートされています。
SQL Server のエディション Enterprise、Standard、Developer、Express の各エディションがサポートされています。
サポートされている SQL 構成 スタンドアロン、高可用性、ディザスター保護 SQL デプロイの検出がサポートされています。 Always On フェールオーバー クラスター インスタンスと Always On 可用性グループを利用した高可用性およびディザスター リカバリー SQL デプロイの検出もサポートされています。
サポートされている SQL サービス SQL Server データベース エンジンのみがサポートされています。

SQL Server Reporting Services、SQL Server Integration Services、SQL Server Analysis Services の検出はサポートされていません。

Note

既定では、Azure Migrate から SQL インスタンスへの接続には、最も安全な方法が使われます。 つまり、TrustServerCertificate プロパティを true に設定すると、Azure Migrate & Modernize により、Azure Migrate アプライアンスとソース SQL Server インスタンス間の通信が暗号化されます。 また、トランスポート層では、Secure Sockets Layer を使ってチャネルが暗号化され、証明書チェーンによる信頼性の検証がバイパスされます。 そのため、証明書のルート証明機関を信頼するようにアプライアンス サーバーを設定する必要があります。

ただし、アプライアンス上で [SQL Server の接続プロパティの編集] を選び、接続設定を変更することができます。 選択内容の詳細については、こちらを参照してください。

SQL Server 検出用のカスタム ログインを構成する

次のサンプル スクリプトを使ってログインを作成し、必要なアクセス許可でそれをプロビジョニングします。

Windows 認証

-- Create a login to run the assessment
use master;
DECLARE @SID NVARCHAR(MAX) = N'';
CREATE LOGIN [MYDOMAIN\MYACCOUNT] FROM WINDOWS;
SELECT @SID = N'0x'+CONVERT(NVARCHAR, sid, 2) FROM sys.syslogins where name = 'MYDOMAIN\MYACCOUNT'
IF (ISNULL(@SID,'') != '')
  PRINT N'Created login [MYDOMAIN\MYACCOUNT] with SID = ' + @SID
ELSE
  PRINT N'Login creation failed'
GO    

-- Create user in every database other than tempdb, model, and secondary AG databases (with connection_type = ALL) and provide minimal read-only permissions.
USE master;
EXECUTE sp_MSforeachdb '
  USE [?];
  IF (''?'' NOT IN (''tempdb'',''model''))
  BEGIN
    DECLARE @is_secondary_replica BIT = 0;
    IF CAST(PARSENAME(CAST(SERVERPROPERTY(''ProductVersion'') AS VARCHAR), 4) AS INT) >= 11
    BEGIN
      DECLARE @innersql NVARCHAR(MAX);
      SET @innersql = N''
        SELECT @is_secondary_replica = IIF(
          EXISTS (
              SELECT 1
              FROM sys.availability_replicas a
              INNER JOIN sys.dm_hadr_database_replica_states b
              ON a.replica_id = b.replica_id
              WHERE b.is_local = 1
              AND b.is_primary_replica = 0
              AND a.secondary_role_allow_connections = 2
              AND b.database_id = DB_ID()
          ), 1, 0
        );
      '';
      EXEC sp_executesql @innersql, N''@is_secondary_replica BIT OUTPUT'', @is_secondary_replica OUTPUT;
    END
    IF (@is_secondary_replica = 0)
    BEGIN
      CREATE USER [MYDOMAIN\MYACCOUNT] FOR LOGIN [MYDOMAIN\MYACCOUNT];
      GRANT SELECT ON sys.sql_expression_dependencies TO [MYDOMAIN\MYACCOUNT];
      GRANT VIEW DATABASE STATE TO [MYDOMAIN\MYACCOUNT];
    END
  END'
GO

-- Provide server level read-only permissions
use master;
GRANT SELECT ON sys.sql_expression_dependencies TO [MYDOMAIN\MYACCOUNT];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [MYDOMAIN\MYACCOUNT];
GRANT EXECUTE ON OBJECT::sys.xp_instance_regread TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW DATABASE STATE TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW SERVER STATE TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW ANY DEFINITION TO [MYDOMAIN\MYACCOUNT];
GO

-- Provide msdb specific permissions
use msdb;
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [MYDOMAIN\MYACCOUNT];
GO

-- Clean up
--use master;
-- EXECUTE sp_MSforeachdb 'USE [?]; DROP USER [MYDOMAIN\MYACCOUNT]'
-- DROP LOGIN [MYDOMAIN\MYACCOUNT];
--GO

SQL Server 認証

--- Create a login to run the assessment
use master;
-- NOTE: SQL instances that host replicas of Always On availability groups must use the same SID for the SQL login.
 -- After the account is created in one of the members, copy the SID output from the script and include this value
 -- when executing against the remaining replicas.
 -- When the SID needs to be specified, add the value to the @SID variable definition below.
DECLARE @SID NVARCHAR(MAX) = N'';
IF (@SID = N'')
BEGIN
 CREATE LOGIN [evaluator]
     WITH PASSWORD = '<provide a strong password>'
END
ELSE
BEGIN
 DECLARE @SQLString NVARCHAR(500) = 'CREATE LOGIN [evaluator]
   WITH PASSWORD = ''<provide a strong password>''
   , SID = ' + @SID
 EXEC SP_EXECUTESQL @SQLString
END
SELECT @SID = N'0x'+CONVERT(NVARCHAR(100), sid, 2) FROM sys.syslogins where name = 'evaluator'
IF (ISNULL(@SID,'') != '')
 PRINT N'Created login [evaluator] with SID = '''+ @SID +'''. If this instance hosts any Always On Availability Group replica, use this SID value when executing the script against the instances hosting the other replicas'
ELSE
 PRINT N'Login creation failed'
GO

-- Create user in every database other than tempdb, model, and secondary AG databases (with connection_type = ALL) and provide minimal read-only permissions.
USE master;
EXECUTE sp_MSforeachdb '
 USE [?];
 IF (''?'' NOT IN (''tempdb'',''model''))
 BEGIN
   DECLARE @is_secondary_replica BIT = 0;
   IF CAST(PARSENAME(CAST(SERVERPROPERTY(''ProductVersion'') AS VARCHAR), 4) AS INT) >= 11
   BEGIN
     DECLARE @innersql NVARCHAR(MAX);
     SET @innersql = N''
       SELECT @is_secondary_replica = IIF(
         EXISTS (
           SELECT 1
           FROM sys.availability_replicas a
           INNER JOIN sys.dm_hadr_database_replica_states b
             ON a.replica_id = b.replica_id
           WHERE b.is_local = 1
             AND b.is_primary_replica = 0
             AND a.secondary_role_allow_connections = 2
             AND b.database_id = DB_ID()
         ), 1, 0
       );
     '';
     EXEC sp_executesql @innersql, N''@is_secondary_replica BIT OUTPUT'', @is_secondary_replica OUTPUT;
   END

   IF (@is_secondary_replica = 0)
   BEGIN
       CREATE USER [evaluator] FOR LOGIN [evaluator];
       GRANT SELECT ON sys.sql_expression_dependencies TO [evaluator];
       GRANT VIEW DATABASE STATE TO [evaluator];
   END
 END'
GO

-- Provide server level read-only permissions
USE master;
GRANT SELECT ON sys.sql_expression_dependencies TO [evaluator];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [evaluator];
GRANT EXECUTE ON OBJECT::sys.xp_instance_regread TO [evaluator];
GRANT VIEW DATABASE STATE TO [evaluator];
GRANT VIEW SERVER STATE TO [evaluator];
GRANT VIEW ANY DEFINITION TO [evaluator];
GO

-- Provide msdb specific permissions
USE msdb;
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [evaluator];
GO

-- Clean up
--use master;
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [evaluator] END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH;'
-- BEGIN TRY DROP LOGIN [evaluator] END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH;
--GO

Web アプリの検出要件

ソフトウェア インベントリを使うと、検出されたサーバーに存在する Web サーバー ロールを特定できます。 サーバーに Web サーバーがインストールされている場合、Azure Migrate & Modernize により、サーバー上の Web アプリが検出されます。

アプライアンスにドメインとドメイン以外の資格情報の両方を追加できます。 使うアカウントは、ソース サーバーに対するローカル管理者特権を持っている必要があります。 Azure Migrate & Modernize により、各サーバーに資格情報が自動的にマップされます。そのため、手動でマップする必要はありません。 最も重要なのは、これらの資格情報が Microsoft に送信されず、ソース環境で実行されているアプライアンスに残るという点です。

アプライアンスが接続されると、ASP.NET Web アプリ (IIS Web サーバー) と Java Web アプリ (Tomcat サーバー) の構成データが収集されます。 Web アプリ構成データは 24 時間に 1 回更新されます。

サポート ASP.NET Web アプリ Java Web アプリ
Stack VMware、Hyper-V、物理サーバー。 VMware、Hyper-V、物理サーバー。
Windows サーバー Windows Server 2008 R2 以降がサポートされています。 サポートされていません。
Linux サーバー サポートされていません。 Ubuntu Linux 16.04/18.04/20.04、Debian 7/8、CentOS 6/7、Red Hat Enterprise Linux 5/6/7。
Web Server のバージョン IIS 7.5 以降。 Tomcat 8 以降。
必要な特権 ローカル管理者。 root または sudo ユーザー。

Note

データが保存時と転送中に必ず暗号化されます。

依存関係の分析の要件 (エージェントレス)

依存関係の分析は、検出されたサーバー間の依存関係を分析するのに役立ちます。 Azure Migrate プロジェクトでマップ ビューを使うと、依存関係を簡単に視覚化できます。 依存関係を使って、Azure への移行のために関連サーバーをグループ化することができます。 次の表は、エージェントレスの依存関係の分析を設定するための要件をまとめたものです。

サポート 詳細
サポートされているサーバー アプライアンスごとに検出された最大 1,000 台のサーバーでエージェントレスの依存関係の分析を有効にできます。
オペレーティング システム サーバーの要件を満たし必要なアクセス許可を持つ、すべての Windows と Linux のバージョンが稼働するサーバーがサポートされています。
サーバーの要件 Windows サーバーでは PowerShell リモート処理を有効にし、PowerShell バージョン 2.0 以降をインストール済みである必要があります。

Linux サーバーで SSH 接続を有効にし、Linux サーバーで次のコマンドを実行できる必要があります。touch、chmod、cat、ps、grep、echo、sha256sum、awk、netstat、ls、sudo、dpkg、rpm、sed、getcap、date。
Windows サーバーのアクセス サーバーに対する管理者権限を持つユーザー アカウント (ローカルまたはドメイン)。
Linux サーバーのアクセス ls コマンドと netstat コマンドを実行するアクセス許可を持つ sudo ユーザー アカウント。 sudo ユーザー アカウントを用意している場合は、NOPASSWD を有効にしていることを確認します。これにより、このアカウントで、sudo コマンドが呼び出されるたびにパスワードを求めるプロンプトが表示されることなく、必要なコマンドを実行できます。

または、次のコマンドを使うことで、/bin/netstat ファイルと /bin/ls ファイルに CAP_DAC_READ_SEARCH と CAP_SYS_PTRACE のアクセス許可が付与されたユーザー アカウントを作成できます。

sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep usr/bin/ls
sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep usr/bin/netstat
ポート アクセス Windows サーバーはポート 5985 (HTTP) でアクセスする必要があります。 Linux サーバーはポート 22 (TCP) でアクセスする必要があります。
検出方法 エージェントレスの依存関係の分析を実行するには、アプライアンスに追加されたサーバーの資格情報を使ってサーバーに直接接続します。

アプライアンスは、PowerShell リモート処理を使って Windows サーバーから、または SSH 接続を使って Linux サーバーから、依存関係に関する情報を収集します。

依存関係データを抽出するためにエージェントはサーバーにインストールされません。

エージェント ベースの依存関係の分析の要件

依存関係の分析を使用すると、評価して Azure に移行するオンプレミスのサーバー間の依存関係を特定できます。 次の表は、エージェントベースの依存関係の分析を設定するための要件をまとめたものです。 現在、物理サーバーではエージェント ベースの依存関係の分析のみがサポートされています。

要件 詳細
デプロイ前 Azure Migrate: 検出および評価ツールがプロジェクトに追加された状態で、プロジェクトを準備する必要があります。

オンプレミスのサーバーを検出するには、Azure Migrate アプライアンスをセットアップした後、依存関係の視覚化をデプロイします

初めてプロジェクトを作成する方法についてはこちらを参照してください。
既存のプロジェクトに評価ツールを追加方法についてはこちらを参照してください。
Hyper-VVMware、または物理サーバーの評価のために Azure Migrate アプライアンスを設定する方法について説明します。
Azure Government 依存関係の視覚化は、Azure Government では使用できません。
Log Analytics Azure Migrate & Modernize は、依存関係の視覚化のために Azure Monitor ログService Map ソリューションを使います。

新規または既存の Log Analytics ワークスペースをプロジェクトに関連付けます。 プロジェクトのワークスペースは、ワークスペースの追加後に変更することはできません。

ワークスペースは、プロジェクトと同じサブスクリプションに含まれている必要があります。

ワークスペースは、米国東部リージョン、東南アジア リージョン、または西ヨーロッパ リージョンに存在する必要があります。 他のリージョンにあるワークスペースをプロジェクトに関連付けることはできません。
ワークスペースは、Service Map がサポートされているリージョンに存在する必要があります。 Azure VM は任意のリージョンで監視できます。 VM 自体は、Log Analytics ワークスペースでサポートされているリージョンに限定されません。

Log Analytics では、Azure Migrate & Modernize に関連付けられたワークスペースは、移行プロジェクト キーとプロジェクト名のタグが付けられます。
必要なエージェント 分析する各サーバーに、次のエージェントをインストールします。
- Microsoft Monitoring agent (MMA)
- 依存関係エージェント

オンプレミス サーバーがインターネットに接続されていない場合、Log Analytics ゲートウェイをダウンロードしてインストールする必要があります。

依存関係エージェントMMA のインストールの詳細を確認してください。
Log Analytics ワークスペース ワークスペースは、プロジェクトと同じサブスクリプションに含まれている必要があります。

Azure Migrate & Modernize では、米国東部、東南アジア、西ヨーロッパの各リージョンにあるワークスペースがサポートされます。

ワークスペースは、Service Map がサポートされているリージョンに存在する必要があります。 Azure VM は任意のリージョンで監視できます。 VM 自体は、Log Analytics ワークスペースでサポートされているリージョンに限定されません。

プロジェクトのワークスペースは、ワークスペースの追加後に変更することはできません。
コスト Service Map ソリューションには、最初の 180 日間料金が発生しません。 カウントは、Log Analytics ワークスペースをプロジェクトに関連付けた日から始まります。

180 日が経過すると、Log Analytics の標準の料金が適用されます。

この関連付けられた Log Analytics ワークスペース内で Service Map 以外のソリューションを使用すると、Log Analytics の標準の料金が発生します。

プロジェクトが削除されても、ワークスペースは自動的には削除されません。 プロジェクトを削除すると、Service Map の使用は無料ではなくなります。 各ノードは、Log Analytics ワークスペースの有料レベルに応じて課金されます。

Azure Migrate の一般提供 (2018 年 2 月 28 日に一般提供) より前に作成したプロジェクトがある場合は、他の Service Map 料金が発生する可能性があります。 確実に 180 日後にのみ支払いが発生するようにするために、新しいプロジェクトを作成することをお勧めします。 GA の前に作成されたワークスペースは引き続き課金対象となります。
管理 エージェントをワークスペースに登録する場合、プロジェクトで提供される ID とキーを使用します。

この Log Analytics ワークスペースは、Azure Migrate & Modernize 以外で使用できます。

関連付けられたプロジェクトを削除しても、ワークスペースは自動的に削除されません。 手動で削除してください

プロジェクトを削除する場合を除き、Azure Migrate & Modernize で作成されたワークスペースは削除しないでください。 そのようにすると、依存関係可視化機能が期待どおりに動作しなくなります。
インターネット接続 サーバーがインターネットに接続されていない場合は、そのサーバーに Log Analytics ゲートウェイをインストールします。
Azure Government エージェントベースの依存関係の分析はサポートされていません。

次のステップ

物理的な検出および評価を準備します。