본문 바로가기

개발/AWS

AWS 액세스 키 발급하고 설정하기

AWS를 통해 배포를 하려고 할 때 반드시 필요한 것이 바로 액세스 키입니다. 이번엔 개인 계정을 만든 후 액세스 키를 발급 받는 방법에 대해 알아봅시다.

내 보안 자격 증명

먼저 당연하게도 AWS 계정을 만들어야 합니다. 계정을 만드는 방법은 그냥 AWS 상의 스텝을 따라가기만 하면 되므로 따로 설명은 추가하지 않겠습니다. 이후 AWS 콘솔에 로그인 한 후, 내 보안 자격 증명으로 접속해 줍니다. 그리고 액세스 키(액세스 키 ID 및 비밀 액세스 키) 부분을 펼칩니다.

액세스 키 발급 성공

이후 새 액세스 키 만들기 버튼을 눌러줍니다. 그러면 바로 액세스키가 생성되며, 생성된 액세스 키 ID와 보안 액세스 키를 확인할 수 있습니다. 이 두 가지 정보는 생성된 시점에 딱 한 번만 확인할 수 있으므로 미리 기록해 두거나 키 파일 다운로드 버튼을 눌러 로컬에 받아 둡니다. 만약 액세스 키 정보를 분실했거나 더 이상 사용하고 싶지 않으면 비활성화나 삭제를 할 수 있습니다.

이제 발급 받은 액세스 키를 설정해야 합니다. 먼저 awscli를 설치해야 합니다. 설치하는 방법엔 몇 가지가 있습니다만 저 같은 경우는 macOS를 사용하고 있으므로 Homebrew를 통해 간편하게 설치했습니다. 다른 설치 방법은 AWS 공식 문서를 참고하시길 바랍니다.

$ brew install awscli

awscli를 설치했다면 이제 액세스 키 설정을 하면 됩니다. 먼저 CLI를 통해 설정해 봅시다.

$ aws configure
AWS Access Key ID [None]: 액세스 키 ID
AWS Secret Access Key [None]: 비밀 액세스 키
Default region name [None]: 기본으로 사용할 리전
Default output format [None]: json

만들어진 ~/.aws/credentials~/.aws/config 파일은 아래와 같습니다(윈도우에선 C:\Users\{username}\.aws\credentials, C:\Users\{username}\.aws\config).

[default]
aws_access_key_id = 액세스 키 ID
aws_secret_access_key = 비밀 액세스 키
[default]
region = 기본으로 사용할 리전
output = json

과정을 마치면 ~/.aws경로에 credentials 파일과 config 파일이 생성되어 액세스 키 정보와 기본 리전 및 출력 포맷에 대한 정보가 기록되어 있습니다. 이때, 기록된 인증 정보는 [default] 설정을 덮어씌웁니다. 만약 이미 사용하고 있는 액세스 키가 있거나, 새 프로필로 생성하고 싶다면 아래 명령어를 입력하여 진행할 수 있습니다.

$ aws configure --profile 프로필명
$ aws configure
AWS Access Key ID [None]: 액세스 키 ID
AWS Secret Access Key [None]: 비밀 액세스 키
Default region name [None]: 기본으로 사용할 리전
Default output format [None]: json

수정된 ~/.aws/credentials~/.aws/config 파일은 아래와 같습니다.

[default]
aws_access_key_id = 액세스 키 ID
aws_secret_access_key = 비밀 액세스 키

[프로필명]
aws_access_key_id = 액세스 키 ID
aws_secret_access_key = 비밀 액세스 키
[default]
region = 기본으로 사용할 리전
output = json

[프로필명]
region = 기본으로 사용할 리전
output = json

끝입니다! 이제 aws CLI를 통해 AWS를 사용할 수 있습니다. 기본적으로는 default 프로필이 사용되고, --profile 프로필명 옵션을 사용하면 해당하는 프로필의 권한으로 AWS를 사용할 수 있습니다!

aws configure을 사용하지 않고도 환경변수를 사용해서 사용할 수도 있습니다. 아래와 같이 설정할 수 있습니다.

$ export AWS_ACCESS_KEY_ID=액세스 키 ID
$ export AWS_SECRET_ACCESS_KEY=비밀 액세스 키
$ export AWS_DEFAULT_REGION=기본으로 사용할 리전

AWS CLI는 위 세 환경변수 키 외에도 여러 가지 키를 지원합니다. 주로 CI/CD 환경이나 배포 환경에서 많이 사용합니다. 공식 문서를 참고해주세요. 감사합니다.