Dev./Cloud

AWS: Access Key, CLI and SDK

Ivan'show 2023. 11. 9.
728x90
반응형

AWS 에 접근하기 위해서는 3가지 방법으로 구분할 수 있다.

  1. AWS management console 을 통해서 접근 → password + MFA
  2. AWS command line interface 를 통해서 접근 → access key
  3. AWS software developer kit 를 통해서 접근 → access key (for code)

CLI 와 SDK 에서 사용되는 access key 는 username 과 password 의 형태를 가지는 ACCESS_KEY 와 SECRET_ACCESS_KEY 로 구분되어 지는데 이는 절대 다른 사람들과 공유하면 안된다.

# example of access key
AWS_ACCESS_KEY_ID = AKIASK4E37PV4983d6C
AWS_SECRET_ACCESS_KEY = AZPN3zojWozWCndIjhB0Unh8239a1bzbzO5fqqkZq

access key 는 유저마다 생성이 가능하다.

네비게이션 바 > 액세스 관리 > 사용자 > 해당 유저 선택 > 액세스 키 만들기

 

 

CLI 는 이렇게 생성한 access key 를 커맨드 라인에 저장해두고 사용하는 방법이다. 코드를 개발해서 AWS 를 통해 배포를 하는 과정에 어떤 유저로 접근해서 서비스를 전달하는지 AWS 와 상호작용을 해야한다. 이때 인증절차로 사용되는게 CLI.

AWS 의 public API 들에 바로 접근을 가능하게 하기도 하고 스크립트로 리소스를 개발하기도 하면서 자동화를 구현할 수도 있게 한다.

 

 

CLI 설치 가이드

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

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface

이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이

docs.aws.amazon.com

 

# CLI 설치 이후 확인하기

kimminhyeok@Ivans-Mac cs50 % aws --version
aws-cli/2.13.5 Python/3.11.4 Darwin/23.1.0 exe/x86_64 prompt/off

kimminhyeok@Ivans-Mac workspace % aws configure
AWS Access Key ID [****************VCFO]: ...
AWS Secret Access Key [****************e2+m]: ...
Default region name [ap-northeast-2]: 
Default output format [json]:

kimminhyeok@Ivans-Mac workspace % aws iam list-users
{
    "Users": [
        {
            "Path": "/",
            "UserName": "ivan",
            "UserId": "...",
            "Arn": ".../ivan",
            "CreateDate": "2023-11-08T00:35:42+00:00",
            "PasswordLastUsed": "2023-11-08T00:41:01+00:00"
        }
    ]
}

# 환경변수에 추가
$ export AWS_ACCESS_KEY_ID=<AWS Access Key ID>
$ export AWS_SECRET_ACCESS_KEY=<AWS Secret Access Key>

kimminhyeok@Ivans-Mac cs50 % env | grep AWS 
AWS_ACCESS_KEY_ID=...
AWS_REGION=ap-northeast-2
AWS_SECRET_ACCESS_KEY=...

kimminhyeok@Ivans-Mac cs50 % cat ~/.aws/config
[default]
region = ap-northeast-2
output = JSON
kimminhyeok@Ivans-Mac cs50 %

 

SDK 는 특정 언어로 된 라이브러리의 집합으로 보면 된다. 따라서 언어별로 SDK 가 존재한다고 보면 된다.

AWS SDK 가 지원하는 언어들

  • JavaScript
  • Python
  • PHP
  • .NET
  • Ruby
  • JAVA
  • GO
  • Node.js
  • Android, iOS, Arduino, Embedded C

예를 들어 Python 용 AWS SDK = boto3

https://aws.amazon.com/ko/sdk-for-python/

 

Python용 AWS SDK

Python용 AWS SDK인 boto3를 사용하여 AWS를 빠르게 시작하십시오. Boto3를 사용하면 Python 애플리케이션, 라이브러리 또는 스크립트를 Amazon S3, Amazon EC2, Amazon DynamoDB 등 AWS 서비스와 쉽게 통합할 수 있습

aws.amazon.com

 

728x90
반응형

'Dev. > Cloud' 카테고리의 다른 글

AWS: EC2  (0) 2023.11.10
AWS: IAM (Identity and Access Management)  (0) 2023.11.08
[Cloud] CD - NCP: Rollback tag  (0) 2023.08.22
[Cloud] CD - NCP: Load balancer  (0) 2023.08.22
[Cloud]배포 AWS: Secrets Manager  (0) 2023.08.17

댓글