AWS 2

Cloud Map private DNS에 .local을 붙였더니 왜 조회가 실패했을까

Cloud Map private DNS에 .local을 붙였더니 왜 조회가 실패했을까"Cloud Map namespace도 만들었고 Route 53 Private Hosted Zone도 생겼는데, 왜 EC2에서 DNS 조회가 실패할까?" AWS Cloud Map private DNS를 붙이다가 이런 문제를 만났습니다. Cloud Map 리소스는 정상적으로 생성됐습니다. Route 53 Private Hosted Zone도 만들어졌고, 서비스 인스턴스도 등록되어 있었습니다. 그런데 정작 Caddy가 실행되는 EC2에서 DNS를 조회하면 실패했습니다. 결론부터 말하면, 원인은 Cloud Map이 아니라 DNS 이름 끝에 붙인 .local 이었습니다. 이번 글은 이 문제만 가볍게 정리해봅니다. 환경항목 내용S..

AWS 2026.03.02

Docker 컨테이너에서만 EC2 IAM Role 자격증명을 못 가져온 이유 IMDSv2 Hop Limit 트러블슈팅

"EC2에는 IAM Role이 붙어 있는데, 왜 컨테이너 안의 Spring 애플리케이션은 AWS 자격증명을 못 가져올까?" S3 Presigned URL을 생성하는 API에서 AWS 자격증명을 찾지 못하는 문제가 있었습니다. 처음에는 S3 권한 문제라고 생각했습니다. IAM Role에 s3:GetObject, s3:PutObject 같은 권한이 빠졌거나, 애플리케이션에 환경변수가 없어서 생긴 문제처럼 보였거든요. 그런데 EC2 호스트에서는 IAM Role 자격증명을 정상적으로 가져오고 있었습니다. 호스트에서 aws sts get-caller-identity를 실행하면 아래처럼 assumed-role ARN이 반환됐습니다.{ "UserId": "AROAXXXXXXXXXXXXX:botocore-sessio..

AWS 2026.03.01