본문 바로가기

ACC/ACC CNU

[ASC 1기] 2주차 준비 - AWS CLI

지난 주 활동시간에 미처 하지 못한 AWS CLI 설치를 추가로 하게 되었다.

그런데 AWS CLI를 설치하라고만 안내해주셔서 AWS CLI가 뭔지, 설치방법에 대해서도 알아보기로 하였다.

 


[설치 방법]

 

우선 설치 방법부터 알아보았다.

설치는 간단하다.

 

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

해당 사이트에 들어가서 본인의 운영체제에 맞는 파일을 골라서 설치하고 설치받은 파일을 실행시키면 된다.

 

설치가 완료되면 cmd창에서 확인이 가능하다.

 

 

일부가 잘렸지만 위 사진처럼 aws-cli/ ~ 이렇게 나오면 정상적으로 설치가 된 것이다.

 

설치가 완료됐다면 CLI를 사용하기 위해 Access Key라는 것을 발급받아야 한다.

콘솔에서 하는 것과 마찬가지로 쉘에서도 당연히 로그인을 해야 하기 때문.

쉘에서 깃을 사용할 때 아이디와 토큰을 넣는 것과 같은 것이라고 보면 된다.

 

 

IAM 사용자 → 사용자 → 보안 자격 증명 → 액세스 키를 보면 위와 같은 화면이 나온다.

액세스 키를 만들어주자.

 

 

CLI를 체크

 

체크를 하면 

 

권장되는 대안이 나오는데,

AWS CloudShell은 콘솔을 통해 웹으로 사용하는 shell 환경이라고 한다. 당연히 안전하겠지만 나는 이미 CLI를 깔았으니 사용하지 않았다.

또한 CLI V2를 사용하라는데 CLI에서 기능이 추가된 버전인듯 하다. 자세히 알아보기로 들어가니 SSO 방식을 권장한다고 했는데 읽어도 무슨 말인지 이해가 되지 않는다. 강일모님이 해당 내용을 공부한 것 같으니 가서 설명을 들어봐야겠다.

 

 

위의 과정을 마치면 아이디(액세스 키)와 비밀번호(비밀 액세스 키)를 발급받을 수 있다.

 

 

액세스 키도 발급 받았으니 등록을 해준다.

aws configure 명령어로 등록이 가능하다.

id와 비밀번호는 복사해서 그대로 붙이면 되고 리전은 ap-northeast-2(서울), ouput format은 json으로 해주었다.

output format은 api 호출 결과를 어떤 확장자로 받을지 선택하는 것이다.

 

이렇게 등록을 마쳤다면 사용자 폴더 .aws에 2개의 파일이 생성된 것을 볼 수 있다. 해당 파일에 넣어준 정보들이 들어가 있다. (윈도우 기준)

 


[AWS CLI]

 

CLI?

 

우선 GUI에 대해서 먼저 알아보자. 우리가 하는 대부분의 작업이 GUI(Graphic User Interface) 환경이다.

하지만 미디어에서 해커들이 우리처럼 크롬 브라우저를 켜고 vscode를 켜는 장면은 절대 찾아볼 수 없다.

 

Command Line Interface: cmd나 Terminal 등이 CLI 환경이다. shell을 이용하여 명령어를 이용해 작업하는 환경이 CLI이다. 비전공자가 잘 쓰지 않아서 그런지 딱딱한 이미지가 굳혀져 있다.

 


AWS CLI?

 

이제 CLI가 뭔지 알았으니 AWS CLI도 뭔지 알 수 있을 것이다.

 

AWS 콘솔에서 작업했던 (아직 작업은 안해봤지만) 것은 GUI, 쉘에서 AWS 서비스를 이용할 수 있게 하는 도구가 바로 AWS CLI이다.

 


왜 사용하는가?

 

설치가 간편하다.

콘솔 홈에서는 오래된 API 같이 설치가 복잡한 것들을 AWS CLI에서는 표준화가 되어 있고 간단하게 해결할 수 있다.

 

원문: Before AWS CLI was introduced, the installation of toolkits like old AWS API involved too many complex steps. Users had to set up multiple environment variables. But installation of AWS Command Line Interface is quick, simple and standardized.

 

 

시간 절약이 가능하다.

콘솔에서는 규모가 커질수록 작업이 어렵다. 하지만 CLI 환경에서는 명령어의 숙지만 적당히 되어 있으면 빠르게 작업이 가능하다.

 

원문: Despite being user-friendly, AWS Mangement Console is quite a hassle sometimes. Suppose you are trying to find a large

Amazon S3 folder. You have to log in to your account, search for the right S3 bucket, find the right folder and look for the right file. But with AWS CLI, if you know the right command the entire tasks will take just a few seconds. 

 

개인적인 경험으로는 나도 큰 규모의 작업을 하는 것은 아니지만 wsl환경에서 작업하는 게 더 편할 때가 있다.

 

 

프로세스 자동화

AWS 서비스를 제어하고 관리하는 전체 프로세스를 자동화할 수 있다.

 

From ChatGPT) AWS CLI를 사용하면 AWS 리소스와 관련된 작업을 자동화할 수 있습니다. 예를 들어, 인프라 프로비저닝, 애플리케이션 배포, 백업 및 복원 등(??)을 자동으로 수행할 수 있습니다. 이를 통해 시간과 인력을 절약하고 일관된 환경을 유지할 수 있습니다.

 

원문: AWS CLI gives you the ability to automate the entire process of controlling and managing AWS services through scripts. These scripts make it easy for users to fully automate cloud infrastructure.

 

아직 무엇을 어떻게 자동화를 할 수 있는 건지는 알 수 없지만 일단 좋은 것 같다.

 

 

모든 서비스를 지원한다.

AWS CLI 전에는 EC2만 지원하는 CLI 툴이 따로 있었다. AWS CLI는 모든 웹 서비스를 지원한다.

 

원문: Prior to AWS CLI, users needed a dedicated CLI tool for just the EC2 service. It worked properly, but it didn’t let users control other Amazon Web Services, like for instance the AWS RDS (Relational Database Service). But, AWS CLI lets you control all the services from one simple tool.

 

이 부분은 CLI의 장점보다는 AWS CLI만의 장점에 대한 내용이다.

 


[Reference]

 

https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-AWS-CLI-%EC%84%A4%EC%B9%98-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%89%BD%EA%B3%A0-%EB%B9%A0%EB%A5%B4%EA%B2%8C#thankYou

 

https://www.edureka.co/blog/aws-cli/