인터넷 게이트웨이
- VPC 내부의 리소스들을 인터넷에 연결하도록 허용
- 1개의 VPC랑만 연결
- 수평확장 가능함
- 작동을 위해 라우팅 테이블을 수정해야함
- 퍼블릭 서브넷에 퍼블릭 EC2 생성 → 라우팅 테이블 수정 (EC2를 라우터에 연결, 인터넷 게이트웨이에 연결)
베스천 호스트
- 퍼블릭에 있지만 프라이빗 서브넷에 접근 가능함.
- 배스천을 통해 프라이빗 EC2에 SSH로 접근. 배스천은 무조건 퍼블릭에 있어야함
- 반드시 보안그룹이 인터넷 액세스를 허용해야함
- 모든 인터넷 액세스를 허용하려면? ⇒ 보안 위험이 크다. 제한이 필요함
- 기업의 퍼블릭 CIDR 액세스만 허용 or 사용자 인터넷 액세스만 허용
- 모든 인터넷 액세스를 허용하려면? ⇒ 보안 위험이 크다. 제한이 필요함
- 프라이빗 서브넷의 EC2 보안그룹은 ssh 22 포트를 반드시 허용 해야함
NAT 인스턴스
- (구형) NAT Gateway가 더 좋음
- NAT = 네트워크 주소 변환
- 프라이빗 서브넷에 있는 EC2가 인터넷과 연결되게 허용함
- 퍼블릭 서브넷에서 실행
- 비활성화 해야하는 ec2 설정 :
- 소스/목적지 확인
- 프라이빗 서브넷 → NAT 인스턴스 (소스 ip를 변경) → 서버로 요청
- 소스/목적지 확인
- 고정된 탄력적 IP가 연결되어야함
- NAT 인스턴스 작동방식
- 퍼블릭 서브넷에 NAT 인스턴스를 생성하고 탄력적 IP 연결
- 프라이빗 ec2가 NAT 인스턴스에서 인터넷 게이트웨이까지 연결
- 가용성이 높지 않고, 초기화 설정으로 복원 불가
- 인스턴스마다 스크립트로 관리해줘야함.
NAT Gateway
- 관리형 NAT인스턴스, 높은 대역폭, 가용성높음. 관리 필요X
- 청구방식 : 사용량, 대역폭에 따름
- 특정 AZ에 생성됨. 탄력적 IP를 사용
- EC2와 같은 서브넷에서 사용불가. 다른 서브넷에서만 액세스해야함
- 보통 퍼블릭 서브넷에 생성하고 프라이빗 서브넷의 인스턴스와 연결
- (private subnet → NAT gateway → IGW)
- 대역폭은 5Gbps → 최대 45Gbps까지 확장 가능
- 보안그룹, 특히 포트 신경쓸필요 X
- 라우팅 테이블 연결 필요X
- 단일 AZ에서 복원 가능
- 여러 AZ에 NAT Gateway를 생성하면 단일 AZ 장애 예방 가능
VPC 피어링
- 두개의 VPC를 프라이빗하게 연결
- 다른 지역, 다른계정, 동일 계정 내에서도 VPC를 연결 가능
- CIDR이 겹치면 연결못함. (CIDR은 구별되어야 통신가능함)
- VPC A,B,C를 모두 연결하려면 각각 다 연결해야함
- 각 VPC 서브넷의 모든 라우팅 테이블을 업데이트해야함
- 피어링된 VPC의 보안그룹을 참조할 수 있음. (교차 계정인데 같은 지역일때)
VPC Flow Logs
- 인터페이스로 가는 IP트래픽을 캡쳐
- VPC Flow logs
- 서브넷 Flow logs
- 탄력적 네트워크 인터페이스(ENI) logs
- VPC의 연결문제를 모니터링하여 문제를 해결
- Flow logs를 S3, CloudWatch logs, Kinesis Data firehose에 전송
- ELB, RDS, ElastiCache, Redshift, workspace, natgw, trasit gateway 등으로도 전송가능
VPC Flow Logs Syntax
- srcaddr & dstaddr : 문제가 있는 IP를 식별
- scrport & dstport : 문제있는 포트를 식별
- action : NACL/보안그룹 수준에서 요청 성공/실패여부 확인
- 사용패턴 분석 or 악의적인 행동, 포트 스캔
- 쿼리방법 : Athena를 S3에 사용
- 스트리밍 : CloudWatch Logs Insights
VPC Flow Logs로 보안그룹과 NACL 이슈 해결
- “Action” 필드 확인하기
- 인바운드가 거부 ⇒ NACL or SG
- 인바운드 허용, 아웃바운드 거부 ⇒ NACL 이슈
- (보안그룹은 인바운드 허용이면 아웃바운드도 자연스레 허용이기 때문)
- 아웃바운드 거부 ⇒ NACL or SG
- 아웃바운드 허용, 인바운드 거절 ⇒ NACL 이슈
VPC Flow Logs 아키텍처
- Flow logs → S3 → Athena → QuickSight(분석)
AWS Site-to-Site VPN
특정 기업의 데이터센터를 AWS와 비공개로 연결시 고객 게이트웨이와 VPN 게이트웨이를 갖춰야함
- 가상 프라이빗 게이트웨이(VGW)
- VPN연결에서 AWS측에 있는 VPN 집선기(concentrator)
- VGW는 생성하면 Site-to-site VPN 연결하려는 VPC에 연결됨
- 고객 게이트웨이 (CGW)
- VPN연결에서 데이터센터측 물리장치 or 소프트웨어
Site-to-Site VPN 연결
- 고객 게이트웨이 디바이스 (온프레미스)
- 어떤 IP 주소를 사용해야할까?
- 고객 게이트웨이가 퍼블릭이면 인터넷 라우팅이 가능한 IP주소가 고객 게이트웨이 장치에 있을 것
- 고객 게이트웨이를 비공개로 하고프면 사설IP를 가질 수 있음. 그러면 NAT 디바이스를 사용해 퍼블릭 IP를 사용
- 어떤 IP 주소를 사용해야할까?
- 중요 : VPC 서브넷에서 라우트 전파를 활성화해야함
- 온프레미스에서 AWS로 EC2인스턴스 상태를 진단시, 보안그룹의 ICMP 프로토콜 인바운드를 허용해야함.
AWS VPN CloudHub
- 여러 VPN 연결을 가능하게 함. 보안도
- 비용이 적게 드는 Hub&Spoke 모델. 다른 지역끼리 기본 및 보조 네트워크 연결을 돕는다.
- 1개의 VPC내의 VGW와 여러개의 CGW를 연결
- (Site-to-Site연결을 여러개. 고객끼리도 서로 소통할 수 잇음)
- 사설은 안되고 공용만 됨
- 여러개 VPN연결하려면, 같은 VGW에 동적 라우팅과 라우팅 테이블을 설정하면 됨
'DevOps > AWS' 카테고리의 다른 글
[AWS SAA] Amazon FSx란? 키워드 간단 정리 (0) | 2025.02.11 |
---|---|
[AWS SAA] Storage Gateway란? 간단 키워드 정리 (0) | 2025.02.11 |
S3 Http Connection Time Error 해결하기 (Try-With-Resources) (0) | 2023.12.09 |
EC2 용량 증설하기 (0) | 2023.07.06 |
S3를 자바로 업로드하고 이미지 확인해보기 (0) | 2023.06.19 |