JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] 프라이빗 서브넷의 EC2에 접속하는 방법

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
AWS
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 AWS 중급/실전 (보안 가용성편)
slug
exercise-access-private-ec2
type
post
updatedAt
Jan 12, 2026 12:03 AM

✅ 프라이빗 서브넷에 접근하는 방법

프라이빗 서브넷(Private Subnet)은 외부에서 접근이 불가능하다고 얘기했다. 하지만 같은 VPC 내부에서는 퍼블릭 서브넷의 리소스와 프라이빗 서브넷의 리소스가 자유자재로 통신이 가능하다는 점을 활용해서 프라이빗 서브넷에 있는 EC2 인스턴스에 접근해보자.
notion image
 
 

✅ 키 페어를 활용한 EC2 접근

notion image
기존에는 AWS에서 제공하는 기능을 활용해 키 페어 없이 쉽게 EC2 인스턴스에 접근할 수 있었다. 하지만 이번 실습에서는 AWS에서 제공하는 기능을 활용하지 않고, 터미널(terminal)과 키 페어를 활용해 EC2 인스턴스에 접속해보자.
 
 

✅ [실습] 프라이빗 서브넷의 EC2에 접속하는 방법

  1. 로컬 컴퓨터에서 퍼블릭 서브넷에 존재하는 EC2 인스턴스에 접속하기
    1. $ cd [키 페어 파일이 존재하는 경로] $ chmod 400 "web-server.pem" # 키 페어 파일 보안을 위한 권한 설정 $ ssh -i "web-server.pem" ubuntu@[EC2 인스턴스의 Public IP]
      notion image
       
  1. ‘퍼블릭 서브넷에 위치한 EC2 인스턴스(web-server)’로 ‘instagram-server의 키 페어 파일’ 보내기
    1. 퍼블릭 서브넷에 위치한 EC2 인스턴스(web-server)에서 프라이빗 서브넷에 위치한 EC2 인스턴스(instagram-server)로 접속할 것이다. web-server 인스턴스에서 instagram-server 인스턴스로 접속하는 게 가능한 이유는 같은 VPC에 존재하기 때문이다.
       
      web-server 인스턴스에 접속할 때 web-server의 키 페어가 필요했던 것처럼, instagram-server 인스턴스에 접속할 때는 instagram-server의 키 페어가 필요하다. 따라서 instagram-server의 키 페어를 web-server 인스턴스로 전송해야 한다.
      notion image
       
      $ cd [키 페어 파일이 존재하는 경로] # scp -i [EC2 접근을 위한 키 페어 파일] [전송할 파일명] [서버 username]@[EC2 인스턴스의 Public IP]:[전송 받을 파일 위치] $ scp -i web-server.pem instagram-server.pem ubuntu@[EC2 인스턴스의 Public IP]:~/
       
       
  1. web-server 인스턴스로 키 페어 파일이 잘 전송됐는 지 확인하기
    1. notion image
       
  1. instagram-server로 접속해보기
    1. $ cd [키 페어 파일이 존재하는 경로] $ chmod 400 "instagram-server.pem" # 키 페어 파일 보안을 위한 권한 설정 $ ssh -i "instagram-server.pem" ubuntu@[EC2 인스턴스의 프라이빗 IP]
      notion image
      ubuntu@ 뒤에 보면 각 인스턴스의 Private IP가 작성되어 있다. @ 뒤에 적혀있는 부분이 각 컴퓨터에 붙여놓은 닉네임을 뜻한다. 이걸 보고 리눅스에서는 hostname이라고 부른다. instagram-server에 접속하기 전후의 hostname을 비교해보니 잘 접속이 됐다는 걸 확실하게 확인할 수 있다.
       

✅ 마무리

프라이빗 서브넷에 있는 AWS 리소스인 EC2 인스턴스에 접근하기 위해, 퍼블릭 서브넷에 있는 EC2 인스턴스를 활용했다. 이와 같이 프라이빗 서브넷의 AWS 리소스에 접근하기 위해 배치한 컴퓨터를 보고 Bastion Host라고 부른다. 다음 강의에서는 Bastion Host가 뭔지 자세히 알아보자.
author
JSCODE 박재성
category
AWS
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 AWS 중급/실전 (보안 가용성편)
slug
type
series-footer
updatedAt
Jan 12, 2026 12:02 AM
📎
이 글은 비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편) 강의의 수업 자료 중 일부입니다.