AWS CLI with S3

프최's log·2020년 11월 4일
0

study

목록 보기
40/59
post-thumbnail

AWS CLI ?

AWS 웹 서비스에 접속하지 않고 내부 콘솔만으로 S3를 관리할 수 있게 해주는 툴이다. 아래 내용은 AWS 공식문서에서 나온 내용을 참고하여 직접 세팅해본 경험을 바탕으로 작성되었다.

공식문서 : 클라우드에 파일 배치 업로드-AWS CLI를 사용해 Amazon S3로


사전준비

 aws-cli를 설치하기 전, IAM 에서 [사용자] 메뉴에서 사용자 추가를 진행해야한다. 사용자 이름은 구분하기 편하게 적어주고, AWS 액세스 유형은 CLI에서 접속을 하게 되니 [프로그래밍 방식 액세스] 를 선택한다.

그 후 [기존 정책 직접 연결] 옵션을 눌러서, [AdministratorAccess] 를 선택한 후, 다음 버튼으로 사용자 생성을 진행한다.(태그 등은 스킵해도 된다). 위에 정책 연결을 통해서 '접속 권한'을 승인 받는 것임으로 반드시 체크해줘야한다.

그럼 [자격 증명] 을 다운로드할 수 있는 버튼이 생긴다. credentials.csv 파일을 안전한 위치에 저장하도록 한다. 환경세팅에서 필요하기 때문에 꼭 다운로드 한 후, 잘 보관해야한다.


환경세팅

주의사항

 위의 과정을 건너뛰고 바로 환경세팅을 진행하려고 한다면 아래 에러를 맞이할 수 있다. 위의 정책설정을 반드시 진행하고 환경 세팅을 진행 하자.

fatal error: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied


각자 환경에서 cli를 열어서 설치를 진행한다. 필자는 우분투이다.

$ sudo apt aws-cli

CLI 설치 후 aws configure 설정을 진행할 수 있다. 이 때, IAM 에서 받은 credentials.csv 를 열어서 AccessKey와 Secret Access Key를 넣도록 하자. 지역 선택은 콘솔 환경에서 볼 수 있는데 서울은 ap-northeast-2 이다.

$ aws configure

설정 내용

  • AWS Access Key ID [None]: 나의 키 → credentials.csv 의 Access Key
  • AWS Secret Access Key [None]: 비밀키 → // credentials.csv 의 Secret Access Key
  • Default region name [None]: 지역 선택 → ap-northeast-2
  • Default output format [None]: json

사전에 IAM 에서 사용자 추가를 통한 권한(정책) 설정을 진행했다면, 아래의 명령어를 실행해서 올바르게 접속하는 것을 확인할 수 있다.

$ aws s3 ls s3://생성되어있는 버켓명

AWS CLI 간단 명령어

 CLI를 사용해봤던 사람이라면 명령어가 똑같아서 사용하기 편하다. mb(make bucket), cp(copy), rm(remove) 등! 아래는 최소한으로 사용하는 명령어를 기재해두었다.

  • 버켓 생성 : aws s3 mb s3://새로만들버켓명

    참고: 버킷 이름을 지정하는 데는 몇 가지 제한이 존재한다. 그 중 하나는 버킷 이름이 전역적으로 고유해야 한다. 예를 들어 서로 다른 2명의 AWS 사용자가 같은 버킷 이름을 사용할 수 없다. 따라서 위의 명령을 입력하면 'BucketAlreadyExists'라는 오류 메시지가 표시될 수 있다.(공식문서)

  • 버켓에 단일 파일 업로드 : aws s3 cp “C:\위치\파일명.bak” s3://버켓명

  • 버켓에 여러 파일 업로드 : aws s3 sync "파일위치" s3://버켓명

    • 만일 올리고자 하는 파일 폴더로 이동했다면 aws s3 sync . s3://버켓명로도 간단히 해결할 수 있다.(위치 확인하지 않고 . 을 찍고 동기화시키면 파일이 잘못 올라가니 꼭 위치를 확인해야한다.)
  • 버켓에서 파일 다운로드 : aws s3 cp s3://버켓명/파일명 ./

  • 버켓에서 파일 삭제 : aws s3 rm s3://버켓명/파일명

  • 인스턴스 확인하기 : aws ec2 describe-instances --output table --region ap-northeast-2

커맨드-공식문서
AWS CLI 사용
AWS CLI (Command Line Interface) 를 이용하여 S3 버킷 다루기 (파일 업로드, 폴더 동기화) 및 AWS IAM 등록

  • CI/CD
profile
차곡차곡 쌓아가는 나의 개발 기록

0개의 댓글