AWS 에 접근하기 위해서는 3가지 방법으로 구분할 수 있다.
- AWS management console 을 통해서 접근 → password + MFA
- AWS command line interface 를 통해서 접근 → access key
- 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
# 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/
'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 |
댓글