명령 프롬프트를 사용한 자동화된 마이그레이션 활동 목록 - AWS의 Cloud Migration Factory

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

명령 프롬프트를 사용한 자동화된 마이그레이션 활동 목록

참고

AWS 콘솔의 Cloud Migration Factory에서 자동화를 실행하는 것이 좋습니다. 다음 단계를 사용하여 자동화 스크립트를 실행할 수 있습니다. GitHub 리포지토리에서 자동화 스크립트를 다운로드하고 명령 프롬프트에서 자동화 실행의 단계와 마이그레이션 자동화 서버의 AWS 권한 구성 지침에 따라 자동화 서버를 구성해야 합니다.

AWS의 Cloud Migration Factory 솔루션은 마이그레이션 프로젝트에 활용할 수 있는 자동화된 마이그레이션 활동을 배포합니다. 아래 나열된 마이그레이션 활동을 수행하고 비즈니스 요구 사항에 따라 사용자 지정할 수 있습니다.

활동을 시작하기 전에 범위 내 소스 서버에서 로컬 관리자 권한을 가진 도메인 사용자로 마이그레이션 자동화 서버에 로그인했는지 확인하십시오.

중요

이 섹션에 나열된 활동을 완료하려면 관리자 사용자로 로그인해야 합니다.

다음 절차를 동일한 순서로 사용하여 샘플 자동화 스크립트 및 활동을 사용하여 솔루션의 전체 테스트 실행을 수행하십시오.

사전 조건 확인

범위 내 소스 서버에 연결하여 TCP 1500, TCP 443, 루트 볼륨 여유 스페이스, .Net 프레임워크 버전 및 기타 파라미터와 같은 필수 사전 조건을 확인합니다. 복제에 필요한 사전 조건은 다음과 같습니다.

사전 조건 검사를 수행하려면 먼저 한 소스 서버에 첫 번째 에이전트를 수동으로 설치해야 합니다. 그러면 EC2에 복제 서버가 생성되고 포트 1500 테스트를 위해 이 서버에 연결됩니다. 설치 후 AWS Application Migration Service(AWS MGN)는 Amazon Elastic Compute Cloud(Amazon EC2)에서 복제 서버를 생성합니다. 이 활동에서는 소스 서버에서 복제 서버까지의 TCP 포트 1500을 확인해야 합니다. 소스 서버에 AWS MGN 에이전트를 설치하는 방법에 대한 자세한 내용은 Application Migration Service 사용 설명서설치 지침을 참조하십시오.

마이그레이션 자동화 서버에 로그인한 상태에서 다음 절차를 사용하여 사전 조건을 확인하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_0-Prerequisites-checks 폴더로 이동하여 다음 Python 명령을 실행합니다.

python 0-Prerequisites-checks.py --Waveid <wave-id> --ReplicationServerIP <rep-server-ip>

<wave-id><rep-server-ip>를 적절한 값으로 대체합니다.

  • Waveid는 마이그레이션 웨이브를 식별하는 고유한 정수 값입니다.

  • ReplicationServerIP 값은 복제 서버 IP 주소를 식별합니다. 이 값을 Amazon EC2 IP 주소로 변경하십시오. 이 주소를 찾으려면 AWS Management Console에 로그인하여 복제를 검색하고 복제 서버 중 하나를 선택한 다음 프라이빗 IP 주소를 복사합니다. 공용 인터넷을 통해 복제가 이루어지는 경우 퍼블릭 IP 주소를 대신 사용하십시오.

  1. 스크립트는 지정된 웨이브에 대한 서버 목록을 자동으로 검색합니다.

그런 다음 스크립트는 Windows 서버의 사전 조건을 확인하고 각 검사 중 하나 pass 또는 fail 중 하나의 상태를 반환합니다.

참고

PowerShell 스크립트를 신뢰할 수 없는 경우 다음과 같은 보안 경고가 표시될 수 있습니다. 이 문제를 해결하려면 PowerShell에서 다음 명령을 실행합니다.

Unblock-File C:\migrations\scripts\script_mgn_0-Prerequisites-checks\0-Prerequisites-Windows.ps1

그런 다음 스크립트는 Linux 서버를 확인합니다.

검사가 완료되면 스크립트는 각 서버의 최종 결과를 반환합니다.

스크립트 최종 결과

서버가 하나 이상의 사전 조건 검사에 실패한 경우 검사 완료 시 제공된 자세한 오류 메시지를 검토하거나 로그 세부 정보를 스크롤하여 결함이 있는 서버를 식별할 수 있습니다.

또한 스크립트는 예시 프로젝트의 다음 스크린샷과 같이 Migration Factory 웹 인터페이스에서 솔루션의 마이그레이션 상태를 업데이트합니다.

복제 에이전트 설치

참고

에이전트를 설치하기 전에 각 대상 계정에서 AWS MGN이 초기화되었는지 확인하십시오.

다음 절차를 사용하여 범위 내 원본 서버에 복제 에이전트를 자동으로 설치하십시오.

  1. 관리자 권한으로 로그인한 마이그레이션 자동화 서버에서 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_1-AgentInstall 폴더로 이동하여 다음 Python 명령을 실행합니다.

python 1-AgentInstall.py --Waveid <wave-id>

<wave-id>를 적절한 웨이브 ID 값으로 대체하여 식별된 웨이브의 모든 서버에 복제 에이전트를 설치합니다. 스크립트는 동일한 웨이브의 모든 소스 서버에 에이전트를 하나씩 설치합니다.

참고

에이전트를 다시 설치하려면 --force 인수를 추가할 수 있습니다.

  1. 스크립트는 지정된 웨이브에 포함된 소스 서버를 식별하는 목록을 생성합니다. 또한 여러 계정에서 식별된 서버 및 다른 OS 버전을 위한 서버도 제공될 수 있습니다.

이 웨이브에 Linux 시스템이 포함되어 있는 경우 Linux sudo 로그인 자격 증명을 입력하여 해당 소스 서버에 로그인해야 합니다.

설치는 Windows에서 시작된 다음 각 AWS 계정에 대해 Linux로 진행합니다.

복제 에이전트 설치
참고

PowerShell 스크립트를 신뢰할 수 없는 경우 다음과 같은 보안 경고가 표시될 수 있습니다. 이 문제를 해결하려면 PowerShell에서 다음 명령을 실행합니다.

Unblock-File C:\migrations\scripts\script_mgn_1-AgentInstall\1-Install-Windows.ps1

스크립트에서 복제 에이전트 설치를 완료한 후에 결과가 표시됩니다. 오류 메시지 결과를 검토하여 에이전트 설치에 실패한 서버를 식별하십시오. 장애가 발생한 서버에 에이전트를 수동으로 설치해야 합니다. 수동 설치에 실패할 경우 AWS 지원 센터로 이동하여 지원 사례를 기록하십시오.

에이전트 설치 결과

또한 스크립트는 다음 예시 프로젝트의 스크린샷과 같이 Migration Factory 웹 인터페이스에서 마이그레이션 상태를 제공합니다.

시작 후 스크립트 푸시

AWS Application Migration Service는 시작 후 스크립트를 지원하여 대상 인스턴스를 시작한 후 소프트웨어 설치/제거와 같은 OS 수준 작업을 자동화하는 데 도움이 됩니다. 이 활동에서는 마이그레이션을 위해 식별된 서버에 따라 시작 후 스크립트를 Windows 및/또는 Linux 머신에 푸시합니다.

마이그레이션 자동화 서버에서 다음 절차를 사용하여 시작 후 스크립트를 Windows 시스템에 푸시하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_1-FileCopy 폴더로 이동하여 다음 Python 명령을 실행합니다.

python 1-FileCopy.py --Waveid <wave-id> --WindowsSource <file-path> --LinuxSource <file-path>

<wave-id>를 적절한 웨이브 ID 값으로, <file-path>를 스크립트가 위치한 소스에 대한 전체 파일 경로로 대체합니다. 예: c:\migrations\scripts\script_mgn_1-FileCopy. 이 명령은 소스 폴더의 모든 파일을 대상 폴더로 복사합니다.

참고

WindowsSource, LinuxSource의 두 가지 인수 중 하나 이상을 제공해야 합니다. WindowsSource 경로를 제공하는 경우 이 스크립트는 이 웨이브에서 Windows 서버로만 파일을 푸시합니다. 마찬가지로 LinuxSource는 이 웨이브에서 Linux 서버로만 파일을 푸시합니다. 둘 다 제공하면 Windows 및 Linux 서버 모두에 파일을 푸시할 수 있습니다.

  1. 스크립트는 지정된 웨이브에 포함된 소스 서버를 식별하는 목록을 생성합니다. 또한 여러 계정에서 식별된 서버 및 다른 OS 버전을 위한 서버도 제공될 수 있습니다.

이 웨이브에 Linux 시스템이 포함되어 있는 경우 Linux sudo 로그인 자격 증명을 입력하여 해당 소스 서버에 로그인해야 합니다.

  1. 스크립트는 파일을 대상 폴더에 복사합니다. 대상 폴더가 없는 경우 솔루션은 디렉터리를 만들고 이 동작을 사용자에게 알립니다.

복제 상태 검증

이 활동은 범위 내 원본 서버의 복제 상태를 자동으로 확인합니다. 스크립트는 지정된 웨이브의 모든 소스 서버 상태가 정상 상태로 변경될 때까지 5분마다 반복됩니다.

마이그레이션 자동화 서버에서 다음 절차를 사용하여 복제 상태를 확인하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. \migrations\scripts\script_mgn_2-Verify-replication 폴더로 이동하여 다음 Python 명령을 실행합니다.

python 2-Verify-replication.py --Waveid <wave-id>

<wave-id>를 적절한 웨이브 ID 값으로 대체하여 복제 상태를 확인합니다. 스크립트는 특정 웨이브의 모든 서버에 대한 복제 세부 정보를 확인하고 솔루션에서 식별된 소스 서버의 복제 상태 속성을 업데이트합니다.

  1. 스크립트는 지정된 웨이브에 포함된 서버를 식별하는 목록을 생성합니다.

시작할 준비가 된 범위 내 소스 서버의 예상 상태는 정상입니다. 서버에 대해 다른 상태를 받은 경우 아직 시작할 준비가 되지 않은 것입니다.

예시 웨이브의 다음 스크린샷에서는 현재 웨이브의 모든 서버가 복제를 완료했으며 테스트 또는 전환을 수행할 준비가 되었다는 것을 보여줍니다.

에이전트 설치 결과

선택적으로 Migration Factory 웹 인터페이스에서 상태를 확인할 수 있습니다.

대상 인스턴스 상태 확인

이 활동은 범위 내 모든 소스 서버의 부팅 프로세스를 동일한 웨이브로 확인하여 대상 인스턴스의 상태를 확인합니다. 대상 인스턴스가 부팅되는 데는 최대 30분이 소요될 수 있습니다. Amazon EC2 콘솔에 로그인하여 소스 서버 이름을 검색하고 상태를 확인하여 상태를 수동으로 확인할 수 있습니다. 인프라 관점에서 인스턴스가 정상임을 나타내는 2/2 확인 통과함이라는 상태 확인 메시지가 표시됩니다.

하지만 대규모 마이그레이션의 경우 각 인스턴스의 상태를 확인하는 데 시간이 많이 걸리므로 이 자동 스크립트를 사용하여 주어진 웨이브에서 모든 소스 서버의 2/2 확인 통과함 상태를 확인할 수 있습니다.

마이그레이션 자동화 서버에서 다음 절차를 사용하여 대상 인스턴스의 상태를 확인하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_3-Verify-instance-status 폴더로 이동하여 다음 Python 명령을 실행합니다.

python 3-Verify-instance-status.py --Waveid <wave-id>

<wave-id>를 적절한 웨이브 ID 값으로 대체하여 인스턴스 상태를 확인합니다. 이 스크립트는 이 웨이브에 있는 모든 소스 서버의 인스턴스 부팅 프로세스를 확인합니다.

  1. 스크립트는 지정된 웨이브의 서버 목록 및 인스턴스 ID 목록을 반환합니다.

  2. 그러면 스크립트는 대상 인스턴스 ID 목록을 반환합니다.

    참고

    대상 인스턴스 ID가 존재하지 않는다는 오류 메시지가 표시되는 경우 시작 작업이 계속 실행 중인 것일 수 있습니다. 몇 분 동안 기다린 후 계속하십시오.

  3. 대상 인스턴스가 2/2 상태 확인을 통과했는지 여부를 나타내는 인스턴스 상태 검사를 받게 됩니다.

참고

대상 인스턴스가 2/2 상태 확인에 처음으로 실패하는 경우 부팅 프로세스를 완료하는 데 시간이 더 오래 걸리기 때문일 수 있습니다. 첫 번째 상태 확인 후 약 1시간 후에 두 번째 상태 확인을 실행하는 것이 좋습니다. 이렇게 하면 부팅 프로세스가 완료됩니다. 두 번째로 상태 확인이 실패하면 AWS 지원 센터로 이동하여 지원 사례를 기록하십시오.

범위 내 소스 서버 종료

이 활동은 마이그레이션과 관련된 범위 내 소스 서버를 종료합니다. 소스 서버의 복제 상태를 확인했으면 소스 서버를 종료하여 클라이언트 애플리케이션에서 서버로의 트랜잭션을 중지할 수 있습니다. 전환 창에서 소스 서버를 종료할 수 있습니다. 소스 서버를 수동으로 종료하면 서버당 5분이 소요될 수 있으며, 대규모 웨이브의 경우 총 몇 시간이 걸릴 수 있습니다. 대신 이 자동화 스크립트를 실행하여 지정된 웨이브에서 모든 서버를 종료할 수 있습니다.

마이그레이션 자동화 서버에서 다음 절차를 사용하여 마이그레이션과 관련된 모든 소스 서버를 종료하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_3-Shutdown-all-servers 폴더로 이동하여 다음 Python 명령을 실행합니다.

    Python 3-Shutdown-all-servers.py –Waveid <wave-id>
  3. <wave-id>를 적절한 웨이브 ID 값으로 대체하여 소스 서버를 종료합니다.

  4. 스크립트는 지정된 웨이브의 서버 목록 및 인스턴스 ID 목록을 반환합니다.

  5. 스크립트는 우선 지정된 웨이브에서 Windows 서버를 종료합니다. Windows 서버가 종료되면 스크립트는 Linux 환경으로 이동하여 로그인 자격 증명을 입력하라는 메시지를 표시합니다. 로그인에 성공하면 스크립트는 Linux 서버를 종료합니다.

대상 인스턴스 IP 검색

이 활동은 대상 인스턴스 IP를 검색합니다. DNS 업데이트가 환경에서 수동 프로세스인 경우 모든 대상 인스턴스에 대해 새 IP 주소를 가져와야 합니다. 하지만 자동화 스크립트를 사용하여 지정된 웨이브에 있는 모든 인스턴스의 새 IP 주소를 CSV 파일로 내보낼 수 있습니다.

마이그레이션 자동화 서버에서 다음 절차를 사용하여 대상 인스턴스 IP를 검색하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_4-Get-instance-IP 폴더로 이동하여 다음 Python 명령을 실행합니다.

Python 4-Get-instance-IP.py -–Waveid <wave-id>

<wave-id>를 적절한 Wave ID 값으로 대체하여 대상 인스턴스에 대해 새 IP 주소를 받습니다.

  1. 스크립트가 서버 목록과 대상 인스턴스 ID 정보를 반환합니다.

  1. 그러면 스크립트가 대상 서버 IP를 반환합니다.

스크립트가 서버 이름 및 IP 주소 정보를 CSV 파일(<wave-id>-<project-name>-Ips.csv)로 내보내고 마이그레이션 스크립트와 동일한 디렉터리(c:\migrations\scripts\script_mgn_4-Get-instance-IP)에 저장합니다.

CSV 파일에서 instance_nameinstance_Ips 세부 정보를 제공합니다. 인스턴스에 두 개 이상의 NIC 또는 IP가 포함된 경우 모두 나열되고 쉼표로 구분됩니다.

대상 서버 연결 확인

이 활동은 대상 서버의 연결을 확인합니다. DNS 레코드를 업데이트한 후 호스트 이름을 사용하여 대상 인스턴스에 연결할 수 있습니다. 이 활동에서는 RDP(원격 데스크톱 프로토콜) 또는 SSH(Secure Shell) 액세스를 사용하여 운영 체제에 로그인할 수 있는지 확인합니다. 각 서버에 개별적으로 수동으로 로그인할 수 있지만 자동화 스크립트를 사용하여 서버 연결을 테스트하는 것이 더 효율적입니다.

마이그레이션 자동화 서버에서 다음 절차를 사용하여 대상 서버에 대한 연결을 확인하십시오.

  1. 관리자로 로그인하고 명령 프롬프트(CMD.exe)를 엽니다.

  2. c:\migrations\scripts\script_mgn_4-Verify-server-connection 폴더로 이동하여 다음 Python 명령을 실행합니다.

Python 4-Verify-server-connection.py -–Waveid <wave-id>

<wave-id>를 적절한 Wave ID 값으로 대체하여 대상 인스턴스에 대해 새 IP 주소를 받습니다.

참고

이 스크립트는 기본 RDP 포트 3389와 SSH 포트 22를 사용합니다. 필요한 경우 다음 인수를 추가하여 기본 포트로 재설정할 수 있습니다. --RDPPort <rdp-port> --SSHPort <ssh-port>.

  1. 스크립트가 서버 목록을 반환합니다.

  2. 스크립트가 RDP 및 SSH 액세스 모두에 대한 테스트 결과를 반환합니다.