Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Application Migration Service에서 Windows 소스 서버의 복제 지연 또는 백로그 문제를 해결하려면 어떻게 해야 합니까?
AWS Application Migration Service를 사용하여 데이터를 복제할 때 Windows 소스 서버에 지연 또는 백로그가 발생합니다.
간략한 설명
다음과 같은 이유로 데이터를 복제할 때 지연 및 백로그가 발생합니다.
- 네트워크 연결 속도가 느려 복제 프로세스를 완료하지 못했거나 대역폭으로 인해 복제할 수 있는 데이터 양이 제한되었습니다.
- 새 디스크 데이터가 대량으로 급증하여 AWS Replication Agent가 초기 동기화 시 전송해야 하는 백로그가 발생했습니다.
- 소스 서버 디스크의 읽기 지연 시간이 길어 디스크 복제가 지연되었습니다.
- 높은 CPU, 메모리, I/O 대기 또는 기타 리소스 사용량으로 인해 복제 병목 현상이 발생했습니다.
- 처리량 또는 초당 입출력 작업량(IOPS)이 낮은 Amazon Elastic Block Store(Amazon EBS) 스테이징 볼륨과 네트워크 대역폭이 제한된 서버를 선택했습니다. 이로 인해 복제 중 지연 시간 및 성능 문제가 발생합니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
소스 서버 확인
소스 서버 상태 확인
마이그레이션의 소스 서버가 부팅되어 실행 중인지 확인합니다.
AWS Replication Agent 프로세스가 실행 중인지 확인
실행 중인 AWS Replication Agent 서비스를 나열하려면 PowerShell에서 다음 명령을 실행합니다.
get-service | where-object name -like "*AWSR*"
출력에서 AWSReplicationService가 실행 중인지 확인합니다.
출력 예시:
PS C:\Users\Administrator> get-service | where-object name -like "*AWSR*" Status Name DisplayName ------ ---- ----------- Running AwsReplicationD... AwsReplicationDriverLogger Running AwsReplicationL... AwsReplicationLogger Stopped AwsReplicationP... AwsReplicationPostConvertService Running AwsReplicationS... AwsReplicationService Running AwsReplicationV... AwsReplicationVolumeUpdaterService
또는 Windows + R 키를 누른 다음, services.msc를 입력합니다. Enter 키를 누른 다음, AWSReplicationService가 실행 중인지 확인합니다.
활성 TCP 연결 확인
TCP 포트 1500의 복제 서버에 활성 TCP 연결이 5개 수립되어 있는지 확인합니다.
TCP 포트 1500을 확인하려면 관리자 권한으로 다음 명령을 실행합니다.
netstat -an | find "1500"
명령 출력에서 활성 연결을 확인합니다.
출력 예시:
TCP 172.31.82.135:50929 Replicator Instance IP:1500 ESTABLISHED TCP 172.31.82.135:50930 Replicator Instance IP:1500 ESTABLISHED TCP 172.31.82.135:50931 Replicator Instance IP:1500 ESTABLISHED TCP 172.31.82.135:50933 Replicator Instance IP:1500 ESTABLISHED TCP 172.31.82.135:50934 Replicator Instance IP:1500 ESTABLISHED
Windows 리소스 모니터를 사용하여 소스 서버의 성능 확인
AWS Replication Agent는 한 번에 하나의 CPU 코어에서 작동합니다. AWS Replication Agent가 실행 중인 코어의 CPU 사용량이 높으면 데이터 복제가 느려집니다. CPU 사용량을 확인하려면 다음 단계를 완료하십시오.
- 작업 관리자를 열고 성능 탭을 선택합니다. 그런 다음, 리소스 모니터 열기를 선택합니다.
-또는-
제어판을 열고 관리 도구를 선택합니다. 그런 다음, 리소스 모니터를 선택합니다.
-또는-
명령줄이나 PowerShell에서 resmon.exe를 실행합니다.
-또는-
Windows 아이콘을 선택하고 resmon.exe를 입력합니다. - AWS Replication Agent가 실행 중인 CPU 코어의 CPU 사용량을 확인합니다.
해당 코어의 CPU 사용량이 높으면 CPU를 가장 많이 사용하는 프로세스를 조사합니다. 에이전트가 CPU의 5% 이상을 사용하는 경우 에이전트가 데이터 복제를 수행할 수 있는 충분한 CPU가 있는지 확인합니다. - 소스 서버의 디스크 성능을 확인합니다. 디스크 작업에서 쓰기(B/초) 및 응답 시간 지표를 확인합니다.
소스 디스크의 읽기 처리량이 낮으면 에이전트가 읽고 복제하는 데이터가 줄어듭니다. 디스크 읽기 및 쓰기 지표가 증가하는지 확인합니다.
참고: TCP 포트 1500을 통해 복제된 데이터를 전송하는 데 필요한 대역폭은 해당 소스 서버의 쓰기 속도를 기반으로 합니다. 대역폭은 복제된 모든 소스 시스템의 평균 쓰기 속도의 합계 이상으로 확보하는 것이 좋습니다. - 소스 서버에서 쓰기 작업이 급증했는지 확인합니다. 디스크 작업에서 쓰기(B/초) 지표를 확인합니다.
워크로드가 변경되면 주기적으로 디스크 성능을 점검하여 I/O 로드를 확인합니다. 쓰기 처리량이 제공된 네트워크 처리량을 초과하면 복제 지연이 발생합니다. - (선택 사항) 소스 서버에서 복제 서버까지 필요한 대역폭을 계산합니다.
참고: 소스 서버가 쓰기 작업량이 많고 쓰기 속도가 복제 속도보다 빠르면 백로그가 계속 증가합니다.
소스 서버부터 스테이징 영역 서브넷까지 복제 속도 및 사용 가능한 대역폭 확인
속도 테스트를 실행하는 방법에 대한 자세한 내용은 SSL 연결 및 대역폭 테스트를 수행하려면 어떻게 해야 합니까?를 참조하십시오.
소스 서버가 비정상적으로 종료되었는지 확인
소스 서버가 비정상적으로 종료된 경우 AWS Replication Agent는 서버가 재부팅된 후 모든 디스크를 다시 스캔합니다. AWS Replication Agent가 디스크를 다시 읽으면 에이전트가 스캔을 완료할 때까지 지연이 계속 증가합니다. 자세한 내용은 재부팅 시 다시 스캔을 하지 않는 Windows와 Linux OS는 무엇입니까?를 참조하십시오.
소스 시스템이 어떻게 종료되었는지 확인하려면 다음 단계를 완료하십시오.
- Windows + R 키를 누른 다음, eventvwr.msc를 입력합니다.
- Enter 키를 누릅니다.
- 탐색 창에서 Windows 로그를 두 번 클릭하여 옵션을 확장합니다.
- 시스템의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 엽니다.
- 현재 로그 필터링을 선택합니다.
- 이벤트 소스 아래쪽 화살표를 선택한 다음, USER32를 선택합니다.
- 모든 이벤트 ID에 1074를 입력한 다음, 확인을 선택합니다. 이제 이벤트 뷰어에 전원 끄기(종료) 및 재시작 종료 유형 이벤트 목록이 표시됩니다.
- 예기치 않은 모든 컴퓨터 종료의 날짜와 시간을 보려면 모든 이벤트 ID 필드에 6008을 입력한 다음, 확인을 선택합니다.
아웃바운드 TCP 포트 1500 트래픽을 차단하지 않았는지 확인
소스 서버에서 복제 서버로 향하는 아웃바운드 TCP 포트 1500 트래픽이 차단되지 않았는지 확인하려면 다음 명령 중 하나를 실행합니다.
CMD에서 다음 명령을 실행합니다.
telnet replication-subnet-IP-address 1500
PowerShell에서 다음 명령을 실행합니다.
TNC replication-subnet-IP-address -port 1500
참고: replication-subnet-IP-address를 복제기 인스턴스 IP 주소로 바꾸십시오.
로컬 방화벽이 TCP 포트 443을 통해 소스 서버와 복제 서버 간의 연결을 허용하는지 확인합니다. 운영 체제(OS) 방화벽에서 연결을 활성화하려면 다음 단계를 완료하십시오.
- 소스 서버에서 Windows 방화벽 콘솔을 엽니다.
- 아웃바운드 규칙을 선택합니다.
- 아웃바운드 규칙 테이블에서 원격 포트 1500 연결과 관련된 규칙을 선택합니다. 사용 상태가 예로 설정되어 있는지 확인합니다.
- 규칙의 사용 상태가 아니요인 경우 규칙의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 엽니다. 그런 다음, 규칙 사용을 선택합니다.
회사 방화벽이 TCP 포트 1500을 통한 트래픽을 허용하는지 확인하십시오.
소스 서버의 복제 설정에서 대역폭 스로틀링이 비활성화되었는지 확인
소스 서버에서 스테이징 영역 서브넷으로 데이터를 전송할 수 있는 충분한 대역폭을 유지하려면 소스 서버의 대역폭 스로틀링을 비활성화합니다. 대역폭 스로틀링은 소스 서버에서 복제 서버로 데이터 복제를 제한하므로 지연 증가가 지속되거나 정체될 수 있습니다.
대역폭 스로틀링을 확인하려면 다음 단계를 완료하십시오.
- Application Migration Service 콘솔을 엽니다.
- 설정을 선택합니다.
- 데이터 라우팅 및 스로틀링에서 복제 템플릿을 선택합니다.
- 복제에 사용 가능한 전체 네트워크 용량을 사용하고 마이그레이션 시간을 단축할 수 있도록 하려면 대역폭 조절 안 함을 선택합니다.
참고: 대역폭 조절을 선택하면 Application Migration Service가 인위적으로 데이터 전송 속도를 제한합니다. 이로 인해 병목 현상이 발생하여 복제 프로세스가 느려집니다. 비용 관리 또는 다른 중요한 애플리케이션의 리소스 보호를 위해 네트워크 사용량을 제한해야 하는 경우에만 이 옵션을 선택하십시오.
스테이징 영역 리소스 확인
인바운드 TCP 포트 1500 트래픽이 차단되지 않았는지 확인
복제 서버 보안 그룹이 인바운드 TCP 포트 1500 트래픽을 차단하지 않는지 확인하려면 다음 단계를 완료하십시오.
- Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 엽니다.
- 탐색 창에서 보안 그룹을 선택한 다음, 복제기 인스턴스에 연결된 보안 그룹을 선택합니다.
- 보안 그룹이 인바운드 TCP 포트 1500 트래픽을 허용하는지 확인합니다.
스테이징 리소스 분석
복제 인스턴스와 스테이징 디스크 구성에서 성능 병목 현상을 확인합니다.
대상 리전의 스냅샷 할당량 확인
AWS 계정이 복제 서버 AWS 리전의 스냅샷 할당량을 초과하지 않았는지 확인하십시오.
리전의 스냅샷 할당량을 확인하려면 다음 get-service-quota AWS CLI 명령을 실행합니다.
aws service-quotas get-service-quota --service-code ebs --quota-code L-309BACF6 --region regionexample --query "Quota.Value"
참고: regionexample을 해당 리전으로 바꾸십시오.
그 후 다음 describe-snapshots 명령을 실행하여 리전의 스냅샷을 확인합니다.
aws ec2 describe-snapshots --owner-ids self --region regionexample --query "length(Snapshots)"
참고: regionexample을 해당 리전으로 바꾸십시오.
관련 콘텐츠
- 질문됨 2년 전
