정적 웹 사이트 호스팅(AWS S3) 하고 AWS CLI로 AWS S3 버킷을 동기화 하는 방법에 대해 알아보자.
우선, AWS CLI를 설치 하자.
$ aws --version aws-cli/1.16.60 ... // 버전이 나오면 설치 완료.
AWS CLI에서 S3 버킷에 접근하려면 사용자 접근 권한 키가 필요하다. 관련 키 생성은 AWS IAM (사용자 액세스 및 암호화 키 관리) 에서 할 수 있다.
AWS IAM
대시보드 > 루트 액세스 키 삭제 > 보안 자격 증명 관리로 들어 간다.
‘Continue to Security Credentials’ 선택!
액세스 키 (액세스 키 ID 및 비밀 액세스 키) > ‘새 액세스 키 만들기’ 선택!
키 파일을 다운로드 하면 .csv 파일로 저장된다.
// rootkey.csv
AWSAccessKeyId=.....................GQAWSSecretKey=................................FSg
이렇게 AWS CLI로 버킷에 접근 할 수 있는 키가 만들어 졌다.
다시 터미널로 돌아가서 AWS CLI를 통해서 S3 버킷에 접근 할 수 있는 설정을 완료 해보자.
$ aws configure listName / Value / Type / Location
---- ---- ---- --------
위와 같이 목록이 비어 있다.
$ aws configureAWS Access Key ID [****************AOGQ]:
// rootkey.csv > AWSAccessKeyIdAWS Secret Access Key [****************kFSg]:
// rootkey.csv > AWSSecretKeyDefault region name [ap-northeast-2]:
// AWS 설정한 region ex) ap-northeast-2(서울)Default output format [json]:
// 원하는 형태로 ex) None, json..
ID 와 Key는 다운로드 받은 rootkey.csv 파일을 참고하고 region 은 AWS에 설정한 대로 하고 format은 원하는 형태로 하면 된다.
$ aws s3 ls0000-00-00 00:00:00 <bucket name>
설정을 완료하고 위와 같이 입력하고 s3 버킷 목록이 나타나면 설정이 완료된 것이다.
aws s3 sync (path) (path)
$ aws s3 sync /dist s3://bucket.name/dist// pc > s3$ aws s3 sync s3://bucket.name/dist /dist// s3 > pc
위와 같이 동기화 시키고자 하는 위치를 선택해서 명령을 실행 하고 원하는 위치에 옮기고자 하는 파일이 잘 이동했다면 성공이다.