BLOG
AWS에서 AWS CLI 버전 2(v2)의 v2.0.0 GA를 출시했단 소식을 알려 드리게 되어 매우 기쁘게 생각합니다.
AWS CLI v2는 AWS CLI v1을 기반으로 구축되었고, 커뮤니티에서 받은 피드백을 바탕으로 해 다양한 기능이 업그레이드 되었습니다
새로운 기능
AWS CLI v2는 향상된 설치 프로그램, AWS Single Sign-On(SSO)과 같은 새로운 구성 옵션, 다양한 대화식 기능을 포함해 몇가지 신규 기능을 추가로 제공합니다.
새로운 설치 메커니즘
AWS CLI v2는 Windows, Linux 및 macOS를 위한 사전 구축된 바이너리를 제공합니다. 따라서 AWS CLI를 사용하기 위해 더는 Python을 설치할 필요가 없고 호환 가능한 Python 버전, 가상 환경 또는 충돌하는 Python 패키지에 대해 걱정할 필요가 없습니다. Windows에서는 MSI 설치 프로그램을 제공하고 macOS에서는 .pkg 설치 프로그램을 제공합니다. AWS CLI v2의 설치에 대해 더욱 자세히 알고 싶으시다면 설치 지시사항을 참고해 주십시오.
AWS 구성 메커니즘
AWS CLI v2에는 자격 증명 구성을 위해 몇 가지 새로운 메커니즘이 도입되었습니다.
우선 aws configure import AWS 콘솔에서 생성된 .csv 파일에서 자격 증명을 가져오는 새로운 명령이 추가되었습니다.
$ aws configure import –csv file://path/to/creds.csv
또한 aws configure wizard AWS 자격 증명 구성에 대한 안내를 제공하는 새로운 명령에 대한 지원을 추가했습니다. 이러한 명령 외에도 새 aws configure sso 명령을 사용하여 AWS SSO를 통해 자격 증명 구성 및 사용을 지원하고 있습니다. 이는 AWS CLI 구성에 도움이 되는 일련의 질문을 합니다.
$ aws configure sso
SSO start URL [None]: https://d–0123456790.awsapps.com/start
SSO Region [None]: us–west–2
Attempting to automatically open the SSO authorization page in your default
browser. If the browser does not open or you wish to use a different device to
authorize this request, open the following URL:
https://device.sso.us–west–2.amazonaws.com/
Then enter the code:
ABCD–EFGH
Successully logged into Start URL: https://d–1234567890.awsapps.com/start
There are 2 AWS accounts available to you.
Using the account ID 123456789012
There are 2 roles available to you.
Using the role name “readOnly”
CLI default client Region [None]: us–west–2
CLI default output format [None]: json
CLI profile name [readOnly–123456789012]: my–sso–profile
To use this profile, specify the profile name using —profile, as shown:
aws s3 ls —profile my–sso–profile
AWS CLI v2에서의 AWS SSO 사용법이 궁금하시다면 해당 블로그 글을 통해 단계별 방법을 확인하실 수 있습니다. 또한 리인벤트 2019에서 발표되었던 “AWS CLI v2 소개”세션에서는 그에 대한 데모를 확인하실 수 있습니다.
대화식 기능
AWS CLI v2의 주요 테마 중 하나는 고객을 돕기 위해 더 많은 상호작용적인 기능을 포함하는 것이었습니다. AWS CLI는 자동화된 스크립팅 작업과 대화식 사용에 모두 쓰이며 터미널에서 대화형으로 CLI 명령을 실행할 때 사용자를 돕는 기능을 포함하고자 했습니다. 새로운 상호작용 기능 중 일부에는 서버 측 자동 완성, –cli-auto-prompt 명령 및 마법사가 포함됩니다.
서버 측 자동 완성
AWS CLI v1에서는 aws_completer 명령 및 파라미터 이름의 탭 완성을 위해 명령을 사용할 수 있습니다. 예를 들어, aws자동 완성 기능을 사용하도록 명령을 구성한 후 다음과 같이 자동 완성할 수 있습니다.
$ complete –C aws_completer aws
$ aws cloud<TAB>
cloud9 cloudformation cloudhsm cloudsearch cloudtrail
clouddirectory cloudfront cloudhsmv2 cloudsearchdomain cloudwatch
AWS CLI v2에서는 자동 완성 기능을 업데이트하여 서비스 측 리소스 이름을 완성했습니다. 예를 들어 Amazon DynamoDB 테이블 이름을 자동 완성할 수 있습니다.
$ aws dynamodb update–table —table–name MyTable<TAB>MyTable1 MyTable2
자동 프롬프트
자동 완성 기능을 사용하면 CLI 매개 변수를 보다 효율적으로 입력할 수 있지만 어떤 매개 변수를 제공할지 확실하지 않은 경우가 있습니다. 이때 새로운 –cli-auto-prompt기능이 도움이 될 수 있습니다. 이 매개 변수를 내장 CLI 명령에 추가할 수 있으며 CLI가 매개 변숫값 입력을 안내합니다.
먼저 필요한 모든 매개 변수를 묻는 메시지가 나타납니다.
모든 필수 매개 변수를 입력하면 선택적 매개 변수 목록이 표시됩니다. 설명서의 첫 문장도 각 매개 변수에 포함됩니다.
원하는 모든 매개 변수를 입력한 후 Parameter input finished을 선택하면 AWS CLI가 명령을 호출하거나, 명령을 인쇄할 수 있는 옵션이 제공됩니다.
마법사
AWS CLI v2의 새로운 마법사 기능은 다양한 AWS 리소스 관리를 안내합니다. 이들은 –cli-auto-prompt 보다 더 높은 수준의 추출로서, 일반적으로 여러 개의 AWS API 호출을 함께 결합하여 AWS 리소스를 생성, 업데이트 또는 삭제합니다. 이는 AWS 콘솔에서 시작하는 워크 플로와 유사합니다. 초기 AWS 서비스 세트에 마법사를 추가했습니다. 이 마법사에 액세스하려면 aws <service-name> wizard <wizard-name>를 실행할 수 있습니다.
새 DynamoDB 테이블을 생성하는 법을 예를 들어 설명해 보겠습니다. 먼저 aws dynamodb wizard new-table명령을 실행하고 일련의 질문을 받습니다. 아래 스크린 샷에서 테이블의 기본 키 유형을 선택하라는 메시지가 표시됩니다.
마법사는 데이터를 요구할 때 기존 리소스에 대한 쿼리도 지원합니다. 다음 스크린 샷에서 서버 측 암호화 설정을 요청하고 “KMS – 고객 관리 형 CMK”를 선택합니다.
해당 옵션을 선택하면 마법사가 사용할 수 있는 기존 KMS 키를 쿼리하고 키를 선택하라는 메시지를 표시합니다. 이 예에서는 단일 KMS 키만 사용할 수 있습니다.
모든 질문에 대답하면 마법사가 DynamoDB 테이블을 생성합니다.
우리는 configure, dynamodb, iam 및 lambda 명령을 위해 마법사를 추가했습니다.
글을 마치며…
기능, 개선 사항 및 버그 수정의 전체 목록은 AWS CLI v2 changelog를 참고해 주십시오. AWS CLI v2는 대부분 AWS CLI v1과 하위 호환되지만, AWS CLI v2 마이그레이션 안내서에 나와 있는 이전 버전과 호환되지 않는다는 점이 변경된 사항입니다. 사용자 가이드를 보시면 AWS CLI 사용에 대한 더욱 자세한 정보를 확인하실 수 있습니다. 더 나아가 해당 서비스에 대한 기능GitHub 리포지토리 에서 기능 요청 및 문제를 제기할 수 있으니, AWS CLI v2에 대한 의견을 마음껏 남겨주시기 바랍니다.
원문 URL: https://aws.amazon.com/ko/blogs/developer/aws-cli-v2-is-now-generally-available/
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 개제하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달드리도록 하겠습니다.