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>
몇 개 안되는 문제를 풀어보며 느낀 점이지만..
이 정도를 느꼈습니다.