퍼블릭 클라우드
[draft] AWS EC2 인스턴스 메타데이터 서비스 v2를 사용하는 방법
SangChul Dot Kr Blog
2025. 10. 10. 10:22
AWS EC2 인스턴스 메타데이터 서비스(IMDS) v2를 사용하는 방법
IMDSv2란 무엇인가요?
IMDS(Instance Metadata Service)는 EC2 인스턴스에 대한 동적 정보를 제공하는 서비스입니다. IMDSv2는 보안이 강화된 버전으로 기존 IMDSv1보다 안전하게 인스턴스 메타데이터에 접근할 수 있도록 해줍니다. IMDSv2를 사용하면 인스턴스 ID, AMI ID, 지역, 가용 영역, VPC ID 등 다양한 정보를 가져올 수 있습니다.
IMDSv1 vs IMDSv2 차이점
항목 | IMDSv1 | IMDSv2 |
인증 방식 | HTTP 직접 접근(무토큰) | Session Token 기반(PUT 요청) |
보안 수준 | 낮음(SSRF에 취약) | 높음(토큰 요구) |
기본 포트 | 169.254.169.254 | 동일 |
권장 여부 | 비권장 | AWS 권장 기본 설정 |
1. 세션 토큰 요청
IMDSv2는 먼저 세션 토큰을 얻은 후에 이를 사용하여 메타데이터에 접근합니다.
토큰을 요청하여 세션을 설정(PUT 요청)
- 6시간(21600초) 동안 유효한 토큰을 생성하여 TOKEN 변수에 저장합니다.
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" \
-H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
2. 토큰을 사용하여 메타데이터 접근
토큰을 이용해 EC2 메타데이터에 접근하려면 X-aws-ec2-metadata-token 헤더에 토큰을 포함하여 요청을 보냅니다.
토큰을 이용하여 메타데이터에 접근(GET 요청)
- 인스턴스 ID 조회
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
"http://169.254.169.254/latest/meta-data/instance-id"
3. 다른 메타데이터 항목에 접근
IMDSv2를 사용하여 EC2 메타데이터의 다양한 항목에 접근할 수 있습니다.
인스턴스의 지역 정보 조회
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
"http://169.254.169.254/latest/meta-data/placement/region"
AWS EC2 인스턴스의 메타데이터를 안전하게 관리할 수 있습니다.
참고URL
- AWS Documentation : 인스턴스 메타데이터 서비스를 사용하여 인스턴스 메타데이터에 액세스
- Amazon Web Services 한국 블로그 : Amazon EC2 인스턴스 메타데이터 서비스 IMDSv2(기본 설정)
- AWS Security Blog : Get the full benefits of IMDSv2 and disable IMDSv1 across your AWS infrastructure