AWS CLI 사용하기

snooby·2022년 11월 16일
0

☁ Cloud

목록 보기
17/24
post-thumbnail

AWS CLI란

AWS CLI는 AWS Command Line Interface(AWS CLI)의 줄일말로 명령줄 셸의 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다. 최소한의 구성으로 AWS CLI를 사용하면 터미널 프로그램에 있는 명령 프롬프트에서 브라우저 기반 AWS Management Console에서 제공하는 것과 동일한 기능을 구현하는 명령을 실행할 수 있습니다.

Linux 셸 - bash, zsh, tcsh 등의 일반적인 셸 프로그램을 사용하여 Linux 또는 macOS에서 명령을 실행합니다.
Windows 명령줄 - Windows의 경우 PowerShell 또는 Windows 명령 프롬프트에서 명령을 실행합니다.
원격 – PuTTY 또는 SSH와 같은 원격 터미널 프로그램이나 AWS Systems Manager를 통해 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 명령을 실행합니다.

AWS Management Console의 모든 IaaS(서비스로의 인프라) AWS 관리, 관리 및 액세스 함수는 AWS API 및 AWS CLI에서 사용 가능합니다.

AWS CLI를 사용하면 AWS 서비스의 퍼블릭 API를 직접 액세스할 수 있습니다. AWS CLI를 사용하여 서비스의 기능을 살펴보고 리소스를 관리할 셸 스크립트를 개발할 수 있습니다. 하위 수준 API와 상응한 명령 외에 여러 AWS 서비스에서도 AWS CLI에 대한 사용자 지정 기능을 제공합니다. 사용자 지정에는 복잡한 API와 서비스의 사용을 간소화하는 상위 수준 명령이 포함될 수 있습니다.

AWS CLI 설치

1) Linux

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

2) MacOS

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
# 확인
$ which aws
/usr/local/bin/aws 
$ aws --version
aws-cli/2.7.24 Python/3.8.8 Darwin/18.7.0 botocore/2.4.5

3) windows

C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
C:\> aws --version
aws-cli/2.7.24 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

AWS CLI 사용하기

명령 구조
AWS CLI는 다음 순서로 지정되어야 하는 명령줄에서 멀티파트 구조를 사용합니다.

  1. aws 프로그램에 대한 기본 호출.
  2. 최상위 명령: 일반적으로 AWS에서 지원하는 AWS CLI 서비스에 해당합니다.
  3. 어떤 작업을 수행할지 지정하는 하위 명령 입니다.
  4. 작업에 필요한 일반 AWS CLI 옵션 또는 파라미터입니다. 처음 세 개 파트를 따르기만 하면 어떤 순서로든 지정할 수 있습니다. 독점적인 파라미터를 여러 번 지정하면 마지막 값만 적용됩니다.
$ aws <command> <subcommand> [options and parameters]

AWS CLI s3 사용하기

대용량 객체 업로드
aws s3 명령을 사용하여 Amazon S3 버킷에 대용량 객체를 업로드하면 AWS CLI에서 자동으로 멀티파트 업로드를 수행합니다. 이러한 aws s3 명령을 사용할 때는 실패한 업로드를 재개할 수 없습니다.

시간 초과로 인해 멀티파트 업로드가 실패하거나 AWS CLI에서 수동으로 취소할 경우 AWS CLI는 업로드를 중지하고 생성된 모든 파일을 정리합니다. 이 프로세스는 몇 분 정도 걸릴 수 있습니다.

1) 버킷 만들기

aws s3 mb s3://bucket-name

2) 버킷 및 객체 나열

aws s3 ls s3://bucket-name

3) 버킷 삭제

aws s3 rb s3://bucket-name

4) 객체 삭제

aws s3 rm s3://bucket-name/example/filename.txt
# 모든 객체 삭제
aws s3 rm s3://bucket-name/example --recursive

5) 객체 이동

aws s3 mv s3://bucket-name/example s3://my-bucket/

6) 객체 복사

aws s3 cp s3://bucket-name/example s3://my-bucket/

7) 객체 동기화

aws s3 sync . s3://my-bucket/path
profile
데이터를 가치있게 다루고 싶은 개발자 🐥

0개의 댓글