Skip to content

Commit 61e994f

Browse files
Merge pull request #69 from gdsc-ssu/sanghyeon/week21
[week21] VPC 엔드포인트 & Transit Gateway
2 parents d3fa657 + cb18660 commit 61e994f

6 files changed

+117
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
>[!info] 목차
2+
> - [[#문제 설명]]
3+
> - [[#문제 추가 설명]]
4+
> - [[#해결 방법]]
5+
> - [[#참고]]
6+
> - [[#참고 레퍼런스]]
7+
### 문제 설명
8+
VPC 내 리소스 대역폭 비용을 낮게 유지하면서 보안을 위해 외부 인터넷을 사용하지 않고, 특정 S3 버킷에 접근해야한다.
9+
### 문제 추가 설명
10+
- 보안
11+
- 외부 인터넷을 사용하지 않고 s3 버킷에 접근할 수 있어야 함
12+
- private subnet에 있는 인스턴스에서 s3 버킷에 접근하려면 일반적인 경우, endpoint를 실제 s3의 엔드포인트로 설정하여 받아오게 되는데, private subnet이면 외부 인터넷 연결이 안되기 때문에 public subnet으로 바꿔줘야 접근할 수 있다.
13+
- 비용
14+
- vpc 내 리소스에서 internet gateway를 사용하지 않고 s3 버킷으로 데이터 전송
15+
- vpc에서 s3 버킷에 접근할 때 트래픽은 internet gateway를 통과하게 되고, 다시 돌아오는 과정도 포함함 -> 외부 인터넷을 경유하게 됨으로 인터넷 데이터 비용 발생
16+
17+
### 해결 방법
18+
VPC 엔드포인트를 활용하여 private subnet에 있는 인스턴스에서 private s3 버킷 혹은 public s3 버킷으로 접근할 수 있다.
19+
> ![[Pasted image 20240804154437.png]]
20+
> ![[Pasted image 20240804154502.png]]
21+
> 출처 : 농심 tech 블로그
22+
23+
Gateway endpoint를 설정하면 routing table에 pl-id (prefix list id / 접두사 목록)가 생성되고, 해당 s3 endpoint는 vpc endpoint를 활용하여 접근하게 된다.
24+
### 참고
25+
- VPC 엔드포인트 자체는 무료이고, 관련된 서비스를 이용하는 이용료만 발생한다.
26+
- S3 버킷에 대한 엑세스 제한을 위해서 엔드포인트 정책을 사용할 수 있는데, 계정이 소유한 버킷 뿐만 아니라 AWS 내 모든 S3 버킷에 대해서 적용이 가능하다.
27+
```json
28+
{
29+
"Version": "2012-10-17",
30+
"Statement": [
31+
{
32+
"Effect": "Allow",
33+
"Principal": "*",
34+
"Action": "s3:GetObject",
35+
"Resource": "arn:aws:s3:::your-bucket-name/*",
36+
"Condition": {
37+
"StringEquals": {
38+
"aws:sourceVpce": "vpce-xxxxxxxx"
39+
}
40+
}
41+
}
42+
]
43+
}
44+
```
45+
이렇게 만들면 해당 vpc에서만 버킷 접근이 가능하다.
46+
- VPC 엔드포인트의 라우팅 테이블 항목이 기본 0.0.0.0/0 보다 구체적으로 설정되어 있음으로(pl-id값이 설정되어 있음으로), 해당 서비스로 바인딩 된 모든 트래픽은 public 인터넷 경로가 아니라 vpc 엔드포인트로 이동한다.
47+
48+
### 참고 레퍼런스
49+
- [vpc endpoint란?](https://tech.cloud.nongshim.co.kr/2023/03/16/%EC%86%8C%EA%B0%9C-vpc-endpoint%EB%9E%80/)
50+
-
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
>[!info] 목차
2+
> - [[#문제 설명]]
3+
> - [[#문제 추가 설명]]
4+
> - [[#알아야하는 개념]]
5+
> - [[#해결 방법]]
6+
> - [[#참고]]
7+
> - [[#참고 레퍼런스]]
8+
### 문제 설명
9+
NAT 게이트웨이 수를 줄이려고 모든 VPC에 전이 라우팅을 적용하여 외부 인터넷 트래픽을 하나의 공유 서비스 VPC를 통해 사용하고자 한다.
10+
### 문제 추가 설명
11+
- 비용 효율성
12+
- 각 VPC마다 NAT 게이트웨이를 생성하면 비용이 많이 발생한다.
13+
- 모든 VPC가 하나의 NAT 게이트웨이를 공유하는 구조를 만들면 비용 절감이 가능하다.
14+
- 전이 라우팅(Transit Routing)
15+
- 전이 게이트웨이(Transit Gateway)를 활용하여 여러 VPC간 라우팅을 구현할 수 있다.
16+
- 모든 VPC 외부 트래픽을 공유 서비스 VPC로 라우팅하여 NAT 게이트웨이를 공유할 수 있다.
17+
### 알아야하는 개념
18+
- Transit Gateway [공식문서](https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/what-is-transit-gateway.html)
19+
- 여러 VPC 간의 연결을 중앙 집중화하여 네트워크 관리 용이하게 작업
20+
- 주요 기능
21+
- 중앙 집중식 라우팅 허브
22+
- 여러 VPC 연결을 중앙에서 관리
23+
- 트래픽 모니터링 & 제어
24+
- 중앙 집중화된 구조로 모니터링 및 제어가 쉬움
25+
- 보안 정책 일관되게 적용
26+
- 확장성
27+
- 다른 VPC 및 온프레미스 네트워크와 연결 및 확장이 쉬움
28+
- 비용 효율성
29+
- 트래픽을 하나의 지점으로 집중시켜 네트워크 대역폭 사용을 줄이고, 여러 개별 연결을 하지 않아 비용 절감 가능
30+
- 사용 사례
31+
- 온프레미스 데이터 센터와 클라우드 간 연결
32+
- 여러 지역 및 가용 영역에 걸친 클라우드 리소스 관리
33+
- VPC간 트래픽을 중앙에서 제어하고 모니터링
34+
- Hub-Spoke 네트워크 토폴로지
35+
- Cloud Hub : 하나의 VPC가 모든 연결을 맺는 HUB VPC (중앙 관리용)
36+
- Spoke VPC : 온프레미스 혹은 다른 VPC
37+
### 해결 방법
38+
AWS TGW(Transit Gateway)를 배포하고, 모든 VPC에 대한 전송 게이트웨이 VPC 연결을 구성한다.
39+
각 VPC의 라우팅 테이블을 모든 외부 트래픽을 트랜짓 게이트웨이로 보내도록 설정하고 모든 스포트(spoke) VPC가 공유 서비스 VPC의 NAT 게이트웨이를 사용할 수 있도록 설정한다.
40+
![[스크린샷 2024-08-04 오후 4.53.01.png]]
41+
42+
### 참고
43+
기존 방식으로는 다수의 피어링 연결을 사용하거나 타사 소프트웨어를 사용해야 했다.
44+
#### 문제
45+
1. 단일 장애점
46+
- 모든 인터넷 트래픽이 하나의 NAT 게이트웨이로 진행됨으로 해당 NAT 게이트웨이가 장애 발생하면 모든 VPC 인터넷 연결에 문제가 발생할 수 있음
47+
2. 대역폭 및 성능문제
48+
- 하나의 NAT 게이트웨이에 트래픽이 몰리면 대역폭 문제가 발생할 수 있음
49+
### 참고 레퍼런스
50+
- [AWS Direct Connect](https://aws.amazon.com/ko/directconnect/)

img/Pasted image 20240804154437.png

66.2 KB
Loading

img/Pasted image 20240804154502.png

18.6 KB
Loading
802 KB
Loading

review/week21/심상현.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
### ALB와 접근 매니저
2+
- Application Load Balancer를 사용하여 각 인스턴스에 로드밸런싱, https 적용 등 다양한 작업을 수행할 수 있다.
3+
### 접두사 목록을 활용한 CIDR 관리
4+
- 접두사 목록을 활용하여 특정 CIDR(IP) 블록들을 묶어서 관리할 수 있다.
5+
- 보안그룹을 조금 더 쉽게 적용할 수 있다고 생각하면 좋을 듯.
6+
- 이후 VPC 엔드포인트 또한 이 접두사 목록을 활용하면 라우팅 처리를 손쉽게 진행할 수 있다.
7+
### CloudFront
8+
- AWS 내에서 제공하는 CDN 서비스
9+
- S3나 특정한 콘텐츠에 대해서 빠르게 접속 하거나, S3 객체의 원본 위치를 가리거나
10+
### DynamoDB
11+
- AWS 내에서 제공하는 NoSQL 서비스
12+
### VPC 엔드포인트
13+
- VPC 엔드포인트를 활용하면 private subnet에 있는 인스턴스에서 AWS의 다른 서비스로 빠르게 접속이 가능하다.
14+
- 비용 절감 뿐만 아니라 인스턴스를 외부에 노출시키지 않을 수도 있다.
15+
### Transit Gateway
16+
- NAT가 여러개 있는 경우, 과금이 여러번 발생하는데 Transit Gateway로 단일 NAT를 활용하여 비용 절감할 수 있다.
17+
- 또한 온프레미스 환경의 서버도 동일한 vpc처럼 취급할 수 있는 기능도 추가할 수 있다.

0 commit comments

Comments
 (0)