
CTF 문제를 풀어보며, AWS 클라우드 문제를 접해보게 되었고. 클라우드에 대해 공부도 할 겸 정리해 보았습니다.
인스턴스 메타데이터는 실행 중인 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터입니다.
메타데이터는 기본적으로 JSON 형식으로 응답을 제공하며, Key-Value가 각각 존재하므로, 정보를 쉽게 확인할 수 있습니다.
SSH에 접속한 상태에서 curl http://169.254.169.254/latest/meta-data/ 명령어를 입력하면, 아래와 같이 조회 가능한 메타데이터 항목들을 볼 수 있습니다.
ubuntu@aws:~$ curl http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hostname
iam/
identity-credentials/
instance-action
instance-id
instance-life-cycle
instance-type
ipv6
local-hostname
local-ipv4
mac
metrics/
network/
placement/
profile
public-hostname
public-ipv4
public-keys/
reservation-id
security-groups
services/
데이터를 조회하려면 /meta-data/ 뒤에 원하는 항목을 입력하면 됩니다.
아래는 IAM 정보를 확인하는 커맨드 입니다.
ubuntu@aws:~$ curl http://169.254.169.254/latest/meta-data/iam/info
{
"Code" : "Success",
"LastUpdated" : "2024-01-29T07:54:07Z",
"InstanceProfileArn" : "arn:aws:iam::95**********:instance-profile/AmazonLightsailInstanceProfile",
"InstanceProfileId" : "AIPA52***************"
}
ubuntu@aws:~$
AWS Command Line Interface의 약어로, 명령어를 사용해 AWS와 상호작용할 수 있는 오픈소스 프로그램 입니다.
Credentials를 통해 접근할 수 있고, 터미널의 명령 프롬프트에서 명령어를 통해 AWS 콘솔과 동일한 명령을 실행할 수 있습니다.
AWS Document - 최신 버전의 AWS CLI 설치 또는 업데이트
C:\Users\dhlife09>aws configure
AWS Access Key ID [****************4Q5G]:
AWS Secret Access Key [****************A6+6]:
Default region name [ap-northeast-2]:
Default output format [json]:
C:\Users\dhlife09>
aws configure 명령어를 통해 Access Key ID, Secret Access Key, Region을 입력하면 접속할 수 있습니다.
입력한 데이터는 모든 OS공통으로 사용자 폴더/.aws/ 폴더에 config와 credentials이 각각 저장됩니다.
default 프로필에 적용되는 내용이라고 보시면 됩니다.
region같은 경우에는 서울(ap-northeast-2)로 설정되어있으며, 출력은 json(기본값)으로 되어있습니다.
[default]
region = ap-northeast-2
output = json
config 파일과 마찬가지로 default 프로필에 적용되는 내용입니다.
Access Key ID와 Secret Access Key가 저장되어 있습니다.
설정 파일 편집을 통해 Token 값을 입력해줄 수도 있습니다.
아래 내용은 게시를 위해 마스킹 처리하였으나, 실제는 평문으로 저장되어 있습니다.
[default]
aws_access_key_id = ASIAYL**************
aws_secret_access_key = cZ3vfN**********************************
aws_session_token = IQoJb3JpZ2luX2VjEEYaDmFwLW5vcnRoZWFzdC0y****************************************+s8rI********************************************************* ... 이하 생략
C:\Users\dhlife09>aws --version
aws-cli/2.15.10 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
C:\Users\dhlife09>
C:\Users\dhlife09>aws s3 ls
2024-01-30 18:30:11 dhtest-s3
C:\Users\dhlife09>
몇 개 안되는 문제를 풀어보며 느낀 점이지만..
이 정도를 느꼈습니다.