AWS Command Line Interface(CLI)를 다루다 보면 인프라 상태를 확인하기 위해 aws ec2 describe-instances 명령어를 자주 사용하게 됩니다. 하지만 간혹 결과값으로 빈 배열인 { "Reservations": [] }만 리턴되어 난감할 때가 있습니다.
이번 포스팅에서는 해당 이슈가 발생하는 근본적인 원인과, IAM 웹 콘솔을 통해 AmazonEC2ReadOnlyAccess 정책을 매핑하여 문제를 해결하는 과정을 단계별로 정리해 보겠습니다.
증상 파악 및 원인 분석
터미널에서 상태를 조회했을 때 인스턴스 정보가 뜨지 않는다면 다음 두 가지 케이스 중 하나입니다.
- 지역(Region) 미지정: 기본 리전에 인스턴스가 존재하지 않음
- 권한(Permission) 누락: 해당 IAM 유저에게 EC2 Read 권한이 없음
가장 먼저 aws sts get-caller-identity를 통해 현재 로그인된 유저 ARN을 체크합니다. 이후 aws iam list-attached-user-policies --user-name [유저명] 명령으로 현재 할당된 정책 목록을 불러옵니다. 여기서 EC2 관련 읽기 정책이 없다면 권한을 즉시 추가해야 합니다.

AWS Management Console에서 정책 직접 연결
터미널을 잠시 내려놓고 AWS 웹 콘솔의 IAM 메뉴로 진입합니다.
1. 사용자 탭 이동: 설정하고자 하는 특정 유저 프로필로 들어갑니다.
2. 권한 직접 매핑: [권한 추가(Add permissions)] 드롭다운에서 [권한 직접 연결] 방식을 선택합니다.
3. 정책 필터링: 리스트가 매우 많으므로, 검색창에 AmazonEC2ReadOnlyAccess를 타이핑하여 정확한 정책만 필터링합니다.





원하는 정책 앞의 체크박스를 활성화하고 검토 단계를 거쳐 최종적으로 설정을 저장합니다.



정상 구동 확인
세팅이 끝났다면 CLI 환경으로 복귀하여 제대로 갱신되었는지 크로스 체크를 진행합니다.


다시 한번 정책 리스트를 호출해 보면 AmazonEC2ReadOnlyAccess가 정상 반영된 것을 확인할 수 있습니다. 이제 조회 명령어 끝에 --region ap-northeast-2 옵션을 더해 서울 리전을 타겟팅해주면, 빈 배열이 아닌 실제 인스턴스 고유 ID 값이 정상적으로 반환됩니다.
'지식 > AWS' 카테고리의 다른 글
| Windows OS 환경 AWS CLI v2 설치법 및 보안 로그인(aws login) 총정리 (0) | 2026.05.20 |
|---|