| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 동적분석
- 자바
- webhacking
- Dreamhack
- 서울청년문화패스
- 진입차수
- sk쉴더스 루키즈
- 코리안챔버오케스트라
- sk 쉴더스 루키즈
- 우테코
- React
- 알고리즘
- 우아한테크코스
- linux
- 백엔드
- SK쉴더스
- SK쉴더스루키즈
- 위상 정렬
- 루키즈31기
- 애플리케이션 계층
- c
- 악성코드 분석
- 깃
- 레나튜토리얼
- 프리코스
- 웹개발
- Practical Malware Analysis Labs
- 프랑스어 #프랑스어배우기 #프랑스어독학 #델프인강 #시원스쿨프랑스어 #delf독학 #델프 #프랑스어기초 #프랑스어공부
- 예술의 전당
- 루키즈 31기
- Today
- Total
yon11b
[SK 쉴더스 루키즈] VPC endpoint 본문
실습 개요
원래 private subnet -> S3 접근하려면 public 서버에 NAT를 두고, private router에 NAT를 연결하고, NAT가 IGW과 통신해서 S3로 접근해야 한다.
실제로 서비스를 운영하다보면, S3 처럼 vpc안에있는 서비스보다 vpc밖에 있는 서비스가 많다. 그래서 외부 통신을 생각보다 많이 해야 한다.
-> 그런데 외부 통신은 보안에 취약하다는 이유 등으로 굳이 하고 싶지 않다면?

===> VPC endpoint를 통해서 AWS 내부망으로 S3와 통신을 해보자.
연결 흐름
private subnet -> VPC endpoint -> S3
Bastion
: 직접 연결이 아니라 ssh를 두 번 해서 거쳐 가는 형식
1. 일단 내가 private에 먼저 접근을 해야 한다.
2. 그러기 위해서는 public subnet을 통해서 private 로 접근해야 한다.
3. 나 -> public subnet 로 ssh1 연결
4. public subnet -> private subnet으로 ssh2 연결
5. 원래는 ssh1, ssh2가 서로 다른 키를 이용해서 접속해야 하지만, 우리 실습에서는 편의를 위해서 똑같은 키로 한다.
6. ssh1을 하면 ------> 내 pc에 priv key / public에 public key 가 저장된다.
7. 나의 priv key를 S3에 올린 후, public EC2가 다운받게 하여, public도 priv key를 가지고 있을 수 있게 한다. (public -> private 접근 위해)
실습 과정
1. public EC2 생성
- key pair 생성: MyKP002
- 퍼블릭 서브넷 설정: MyPubSubnet
- EIP 활성화
- 보안 그룹: 22번 포트 개방 확인(기본 설정)
2. Private EC2 생성
- key는 public과 동일하게(꼼수)
- 프라이빗 서브넷 설정: MyPriSubnet
- EIP 비활성화
- 보안 그룹: 22번 포트 개방 확인(기본 설정)
3. public -> private 접근을 위해 S3에 priv key 올리기
- S3 버킷 생성
- 키 파일 업로드: MyKP002.pem
4. public에서 S3에 접근하여 키 파일 받기

MyKP002.pem 파일이 성공적으로 public(10.0.1.32)에 다운 받아졌다.
5. public에서 private으로 ssh 연결하기
private EC2 ip: 10.0.3.93
ssh -i MyKP002.pem ec2-user@10.0.3.93

그냥 ssh 연결 시도하면 key 파일에 권한이 너무 많이 주어졌다면서 permission denied를 한다.
권한을 400 으로 제한적으로 주고 다시 실행해보자.

ssh가 잘 되어 ip도 .32 → .93으로 바뀐 것을 확인할 수 있다.
6. Private -> S3 연결 시도
지금까지는 그냥 내 pc에서 private까지 접속한 것이다.
이제 private- > s3 요청을 보내볼 수 있다..


그런데 지금 NAT가 없기 때문에 private이 밖으로 나갈 수 없어서 연결이 안 된다.(당연함)
7. VPC 엔드포인트 만들기
우리는 NAT 대신 VPC endpoint를 사용해서 s3에 접속할 것이다.

MyPrivRT 라우팅 테이블을 사용하는 서브넷에서 해당 서비스(S3)로 가는 트래픽을 VPC Endpoint로 보내겠다는 의미

즉, private subnet에서 S3 요청이 있으면 다 VPC Endpoint로 보내게 MyPrivRT를 라우팅한다는 의미.
생성 완료!

8. MyPrivRT 라우팅 테이블 확인

9. 다시 private -> S3 접속

성공!!
VPC Endpoint
쓰는 이유? 장점?
인터넷 안 거침 → 보안 ↑
일반적으로는:
- EC2 → S3 → 인터넷(IGW/NAT) → AWS 서비스
Endpoint 쓰면:
- EC2 → VPC Endpoint → AWS 내부망
=> 외부 인터넷을 아예 안 거침
→ 공격 표면 줄어듦
→ 데이터 유출 위험 감소
종류
1. gateway 유형
라우팅 테이블로 경로를 바꾸는 방식
지원 서비스
- S3
- DynamoDB
2. interface 유형
ENI(네트워크 인터페이스)를 VPC 안에 꽂는 방식
지원 서비스
- gateway 가 아닌 것 나머지
'보안 > SK 쉴더스 루키즈' 카테고리의 다른 글
| [SK 쉴더스 루키즈] 애플리케이션 보안: OWASP 10, NodeGoat, bWAPP 실습 (0) | 2026.04.30 |
|---|---|
| [SK 쉴더스 루키즈] 애플리케이션: Flask, Opensearch (0) | 2026.04.29 |
| [SK 쉴더스 루키즈] User Data, S3 기초, IAM 정책 (0) | 2026.04.20 |
| [SK 쉴더스 루키즈] EBS 할당 & VPC 구성 (0) | 2026.04.16 |
| [SK 쉴더스 루키즈] AWS 개요 및 EC2 인스턴스 생성 (0) | 2026.04.15 |
