Hyper-V 평가 지원 매트릭스
이 문서에서는 Azure Migrate: 검색 및 평가 도구를 사용하여 Azure로 마이그레이션하기 위해 Hyper-V 환경에서 실행되는 온-프레미스 서버를 검색하고 평가하는 경우의 필수 구성 요소 및 지원 요구 사항을 요약합니다. Hyper-V에서 실행되는 서버를 Azure로 마이그레이션하려면 마이그레이션 지원 매트릭스를 참조하세요.
Hyper-V에서 실행되는 서버의 검색 및 평가를 설정하려면 프로젝트를 만들고 프로젝트에 Azure Migrate: 검색 및 평가 도구를 추가합니다. 도구가 추가된 후 Azure Migrate 어플라이언스를 배포합니다. 이 어플라이언스는 지속적으로 온-프레미스 서버를 검색하고 서버 메타데이터 및 성능 데이터를 Azure에 보냅니다. 검색이 완료된 후에는 검색된 서버를 그룹으로 수집하고 그룹에 대한 평가를 실행합니다.
제한 사항
지원 | 세부 정보 |
---|---|
평가 제한 | 단일 프로젝트에서 최대 35,000개의 서버를 검색하고 평가할 수 있습니다. |
프로젝트 제한 | Azure 구독에서 여러 프로젝트를 만들 수 있습니다. Hyper-V의 서버 외에도 프로젝트는 VMware의 서버 및 물리적 서버를 각각에 대한 평가 제한까지 포함할 수 있습니다. |
검색 | Azure Migrate 어플라이언스는 Hyper-V에서 실행되는 최대 5,000개의 서버를 검색할 수 있습니다. 어플라이언스는 최대 300개의 Hyper-V 호스트에 연결할 수 있습니다. |
평가 | 단일 그룹에 최대 35,000대의 서버를 추가할 수 있습니다. 그룹에 대한 단일 평가에서 최대 35,000개의 서버를 평가할 수 있습니다. |
평가에 대해 자세히 알아보세요.
Hyper-V 호스트 요구 사항
지원 | 세부 정보 |
---|---|
Hyper-V 호스트 | Hyper-V 호스트는 독립 실행형이거나 클러스터에 배포할 수 있습니다. Hyper-V 호스트는 Windows Server 2022, Windows Server 2019, Windows Server 2016 또는 Windows Server 2012 R2를 실행할 수 있습니다. 이러한 운영 체제의 Server Core 설치도 지원됩니다. Windows Server 2012를 실행하는 Hyper-V 호스트에 있는 서버는 평가할 수 없습니다. |
사용 권한 | Hyper-V 호스트에 대한 관리자 권한이 필요합니다. 관리자 권한을 할당하지 않으려면 로컬 또는 도메인 사용자 계정을 만들고, 사용자 계정을 원격 관리 사용자, Hyper-V 관리자 및 성능 모니터 사용자 그룹에 추가합니다. |
PowerShell 원격 기능 | 각 Hyper-V 호스트에서 PowerShell 원격 기능을 사용하도록 설정해야 합니다. |
Hyper-V 복제본 | Hyper-V 복제본을 사용하며(또는 동일한 서버 식별자가 있는 여러 서버를 사용하는 경우) Azure 이전 및 현대화를 사용하여 원래 서버와 복제된 서버를 모두 검색하는 경우 Azure 이전 및 현대화에서 생성된 평가가 정확하지 않을 수 있습니다. |
서버 요구 사항
지원 | 세부 정보 |
---|---|
운영 체제 | 마이그레이션이 가능한지 모든 운영 체제를 평가할 수 있습니다. |
Integration Services | Hyper-V Integration Services는 운영 체제 정보를 캡처하기 위해 평가하는 서버에서 실행되고 있어야 합니다. |
스토리지 | 로컬 디스크, DAS, JBOD, 스토리지 공간, CSV 및 SMB. VHD/VHDX가 저장된 이러한 Hyper-V 호스트 스토리지가 지원됩니다. IDE 및 SCSI 가상 컨트롤러가 지원됩니다. |
Azure Migrate 어플라이언스 요구 사항
Azure Migrate 및 현대화는 검색 및 평가를 위해 Azure Migrate 어플라이언스를 사용합니다. 포털에서 다운로드한 압축된 Hyper-V VHD를 사용하거나 PowerShell 스크립트를 사용하여 어플라이언스를 배포할 수 있습니다. 자세한 내용은 다음에서 확인합니다.
- Hyper-V에 대한 어플라이언스 요구 사항에 대해 알아봅니다.
- 어플라이언스가 퍼블릭 클라우드 및 정부 클라우드에서 액세스해야 하는 URL에 대해 알아봅니다.
- Azure Government에서는 스크립트를 사용하여 어플라이언스를 배포합니다.
포트 액세스
다음 표에는 평가를 위한 포트 요구 사항이 요약되어 있습니다.
디바이스 | 연결 |
---|---|
어플라이언스 | 어플라이언스에 대한 원격 데스크톱 연결을 허용하기 위한 TCP 포트 3389에서 인바운드 연결 URL: https://<appliance-ip-or-name>:44368 을 사용하여 어플라이언스 관리 앱에 원격으로 액세스하기 위한 포트 44368의 인바운드 연결검색 및 성능 메타데이터를 Azure 이전 및 현대화로 보내기 위한 포트 443(HTTPS)의 아웃바운드 연결입니다. |
Hyper-V 호스트/클러스터 | CIM(Common Information Model) 세션을 사용하여 Hyper-V의 서버에 대한 메타데이터 및 성능 데이터를 가져오기 위한 WinRM 포트 5985(HTTP)의 인바운드 연결. |
서버 | Windows 서버는 포트 5985(HTTP)에 액세스해야 합니다. Linux 서버에서 소프트웨어 인벤토리 및 에이전트 없는 종속성 분석을 수행하려면 포트 22(TCP)에 액세스해야 합니다. |
소프트웨어 인벤토리 요구 사항
서버를 검색하는 것 외에도 Azure Migrate: 검색 및 평가는 서버에서 소프트웨어 인벤토리를 수행할 수 있습니다. 소프트웨어 인벤토리는 Azure Migrate 및 현대화를 사용하여 발견된 Windows 및 Linux 서버에서 실행되는 애플리케이션, 역할 및 기능 목록을 제공합니다. 이를 통해 온-프레미스 워크로드에 맞게 조정된 마이그레이션 경로를 쉽게 파악하고 계획할 수 있습니다.
지원 | 세부 정보 |
---|---|
지원되는 서버 | 각 Azure Migrate 어플라이언스에 추가된 Hyper-V 호스트/클러스터 전체에서 실행되는 최대 5,000대의 서버에서 소프트웨어 인벤토리를 수행할 수 있습니다. |
운영 체제 | Hyper-V 통합 서비스를 사용하도록 설정된 모든 Windows 및 Linux 버전 |
서버 요구 사항 | Windows 서버에는 PowerShell 원격을 사용하도록 설정되어 있고 PowerShell 버전 2.0 이상이 설치되어 있어야 합니다. 서버에 설치된 역할과 기능에 대한 세부 정보를 수집하려면 Windows 서버에서 WMI가 사용되도록 설정하고 사용할 수 있어야 합니다. Linux 서버에는 SSH(Secure Shell) 연결을 사용하도록 설정되어 있고 Linux 서버에서 다음 명령을 실행하여 애플리케이션 데이터(list, tail, awk, grep, locate, head, sed, ps, print, sort, uniq)를 끌어올 수 있는지 확인해야 합니다. OS 유형 및 사용 중인 패키지 관리자 유형에 따라 rpm/snap/dpkg, yum/apt-cache, mssql-server 등의 몇 가지 추가 명령이 있습니다. |
서버 액세스 | 소프트웨어 인벤토리를 위해 어플라이언스 구성 관리자에서 여러 도메인 자격 증명과 비도메인(Windows/Linux) 자격 증명을 추가할 수 있습니다. Windows 서버의 게스트 사용자 계정과 모든 Linux 서버의 표준 사용자 계정(비 sudo 액세스)이 있어야 합니다. |
포트 액세스 | Windows 서버는 포트 5985(HTTP)에 액세스해야 합니다. Linux 서버는 포트 22(TCP)에 액세스해야 합니다. 도메인 자격 증명을 사용하는 경우 Azure Migrate 어플라이언스는 다음 TCP 및 UDP 포트에 연결할 수 있어야 합니다. TCP 135 – RPC 엔드포인트 TCP 389 – LDAP TCP 636 – LDAP SSL TCP 445 – SMB TCP/UDP 88 – Kerberos 인증 TCP/UDP 464 – Kerberos 변경 작업 |
검색 | 소프트웨어 인벤토리는 어플라이언스에서 추가된 서버 자격 증명을 사용하여 서버에 직접 연결하여 수행됩니다. 어플라이언스는 PowerShell 원격을 사용하여 Windows 서버에서, SSH 연결을 사용하여 Linux 서버에서 소프트웨어 인벤토리에 대한 정보를 수집합니다. 소프트웨어 인벤토리는 에이전트가 없습니다. 에이전트는 서버에 설치되지 않습니다. |
SQL Server 인스턴스 및 데이터베이스 검색 요구 사항
소프트웨어 인벤토리는 SQL Server 인스턴스를 식별합니다. 어플라이언스는 이 정보를 사용하고 어플라이언스 구성 관리자에서 제공되는 Windows 인증 또는 SQL Server 인증 자격 증명을 통해 각 SQL Server 인스턴스에 연결하려고 시도합니다. 어플라이언스는 네트워크 가시성이 있는 SQL Server 인스턴스에만 연결할 수 있습니다. 소프트웨어 인벤토리 자체에는 네트워크 가시성이 필요하지 않을 수 있습니다.
어플라이언스는 연결된 후 SQL Server 인스턴스와 데이터베이스의 구성 및 성능 데이터를 수집합니다. SQL Server 구성 데이터는 24시간마다 한 번 업데이트됩니다. 성능 데이터는 30초마다 캡처됩니다.
지원 | 세부 정보 |
---|---|
지원되는 서버 | VMware, Microsoft Hyper-V 및 실제/운영 체제 미설치 환경에서 SQL Server를 실행하는 서버와 Azure Web Services 및 Google Cloud Platform과 같은 기타 퍼블릭 클라우드의 IaaS(서비스 제공 인프라) 서버에 대해서만 지원됩니다. 단일 어플라이언스에서 최대 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 장애 조치(failover) 클러스터 인스턴스 및 Always On 가용성 그룹을 기반으로 하는 고가용성 및 재해 복구 SQL 배포 검색도 지원됩니다. |
지원되는 SQL 서비스 | SQL Server 데이터베이스 엔진만 지원됩니다. SQL Server Reporting Services, SQL Server Integration Services 및 SQL Server Analysis Services 검색은 지원되지 않습니다. |
참고 항목
기본적으로 Azure Migrate 및 현대화는 SQL 인스턴스에 연결하는 가장 안전한 방법을 사용합니다. 즉, Azure Migrate 및 현대화는 TrustServerCertificate
속성을 true
로 설정하여 Azure Migrate 어플라이언스와 원본 SQL Server 인스턴스 간의 통신을 암호화합니다. 또한 전송 계층은 SSL(Secure Socket 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 a 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 a 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
웹앱 검색 요구 사항
소프트웨어 인벤토리는 검색된 서버에 있는 웹 서버 역할을 식별합니다. 서버에 웹 서버가 설치되어 있는 경우 Azure Migrate 및 현대화는 서버에서 웹앱을 검색합니다.
어플라이언스에 도메인 및 비도메인 자격 증명을 모두 추가할 수 있습니다. 사용된 계정에 원본 서버에 대한 로컬 관리자 권한이 있는지 확인합니다. Azure Migrate 및 현대화는 자격 증명을 각 서버에 자동으로 매핑하므로 수동으로 매핑할 필요가 없습니다. 이러한 자격 증명은 Microsoft로 전송되지 않으며 원본 환경에서 실행되는 어플라이언스에 유지됩니다.
어플라이언스가 연결되면 ASP.NET 웹앱(IIS 웹 서버) 및 Java 웹앱(Tomcat 서버)에 대한 구성 데이터를 수집합니다. 웹앱 구성 데이터는 24시간마다 한 번 업데이트됩니다.
지원 | ASP.NET 웹 앱 | Java 웹앱 |
---|---|---|
Stack | VMware, Hyper-V, 물리적 서버. | VMware, Hyper-V, 물리적 서버. |
Windows 서버 | Windows Server 2008 R2 이상이 지원됩니다. | 지원되지 않습니다. |
Linux 서버 | 지원되지 않습니다. | Ubuntu Linux 16.04/18.04/20.04, Debian 7/8 및 Red Hat Enterprise Linux 5/6/7. |
웹 서버 버전 | IIS 7.5 이상 | Tomcat 8 이상 |
필요한 권한 | 로컬 관리자. | root 또는 sudo 사용자. |
참고 항목
데이터는 미사용 및 전송 중에 상시 암호화됩니다.
종속성 분석 요구 사항(에이전트 없음)
종속성 분석은 발견된 서버 간의 종속성을 분석하는 데 도움이 됩니다. Azure Migrate 프로젝트의 맵 보기를 사용하여 종속성을 쉽게 시각화할 수 있습니다. Azure로 마이그레이션하기 위해 종속성을 사용하여 관련 서버를 그룹화할 수 있습니다. 다음 표에는 에이전트 없는 종속성 분석을 설정하기 위한 요구 사항이 요약되어 있습니다.
지원 | 세부 정보 |
---|---|
지원되는 서버 | 어플라이언스당 검색되는 최대 1,000개의 서버(여러 Hyper-V 호스트/클러스터에 걸쳐)에서 에이전트 없는 종속성 분석을 사용하도록 설정할 수 있습니다. |
운영 체제 | Hyper-V 통합 서비스를 사용하도록 설정된 모든 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 같은 명령을 실행할 수 있는지 확인해야 합니다. |
Windows 서버 액세스 | 게스트 사용자 계정 |
Linux 서버 액세스 | ls 및 netstat 명령을 실행할 수 있는 권한이 있는 sudo 사용자 계정입니다. sudo 사용자 계정을 제공하는 경우 sudo 명령이 호출될 때마다 암호를 묻는 메시지를 표시하지 않고 필수 명령을 실행할 수 있도록 계정에 대해 NOPASSWD를 사용하도록 설정했는지 확인합니다. 또는 다음 명령을 사용하여 설정한 /bin/netstat 및 /bin/ls 파일에 대한 CAP_DAC_READ_SEARCH 및 CAP_SYS_PTRACE 권한이 있는 사용자 계정을 만들 수 있습니다. sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep /bin/ls |
포트 액세스 | Windows 서버는 포트 5985(HTTP)에 액세스해야 합니다. Linux 서버는 포트 22(TCP)에 액세스해야 합니다. |
검색 방법 | 에이전트 없는 종속성 분석은 어플라이언스에서 추가된 서버 자격 증명을 사용하여 서버에 직접 연결하여 수행됩니다. 어플라이언스는 PowerShell 원격을 사용하여 Windows 서버에서, SSH 연결을 사용하여 Linux 서버에서 종속성 정보를 수집합니다. 종속성 데이터를 끌어오기 위해 서버에 에이전트가 설치되어 있지 않습니다. |
에이전트 기반 종속성 분석 요구 사항
종속성 분석을 사용하면 평가하고 Azure로 마이그레이션하려는 온-프레미스 서버 간의 종속성을 파악할 수 있습니다. 이 표에는 에이전트 기반 종속성 분석을 설정하기 위한 요구 사항이 요약되어 있습니다. Hyper-V는 현재 에이전트 기반 종속성 시각화만 지원합니다.
요구 사항 | 세부 정보 |
---|---|
배포 전 | Azure Migrate: 검색 및 평가 도구를 프로젝트에 추가하여 준비합니다. 온-프레미스 서버를 검색하도록 Azure Migrate 어플라이언스를 설정한 후 종속성 시각화를 배포합니다. 처음으로 프로젝트를 만드는 방법을 알아봅니다. 기존 프로젝트에 Azure Migrate: 검색 및 평가 도구를 추가하는 방법을 알아봅니다. Hyper-V의 서버를 검색하고 평가하기 위해 어플라이언스를 설정하는 방법에 대해 알아봅니다. |
Azure Government | Azure Government에서는 종속성 시각화를 사용할 수 없습니다. |
Log Analytics | Azure Migrate 및 현대화는 종속성 시각화를 위해 Azure Monitor 로그의 서비스 맵 솔루션을 사용합니다. 신규 또는 기존 Log Analytics 작업 영역을 프로젝트와 연결합니다. 작업 영역을 추가한 후에는 프로젝트의 작업 영역을 수정할 수 없습니다. 작업 영역은 프로젝트와 동일한 구독에 있어야 합니다. 작업 영역은 미국 동부, 동남 아시아 또는 서유럽 지역에 있어야 합니다. 다른 지역의 작업 영역은 프로젝트에 연결할 수 없습니다. 작업 영역은 서비스 맵 지원되는 지역에 있어야 합니다. 모든 지역에서 Azure VM을 모니터링할 수 있습니다. VM 자체는 Log Analytics 작업 영역에서 지원하는 지역으로 제한되지 않습니다. Log Analytics에서 Azure Migrate 및 현대화와 연결된 작업 영역에는 마이그레이션 프로젝트 키와 프로젝트 이름이 태그로 지정됩니다. |
필요한 에이전트 | 분석하려는 각 서버에서 다음 에이전트를 설치합니다. MMA(Microsoft Monitoring Agent) 종속성 에이전트 온-프레미스 서버가 인터넷에 연결되어 있지 않은 경우 Log Analytics 게이트웨이를 다운로드하여 설치해야 합니다. 종속성 에이전트 및 MMA를 설치하는 방법에 대한 자세한 내용을 알아보세요. |
Log Analytics 작업 영역 | 작업 영역은 프로젝트와 동일한 구독에 있어야 합니다. Azure 이전 및 현대화는 현재 미국 동부, 동남 아시아 및 서유럽 지역에 있는 작업 영역을 지원합니다. 작업 영역은 서비스 맵 지원되는 지역에 있어야 합니다. 모든 지역에서 Azure VM을 모니터링할 수 있습니다. VM 자체는 Log Analytics 작업 영역에서 지원하는 지역으로 제한되지 않습니다. 작업 영역을 추가한 후에는 프로젝트의 작업 영역을 수정할 수 없습니다. |
비용 | 서비스 맵 솔루션에는 처음 180일 동안 요금이 부과되지 않습니다. 계산은 Log Analytics 작업 영역을 프로젝트와 연결하는 날부터 시작됩니다. 180일이 지나면 표준 Log Analytics 요금이 적용됩니다. 연결된 Log Analytics 작업 영역 내에서 서비스 맵 이외의 다른 솔루션을 사용하면 Log Analytics에 대한 표준 요금이 발생합니다. 프로젝트가 삭제될 때 작업 영역은 함께 삭제되지 않습니다. 프로젝트를 삭제한 후에는 서비스 맵 사용이 무료가 아닙니다. 각 노드는 Log Analytics 작업 영역의 유료 계층에 따라 요금이 부과됩니다. Azure Migrate 일반 공급(2018년 2월 28일 GA) 마이그레이션에 만든 프로젝트가 있는 경우 다른 서비스 맵 요금이 발생할 수 있습니다. 180일 후에만 결제하도록 하려면 새 프로젝트를 만드는 것이 좋습니다. GA 이전에 만든 작업 영역은 계속 요금이 부과됩니다. |
관리 | 작업 영역에 에이전트를 등록할 때 프로젝트에서 제공하는 ID 및 키를 사용합니다. Azure Migrate 및 현대화 외부에서 Log Analytics 작업 영역을 사용할 수 있습니다. 연결된 프로젝트를 삭제하면 작업 영역이 자동으로 삭제되지 않습니다. 수동으로 삭제합니다. 프로젝트를 삭제하지 않는 한 Azure Migrate 및 현대화에서 만든 작업 영역을 삭제하지 마세요. 작업 영역을 삭제하면 종속성 시각화 기능이 정상적으로 작동하지 않습니다. |
인터넷 연결 | 서버가 인터넷에 연결되어 있지 않은 경우 Log Analytics 게이트웨이를 설치해야 합니다. |
Azure Government | 에이전트 기반 종속성 분석은 지원되지 않습니다. |
다음 단계
Hyper-V에서 실행되는 서버 검색을 준비합니다.