AWS SAA-C03 네트워크 관련 서비스 모음
AWS SAA-C03 네트워크 관련 서비스 모음 — #개발자의도구들 #AWSVPC #AWS네트워크 * AWS SAA 도전기 목록: https://blog.naver.com/jw...
#개발자의도구들 #AWSVPC #AWS네트워크
\* AWS SAA 도전기 목록: https://blog.naver.com/jword\_/224028873217
VPC EndPoint
출처: Exmptopic
핵심 요구사항
- 환경: VPC내 EC2 인스턴스에서 실행되는 애플리케이션
- 작업: S3 버킷의 로그 처리
- 제약 조건: 인터넷 연결 없이 S3 접근 필요
- 목표: S3로의 프라이빗 네트워크 연결 제공
보기
A. Create a gateway VPC endpoint to the S3 bucket.
B. Stream the logs to Amazon CloudWatch Logs. Export the logs to the S3 bucket
C. Create an instance profile on Amazon EC2 to allow S3 access.
D. Create an Amazon API Gateway API with a private link to access the S3 endpoint.
문제 풀이
✅ VPC EndPoint
📌 작동원리
┌─────────────────────────────────────────────────┐
│ VPC │
│ ┌──────────────────────────────────────┐ │
│ │ Private Subnet │ │
│ │ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ EC2 Instance │ │ │
│ │ │ │ │ │
│ │ │ Application │ │ │
│ │ └────────┬────────┘ │ │
│ │ │ │ │
│ │ │ (프라이빗 연결) │ │
│ │ ▼ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Route Table │ │ │
│ │ │ Rule: │ │ │
│ │ │ S3 prefix-list │ │ │
│ │ │ → vpce-xxxxx │ │ │
│ │ └────────┬────────┘ │ │
│ └───────────┼──────────────────────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ Gateway Endpoint│ (무료) ✅ │
│ │ (vpce-xxxxx) │ │
│ └────────┬────────┘ │
└──────────────┼──────────────────────────────────┘
│
│ (AWS 프라이빗 네트워크)
│ (인터넷 미경유) ✅
▼
┌───────────────┐
│ Amazon S3 │
│ (Bucket) │
└───────────────┘
📜 상세 설명
- 프라이빗 연결
- 트래픽이 AWS 프라이빗 네트워크를 통해서만 전송
- 인터넷 게이트웨이 불필요
- NAT 게이트웨이 불필요
- 비용무료
- Gateway Endpoint 자체: $0
- 데이터 전송: $0 (같은 리전)
- NAT 게이트웨이 비용절감
- 보안강화
- 공용 IP 필요없음: 인터넷 x
- 간편한 설정
- 몇 분 내 설정 완료
- 라우팅 테이블만 수정
- 애플리케이션 코드 불필요
- 고성능
- AWS 백본 네트워크 사용
- 무제한 대역폭
- 낮은 지연시간
⚒️ 구현방법
aws ec2 create-vpc-endpoint \
--vpc-id vpc-12345 \
--service-name com.amazonaws.ap-northeast-2.s3 \
--route-table-rtn rtn-123456 rtb-u5334
by Console
// Route Table Check
aws ec2 describe-route-tables --route-table-id rtb-123
// result
{
"DestinationPrefixListId": "pl-78a54011",
"GatewayId": "vpce-0f5137a0c88258914",
"Origin": "CreateRoute",
"State": "active"
}
Target: Endpoint 등록한 VPC
Destination: S3
S3 전용 Endpoint가 설정되었다.
장점:
- ✅ 완전 무료
- ✅ 인터넷 미경유
- ✅ 설정 간단
- ✅ 고성능
- ✅ 무제한 대역폭
단점:
- S3, DynamoDB만 지원
🚀 유사한 서비스
S3 Interface Endpoint
- On-premise에서도 접근가능 (Direct Connect/VPN)
- On-premise에서 S3 접근 솔루션으로 사용 가능
- 특정 AZ로 트래픽 제한 가능
❌ 비용이 많이 발생, 복잡함
NAT Gateway
- Private Subnet의 인스턴스가 인터넷에 아웃바운드 연결을 할 수 있게 해주는 관리형 서비스
- 인바운드는 차단한다.
┌────────────────────────────────────────┐
│ VPC │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Private Subnet │ │
│ │ ┌────────────────┐ │ │
│ │ │ EC2 Instance │ │ │
│ │ │ (No Public IP) │ │ │
│ │ └────────┬───────┘ │ │
│ │ │ │ │
│ │ │ 아웃바운드만 │ │
│ └───────────┼──────────────────────┘ │
│ ↓ │
│ ┌───────────────────────────────┐ │
│ │ Public Subnet │ │
│ │ ┌────────────────┐ │ │
│ │ │ NAT Gateway │ │ │
│ │ │ (Public IP) │ │ │
│ │ └────────┬───────┘ │ │
│ └───────────┼───────────────────┘ │
└──────────────┼───────────────────────┘
↓
Internet Gateway
↓
인터넷
❌단점:
- 인바운드 차단
- ALB/NLB 사용
- 비용이 많이 발생한다.
👉 사용사례
- 프라이빗 EC2의 인터넷 엑세스
- 소프트웨어 업데이트
- 외부 API 호출
- 패키지 다운로드
- 데이터베이스 업데이트
- RDS 패치
- 외부 데이터 동기화
VPC Peering
두 VPC 간의 프라이빗 네트워크 연결
┌──────────────────┐ ┌──────────────────┐
│ VPC A │ │ VPC B │
│ 10.0.0.0/16 │◄───────►│ 10.1.0.0/16 │
│ │ Peering │ │
│ ┌────────────┐ │ │ ┌────────────┐ │
│ │ EC2 A │ │ │ │ EC2 B │ │
│ │ 10.0.1.10 │ │ │ │ 10.1.1.10 │ │
│ └────────────┘ │ │ └────────────┘ │
└──────────────────┘ └──────────────────┘
통신:
EC2 A → 10.1.1.10 (프라이빗 IP로 직접 접근) ✅
특징
- 퍼블릭 인터넷 미경유
- AWS 백본 네트워크 사용한다.
- 보안에 좋아
- 낮은 지연
- 높은 처리량
- 비전이적(Non-Transitive)
- VPC A ←→ VPC B ←→ VPC C
- A와 C는 통신 불가 ❌
- IP 중복 불가
- CIDR 블록 중복 안 됨
- 10.0.0.0/16 ←X→ 10.0.0.0/16
👉 사용사례
- 환경 분리
- Dev VPC ←→ Prod VPC
- 리소스 공유
- 조직간 연결
- Account A VPC ←→ Account B VPC
- 크로스 계정 Peering
- 리전간 연결
- Seoul VPC ←→ Virginia VPC
- 글로벌 애플리케이션
AWS PrivateLink
- VPC에서 AWS 서비스 또는 다른 VPC의 서비스에 프라이빗 하게 접근
┌──────────────────────────────────────┐
│ Consumer VPC │
│ │
│ ┌────────────┐ │
│ │ EC2 │ │
│ └─────┬──────┘ │
│ │ │
│ ↓ │
│ ┌─────────────────────┐ │
│ │ VPC Endpoint │ │
│ │ (Interface) │ │
│ │ ENI: 10.0.1.50 │ │
│ └──────────┬──────────┘ │
└─────────────┼───────────────────────┘
│
│ (AWS PrivateLink)
│ (프라이빗 연결)
▼
┌──────────────────────────────────────┐
│ Provider VPC/Service │
│ │
│ ┌─────────────────────┐ │
│ │ NLB │ │
│ └─────────┬───────────┘ │
│ ↓ │
│ ┌─────────────────────┐ │
│ │ 서비스 (API, 앱) │ │
│ └─────────────────────┘ │
└──────────────────────────────────────┘
vs VPC Perring
Private Link는
- 서비스 레벨 연결
- 일방향
- 특정 서비스만 노출
- IP 중복가능
- NLB 필요
Peering은
- VPC 레벨 연결
- 양방향
- 전체 VPC 노출
- IP 중복 불가
- 추가 리소스 불필요
AWS Snowball Edge
핵심 요구사항
- 현재 환경: 온프레미스 NFS에 대용량 비디오 파일 저장
- 파일 크기: 1MB ~ 500GB (다양한 크기)
- 총 용량: 70TB (더 이상 증가하지 않음)
- 목표: Amazon S3로 마이그레이션
- 제약 조건:
- ⚡ 가능한 한 빨리 마이그레이션
- 🌐 최소한의 네트워크 대역폭 사용
보기
A. Create an S3 bucket. Create an IAM role that has permissions to write to the S3 bucket. Use the AWS CLI to copy all files locally to the S3 bucket.
B. Create an AWS Snowball Edge job. Receive a Snowball Edge device on premises. Use the Snowball Edge client to transfer data to the device. Return the device so that AWS can import the data into Amazon S3.
C. Deploy an S3 File Gateway on premises. Create a public service endpoint to connect to the S3 File Gateway. Create an S3 bucket. Create a new NFS file share on the S3 File Gateway. Point the new file share to the S3 bucket. Transfer the data from the existing NFS file share to the S3 File Gateway.
D. Set up an AWS Direct Connect connection between the on-premises network and AWS. Deploy an S3 File Gateway on premises. Create a public virtual interface (VIF) to connect to the S3 File Gateway. Create an S3 bucket. Create a new NFS file share on the S3 File Gateway. Point the new file share to the S3 bucket. Transfer the data from the existing NFS file share to the S3 File Gateway.
문재풀이
📌 AWS Snowball Edge
┌─────────────────────────────────────────────────────┐
│ 온프레미스 데이터센터 │
│ │
│ ┌──────────────────┐ │
│ │ NFS Storage │ │
│ │ (70TB 비디오) │ │
│ └────────┬─────────┘ │
│ │ │
│ │ 로컬 네트워크 (10Gbps) │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ Snowball Edge Device │ │
│ │ - 80TB 용량 │ │
│ │ - 로컬 복사 (빠름) │ │
│ │ - 암호화 저장 │ │
│ └─────────────────────────────┘ │
│ │ │
└───────────┼──────────────────────────────────────────┘
│
│ (물리적 배송 - 인터넷 불필요!)
│ 택배/화물
▼
┌─────────────────────────────────────────────────────┐
│ AWS 데이터센터 │
│ │
│ ┌─────────────────────────────┐ │
│ │ Snowball Edge Device │ │
│ │ 수령 및 데이터 업로드 │ │
│ └──────────┬──────────────────┘ │
│ │ │
│ │ AWS 내부 고속 네트워크 │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ Amazon S3 Bucket │ │
│ │ (70TB 비디오 저장) │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
특징
- 네트워크를 거의 사용하지 않는다.
- 물리적 배송이라서!
- 70TB같이 대용량이라면 네트워크 대역폭 보다 훨씬 빠르게 데이터 전송 가능하다.
- 배송시간, 반송시간 다 합쳐도
대용량 데이터 전송 솔루션 시간 비교
📦 Snowball Edge:
├─ Snowball 주문: 1-2일
├─ 배송 수령: 2-3일
├─ 데이터 복사: 2-3일 (로컬 네트워크 10Gbps)
├─ 반송: 2-3일
├─ AWS 업로드: 1-2일 (AWS 내부)
└─ 총 소요: 8-13일 ✅
🌐 인터넷 (100Mbps):
├─ 70TB = 70,000GB = 560,000,000Mb
├─ 560,000,000Mb ÷ 100Mbps = 5,600,000초
├─ = 93,333분 = 1,555시간 = 64.8일
└─ 실제로는 더 오래 걸림 (네트워크 불안정) ❌
🌐 인터넷 (1Gbps):
├─ 560,000,000Mb ÷ 1,000Mbps = 560,000초
├─ = 9,333분 = 155시간 = 6.5일
└─ 하지만 대역폭 100% 점유 ❌
🚀 Direct Connect (10Gbps):
├─ 560,000,000Mb ÷ 10,000Mbps = 56,000초
├─ = 933분 = 15.5시간
├─ 하지만 구축 시간 2-3개월 소요 ❌
└─ 초기 비용 매우 높음
└─────────────────────────────────────────────────────┘
안정성 및 보안성
- 256-bit 암호화
- 변조 방지 케이스
- E Ink 배송 라벨
- AWS에서 데이터 완전 삭제 후 반환
실제로 이런 장치가 집으로 배송되서 온다.
AWS Console에서 주문이 가능하다. 장치와 Shipping info만 기록하면 된다.






