AWS 환경 설정

시작 안내서

모듈 3: AWS CLI 설정

이 모듈에서는 AWS Command Line Interface(AWS CLI)를 구성합니다.

소개

AWS Command Line Interface(AWS CLI)는 AWS 서비스를 관리하는 통합 도구입니다. 하나의 도구만 다운로드하여 구성하면 여러 개의 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화할 수 있습니다. CLI를 사용하여 AWS와 상호 작용하려면, API 호출 시 사용할 자격 증명을 구성해야 합니다. 추가 자격 증명을 사용하거나 IAM 역할 전환을 통해 하나 이상의 AWS 계정에 액세스하는 여러 개의 프로파일을 설정하는 방법도 알려 드리겠습니다.

배우게 될 내용

  • 운영 체제에 대한 AWS CLI 설치
  • AWS 계정에 액세스할 자격 증명 구성
  • 여러 AWS 계정에 액세스하는 여러 개의 프로파일을 구성하는 방법

 완료 시간

5분

 모듈 요구 사항

  • 인터넷 브라우저

구현

AWS CLI 설치

AWS CLI를 설치하는 방법은 운영 체제나 컨테이너 사용 선호 여부에 따라 다양합니다. AWS CLI v2 설치 방법에 대해서는 여기에서 확인할 수 있는 최신 가이드를 따르세요. 설치한 후에는 aws --version을 실행하고 다음 출력(버전은 다를 수 있음)이 나타나야 합니다.

aws --version
aws-cli/2.2.17 Python/3.9.6 Darwin/20.5.0 source/x86_64 prompt/off

AWS CLI가 이제 설치되었으며 자격 증명을 구성해야 합니다. aws ec2 describe-vpcs 등의 명령을 실행하여 문제없이 작동하는지 확인할 수 있습니다. 자격 증명이 없기 때문에 다음과 같은 오류 메시지가 나타날 수 있습니다.

aws ec2 describe-vpcs

# You may not see this error if you have already configured the CLI previously.
Unable to locate credentials. You can configure credentials by running aws configure.

AWS CLI 자격 증명 구성

자격 증명을 구성하려면 aws configure 명령을 사용하고 이 가이드의 이전 모듈에서 만들었던 자격 증명을 사용합니다. AWS 액세스 키 ID, AWS 비밀 액세스 키, 기본 리전, 기본 출력 형식을 요청하는 메시지가 표시됩니다. 

프로 팁: 모든 명령에서 리전 플래그(--region us-east-1)를 사용하여 기본 리전을 지정하거나 재정의할 수 있습니다. 리전 코드의 목록은 여기에서 확인할 수 있습니다. 

마지막으로 형식 유형은 출력이 기본적으로 나타나는 방식이며 JSON, YAML, 텍스트 등을 포함하되 이에 국한되지 않습니다. 모든 사용 가능한 옵션에 대해서는 문서를 확인하세요. 완료한 후에는 터미널에 다음 내용이 나타나야 합니다(eu-west-1을 기본 리전으로 선택한 경우).

aws configure 

AWS Access Key ID [None]: ANOTREALACCESSKEYID
AWS Secret Access Key [None]: ANOTREALSECRETACCESSKEY
Default region name [None]: eu-west-1
Default output format [None]: json

이제 새로운 AWS 계정마다 기본 VPC가 다음과 같이 구성되었으므로 앞의 명령을 실행하고 결과를 확인할 수 있습니다.

aws ec2 describe-vpcs

# Output
{
    "Vpcs": [
        {
            "CidrBlock": "10.0.0.0/16",
            "DhcpOptionsId": "dopt-d12345",
            "State": "available",
            "VpcId": "vpc-0123456789abcdef",
            "OwnerId": "123456789012",
            ....

이는 AWS CLI가 올바로 설정되었음을 확인해 줍니다. 이로 인해 ~/.aws(Linux / MacOS) 또는 %UserProfile%\.aws(Windows) 내에 2개의 새 파일과 config  및 자격 증명(credentials)이 생성되었습니다. 자격 증명(credentials) 파일에는 다음과 같이 지정한 자격 증명이 포함되어 있습니다.

[default]
aws_access_key_id = AKNOTREALACCESSKEYID
aws_secret_access_key = AyNOTREALSECRETACCESSKEY

프로파일에 대한 추가 구성은 config 파일에 저장되어 있습니다. AWS configure를 사용할 때는 다음과 같은 내용을 가지게 됩니다(다른 리전을 포함할 수 있음).

[default]
region = eu-west-1
output = json

다음 섹션에서는 여러 개의 프로파일을 구성하는 방법을 다룹니다. AWS 계정을 하나만 사용하려는 경우에는 건너뛰어도 좋습니다.

(선택 사항) 여러 개의 프로파일 구성하기

둘 이상의 AWS 계정에 액세스려는 경우, 프로파일을 설정할 수 있습니다. 이 경우 --profile my-profile 플래그를 사용하여 특정 계정을 사용하는 특정 명령을 실행할 수 있습니다. 예를 들면, 개발 환경 및 프로덕션 환경에 계정이 여러 개일 경우입니다. 추가 프로파일을 설정하는 방법은 2가지가 있습니다.

  • AWS CLI 사용: aws configure --profile my-profile
  • ~/.aws/credentials~/.aws/config 파일 수동 편집

aws configure --profile my-profile을 사용하는 경우 my-profile 값은 생성한 프로파일의 이름이 되며 config 파일 및 자격 증명(credentials) 파일에 다음과 같은 변경 사항이 발생합니다.

config 파일의 예:

[default]
region = eu-west-1
output = json

[profile my-profile]
region = us-west-1
output = yaml

credentials 파일의 예:

[default]
aws_access_key_id = ANOTREALACCESSKEYID
aws_secret_access_key = ANOTREALSECRETACCESSKEY

[my-profile]
aws_access_key_id = ANOTREALACCESSKEYID2
aws_secret_access_key = ANOTREALSECRETACCESSKEY2

프로파일은 자격 증명(credentials) 파일이 아니라 config 파일에서만 profile 접두사가 붙는다는 점을 유의해야 합니다.

이 방법을 사용하려면 각 계정에 IAM 사용자와 자격 증명 집합이 있어야 합니다. 여러 계정에 액세스하는 다른 방법은 역할 전환을 사용할 수 있는 IAM 역할 및 정책을 설정하는 것입니다. 설정하는 방법은 설명서를 참조하세요.

AWS CLI를 구성하였으므로 다음 모듈에서 로컬로 개발하지 않으시려면 선택적으로 AWS Cloud9을 사용하여 개발 환경을 설정할 수 있습니다.

결론

축하합니다! AWS Command Line Interface(AWS CLI)를 설정하는 방법을 배우셨습니다. 다음 모듈에서는 클라우드 기반 IDE인 Cloud9을 설정하는 방법을 알아볼 것입니다.

다음 단계: Cloud9 설정

내용이 마음에 드셨는지요.

피드백을 제공해 주셔서 감사합니다.
이 페이지가 도움이 되어 기쁩니다. 지속적인 개선에 도움이 되는 추가 세부 정보를 공유해 주시겠습니까?
닫기
피드백을 제공해 주셔서 감사합니다.
이 페이지가 도움이 되지 못해 죄송합니다. 지속적인 개선에 도움이 되는 추가 세부 정보를 공유해 주시겠습니까?
닫기