티스토리 뷰
프로젝트중에서 파일 카피를 해야 하는 이슈에 대한 방법 중 하나로 정리합니다.
우선 Windows 간의 데이터 카피이며
한쪽 Windows서버는 IDC에 있고 데이터 카피를 위한 중계서버 AWS상의 Windows 인스턴스로 카피하여
AWS상의 Windows에서 S3로 데이터복제하는 것입니다.
해당 구간 IDC - AWS 간 카피는 10G 구간으로 20mbps 아래의 속도로 카피했는데 그 방법은 robocopy입니다.
처음 윈도우상에서 공유카피했더니 우와... 시간이 ㅎㅎ
관련 병렬카피라며... 다만 조심해야죠. 옵션잘주어서 동기 맺을 때 날리지 않도록 ㅎㅎ
명령어는 아래와 같은 예시로 사용하면 됩니다.
※필수적으로 아래의 명령커맨트를 치실 명령프롬프트는 관리자권한으로 실행하고 하셔야 합니다.
아래의 예시는 /maxage(날짜보다 오래된 파일 제외 )와 /XD (특정폴더 제외)를 적용한 예시입니다.
## robocopy 명령어 예시
robocopy F:\Repo \\xxx.xx.xx.xxx\d\Repo /MT:20 /R:2 /W:1 /B /MIR /IT /COPY:DATSO /DCOPY:DAT /NP /NFL /NDL /maxage:20230101 /XD "System Volume Information" /UNILOG:"\\xxx.xx.xx.xxx\d\Result-repo.txt"
위의 명령어를 설명하면 F드라이브의 Repo 폴더의 모든 내용을 아주 스피디하게 복사를 하겠다는 것 예를 들면 로그를 일반 log가 아니고 UNI로 상세한 설명은 아래에 왜 저렇게 옵션을 했는지 친절하게 설명되어 있습니다.
참고 URL :
https://learn.microsoft.com/ko-kr/azure/storage/files/storage-files-migration-robocopy
RoboCopy를 사용하여 Azure 파일 공유로 마이그레이션
RoboCopy를 사용하여 SMB Azure 파일 공유로 파일을 이동하거나 마이그레이션하는 방법을 알아봅니다.
learn.microsoft.com
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
robocopy
Reference article for the robocopy command, which copies file data from one location to another.
learn.microsoft.com
혹시 아래와 같은 에러가 보인다면? 머 한글로는 사용자 이름과 패스워드 얘기한다면~
Logon failure: unknown user name or bad password.
## net use 명령어로 커넥션~
net use \\xxx.xxx.xxx.xxx\d\Repo /user:...[계정]...
해당 암호쳐서 성공
이제 중계서버에는 옮겨놨으니 S3로 보냅니다.
여기서 aws cli를 사용하는데 방법은 링크참고 중계서버에 aws cli 세팅을 해주셔야겠죠?
[230207]AWS Command Line Interface(CLI) 설치 및 설정하기 - for Windows 11
{본문의 작성 기준} 제목 : [케이스일자] 케이스이름 및 제목(약어) - for ~ 내용 : [작성의 이유 및 참고사항] [공식 및 참고 사이트] [방법 및 설명 가이드] [한줄평] [작성의 이유 및 참고사항] - 작
story-sh.tistory.com
중계서버에 카피된 파일을 이제 S3로 옮깁시다.
아래의 두가지 방법을 번갈아 가며 사용함.
aws s3 sync
aws s3 cp
## cmd에서
aws s3 cp d:/repo s3://bucket-name --recursive
aws s3 sync d:/repo s3://bucket-name
## 기본 예시
aws s3 cp SOURCE DEST [--recursive]
aws s3 rsync SOURCE DEST
※참고로 S3 와 원본과 차이가 생기는 것 하나는 원본에서 폴더 안에 파일이 없다면 즉 빈폴더는 업로드가 안된다는 거......
참고 URL :
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html
AWS CLI에서 상위 수준(s3) 명령 사용 - AWS Command Line Interface
PowerShell을 사용하는 경우 셸은 CRLF의 인코딩을 변경하거나, 파이프 입력이나 출력 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.
docs.aws.amazon.com
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html
sync — AWS CLI 2.11.11 Command Reference
metadata-directive - Copies the following properties from the source S3 object: content-type, content-language, content-encoding, content-disposition, cache-control, --expires, and metadata
awscli.amazonaws.com
※ 참고로 이거 중요할 수 있는데 ㅎㅎ 마지막 과정인 AWS상의 중계서버 즉 EC2와 S3 업로드 시 EC2 사양을 목적에 맞게 변경하면 빨라져요~ 네트워크 속도!! 필자는 c6i.2xlarge > r5dn.xlarge 로 오히려 비용이 낮아지고 네트워크 속도는 업!!!
지금 중요한 건 전송속도를 최고로 기존 10G -> 20G로 S3 sync 시 20Gbps -> 40Gbps 로 빨라지는 것을 확인할 수 있습니다.~
아래의 그림처럼 비용과 네트워크 퍼포먼스 보시면 딱
역시 직접 해봐야 하네요...
'Cloud 이야기 > AWS-Amazon Web Service' 카테고리의 다른 글
AWS EKS에서의 Kubernetes 버전관리에 대함.[240426] (0) | 2024.04.26 |
---|---|
[230823]AWS Certified Cloud Practitioner 자격증 재준비(CLF-C01)-갱신?아니 재취득 ㅎ (1) | 2023.08.23 |
[230425] AWS의 서비스에 대한 공식 아이콘 제공 (0) | 2023.04.25 |
[230424]K-ISMS 규정 준수 팩에 대한 자료(KISA&AWS 콜라보) (0) | 2023.04.24 |
[230406]AWS 서브넷의 IP주소관련 (0) | 2023.04.06 |
[230329]AWS Eks operational notification - 알림 공유~ (0) | 2023.03.29 |
[230328]AWS CLI 접속할 때도 2차 인증(MFA)을 사용해보자~ (0) | 2023.03.28 |
[230324]AWS Builders Korea Program-5 일차 (0) | 2023.03.27 |