AWS 콘솔의 EC2 시작 화면에서 입력할 값을 하나씩 정해 인스턴스를 시작하고, 어느 서브넷에 어떤 IP와 보안 그룹으로 놓였는지 화면에서 읽습니다. 끝나면 이 글에서 만든 인스턴스를 종료해 정리합니다.
인스턴스를 올릴 네트워크는 VPC와 퍼블릭·프라이빗 서브넷 글에서 만든 cr-demo-vpc입니다. 먼저 그 글을 따라 VPC를 만들어 두면 이 글의 네트워크 화면과 같게 보입니다.
준비물
| 항목 | 내용 |
|---|---|
| AWS 계정 | 실습용 IAM 사용자. EC2 시작과 종료 권한 필요 |
| 리전 | 아시아 태평양(서울) ap-northeast-2 |
| 네트워크 | 앞 글에서 만든 cr-demo-vpc (10.60.0.0/16) |
| 인스턴스 | t3.micro 한 대. AMI 선택 칸에 프리 티어 사용 가능이 표시되지만 안내문대로 요금이 부과될 수 있음 |
| 예상 소요 시간 | 약 15분 |
이 글은 인스턴스를 만든 뒤 종료합니다. 키 페어는 만들지 않았고, 보안 그룹은 인바운드를 모두 닫았습니다. 화면의 계정 정보는 가렸습니다.
1. 이름과 AMI
EC2 콘솔의 인스턴스 시작을 엽니다. 맨 위 이름 및 태그에 이름을 넣습니다.
| 화면 항목 | 입력값 |
|---|---|
| 이름 | cr-demo-ec2 |
| 애플리케이션 및 OS 이미지 | Quick Start의 Amazon Linux, 기본 AMI(Amazon Linux 2023) |
| 가상 서버 유형 | t3.micro (기본값) |

AMI는 선택한 운영체제 이미지의 이름과 ID를 보여 줍니다. AMI 버전과 ID는 시점에 따라 달라집니다. 오른쪽 요약에는 지금 고른 AMI, 유형, 보안 그룹, 스토리지(8GiB 볼륨 1개)가 모아서 표시됩니다.
2. 키 페어, 네트워크, 보안 그룹
아래로 내리면 세 항목을 정합니다.
| 화면 항목 | 이 글의 선택 | 이유 |
|---|---|---|
| 키 페어 | 키 페어 없이 계속 진행 | 이 글은 SSH로 접속하지 않습니다. 화면에는 권장되지 않음이라고 표시됩니다 |
| 네트워크 | cr-demo-vpc |
이 계정의 시작 화면은 방금 만든 VPC를 보여 줬습니다. 계정마다 다를 수 있으니 편집을 눌러 직접 고릅니다 |
| 서브넷 | cr-demo-subnet-public2-ap-northeast-2b |
퍼블릭 서브넷 중 하나입니다. 같은 편집 화면에서 직접 고릅니다 |
| 퍼블릭 IP 자동 할당 | 비활성화 | 기본값을 그대로 둠 |
| 방화벽(보안 그룹) | 보안 그룹 생성 | 이름은 자동으로 launch-wizard-1 |
| SSH 트래픽 허용 | 해제 | 기본은 체크이고 위치 무관(0.0.0.0/0)입니다. 접속하지 않으므로 해제했습니다 |

보안 그룹의 기본 체크 항목 중 다음에서 SSH 트래픽 허용은 위치 무관으로 열려 있습니다. 서버에 접속할 일이 없으면 해제하고, 접속해야 한다면 내 IP나 사설 대역으로 좁히는 편이 안전합니다. 이 글에서는 SSH 허용을 해제했고 HTTPS와 HTTP는 기본값(해제)으로 두어 인바운드를 모두 닫았습니다.
3. 인스턴스 시작
오른쪽 요약에서 인스턴스 개수가 1인지 확인하고 인스턴스 시작을 누릅니다.

시작 직후 인스턴스 목록에서는 상태 검사 열이 초기화 중으로 보이다가 잠시 뒤 실행 중으로 바뀝니다. 이 글에서는 시작하고 30초쯤 지나 인스턴스 목록과 요약 화면을 열었습니다.
4. 인스턴스 요약 읽기
인스턴스 ID를 눌러 요약 화면을 엽니다. 읽을 값은 네트워크 위치입니다.
| 항목 | 값 | 읽는 방법 |
|---|---|---|
| 인스턴스 상태 | 실행 중 | 시작이 끝났다는 뜻 |
| 프라이빗 IPv4 주소 | 10.60.x.x | VPC 대역 10.60.0.0/16 안의 주소 |
| 퍼블릭 IPv4 주소 | 비어 있음(-) | 공용 IP를 받지 않아 인터넷에서 직접 닿지 않음 |
| VPC ID | vpc-...(cr-demo-vpc) | 이름 옆에 VPC 이름이 함께 표시됨 |
| 서브넷 ID | subnet-...(cr-demo-subnet-public2-ap-northeast-2b) | 가용 영역도 이름에서 확인 |
| IMDSv2 | Required | 메타데이터 조회에 토큰이 필요한 설정 |

이 인스턴스는 퍼블릭 서브넷에 있지만 퍼블릭 IP가 없습니다. 퍼블릭 서브넷은 인터넷 게이트웨이로 가는 경로가 있는 서브넷이라는 뜻이고, 인터넷에서 접속하려면 인스턴스에 공용 IP나 탄력적 IP가 따로 붙어야 합니다. 이 두 조건이 별개라는 점이 이 화면에서 가장 눈에 띄는 부분입니다.
5. 보안 탭에서 규칙 읽기
요약 아래의 보안 탭을 엽니다.

| 규칙 | 값 | 의미 |
|---|---|---|
| 인바운드 | 표시할 규칙 없음 | 들어오는 트래픽은 모두 차단 |
| 아웃바운드 | 전체, 대상 0.0.0.0/0 | 나가는 트래픽은 모두 허용 (새 보안 그룹의 기본값) |
SSH 허용을 해제했기 때문에 인바운드 목록이 비어 있습니다. launch-wizard-1은 이 VPC 안에 새로 만들어진 보안 그룹입니다.
6. 정리: 인스턴스 종료
인스턴스 목록에서 cr-demo-ec2 하나만 선택하고 인스턴스 상태의 인스턴스 종료(삭제)를 엽니다.

대화상자는 종료할 인스턴스 ID와 종료 방지 상태를 보여 주고, 루트 EBS 볼륨이 함께 삭제된다고 경고합니다. 다른 인스턴스가 선택에 섞이지 않았는지 확인한 뒤 종료(삭제)를 누릅니다.

종료를 누르면 상태 열이 종료 중으로 바뀝니다. 이 글은 1분쯤 기다린 뒤 VPC 글의 방법으로 VPC와 보안 그룹까지 삭제했습니다.
자주 막히는 곳
| 증상 | 확인할 것 |
|---|---|
| 키 페어 이름이 필수로 표시되고 선택이 비어 있음 | 목록을 열어 키 페어 없이 계속 진행을 직접 선택했습니다. 기본으로 채워져 있지 않습니다 |
| 서브넷이 의도한 것과 다름 | 이 글에서는 시작 화면이 public2 서브넷을 보여 줬습니다. 가용 영역을 정해야 하면 편집을 눌러 서브넷을 직접 고릅니다 |
| 인스턴스 요약에 퍼블릭 IP가 없음 | 시작 화면에서 퍼블릭 IP 자동 할당이 비활성으로 표시돼 있었습니다. 접속이 필요하면 활성화하거나 탄력적 IP를 붙입니다 |
이어서 해 볼 것
- 보안 그룹 인바운드에 내 IP만 허용하는 규칙을 추가하고 접속 확인하기
- 같은 인스턴스를 프라이빗 서브넷에 시작해 퍼블릭 서브넷과 요약 화면 비교하기
- IAM 역할을 붙여 AWS IAM 정책 시뮬레이터 글에서 본 허용과 거부 확인하기
확인 범위
- 확인한 것: 서울 리전 콘솔(한국어 화면)에서 위 설정으로 t3.micro 인스턴스를 시작하고, 요약과 보안 탭을 읽고, 인스턴스를 종료하는 과정을 실제로 수행했습니다.
- 확인하지 못한 것: SSH 접속과 인스턴스 안에서의 명령 실행은 하지 않았습니다. 프리 티어 조건과 요금은 화면의 표시만 확인했고 AWS 요금 문서는 확인하지 못했습니다. 키 페어 생성과 퍼블릭 IP 부여 후의 접속은 실행하지 않았습니다.
- 화면 구성과 기본값은 콘솔 업데이트와 계정 설정에 따라 달라질 수 있습니다.
이 글의 다음 단계
- AWS IAM 정책을 읽고 정책 시뮬레이터로 허용과 거부 확인하기IAM 사용자 목록과 권한 탭에서 연결된 정책을 읽고, AdministratorAccess의 JSON 구조를 확인합니다. 정책 시뮬레이터로 S3 작업의 허용과 암묵적 거부를 비교하고 보안 인증 보고서 점검 항목을 정리합니다.
- AWS 콘솔에서 S3 버킷을 기본 보안 설정으로 만들고 HTTPS 전용 정책 붙이기버킷 만들기 화면의 기본값(ACL 비활성, 모든 퍼블릭 액세스 차단, SSE-S3 암호화, 버전 관리 비활성)을 하나씩 읽고 버킷을 만듭니다. 복사해 붙여 넣는 버킷 정책으로 HTTPS가 아닌 요청을 거부하게 하고, 실습 뒤 버킷을 삭제합니다.