VPC Components
CIDR, Public / Private IP
CIDR
- Classless Inter-Domain Routing
- 클래스 없는 도메인 간 라우팅
보안 그룹 규칙
과 AWS의 네트워킹
을 다룰 때 사용합니다.
- 단순한 IP 범위를 정의하는 데 도움을 줍니다.
- /32로 끝나는 IP 주소는 사실 IP 하나만 나타냅니다.
- 0.0.0.0/0이라면 모든 IP를 나타내요.
- CIDR 구성 요소는 두 가지입니다.
기본 IP
- 범위에 포함된 IP
- 예시로 10.0.0.0 또는 192.168.0.0 등
서브넷 마스크
- IP에서 변경 가능한 비트의 개수를 정의
- 여기에는 /0, /24 그리고 /32까지 있습니다.
- 형식은 두 가지
- /8은 서브넷 마스크 255.0.0.0과 동일
- /16은 255.255.0.0과 같습니다.
Subnet Mask
- 서브넷 마스크를 사용하면 기본적으로 기본 IP의 일부가 기본 IP에서 다음 값을 추가로 가져올 수 있습니다.
- 192.168.0.0/24 = … ?
- 192.168.0.0 – 192.168.0.255 (256 IPs)
- 192.168.0.0/16 = … ?
- 192.168.0.0 – 192.168.255.255 (65,536 IPs)
- 134.56.78.123/32 = … ?
- 0.0.0.0/0
Public vs Private IP
Internet Assigned Numbers Authority
즉 IANA
에서 구축한 특정 IPv4 주소 블록은 사설 LAN 네트워크 다시 말해 로컬 네트워크나 공용 인터넷 주소입니다.
사설 IP
는 특정 값만 허용합니다.
- 10.0.0.0 – 10.255.255.255 (10.0.0.0/8)
- 172.16.0.0 – 172.31.255.255 (172.16.0.0/12)
- 계정을 생성할 때 AWS에서 제공하는 기본 VPC
- 192.168.0.0 – 192.168.255.255 (192.168.0.0/16)
- 전 세계에 있는 IP 주소는 모두 인터넷상에 있는 공용 IP 주소일 겁니다.
기본값 VPC Walkthrough
- 새로운 AWS 계정은 모두 기본 VPC가 있습니다.
- 새로운 EC2 인스턴스는 서브셋을 지정하지 않으면 기본 VPC에 실행됩니다.
- 계정을 시작하면 VPC는 하나만 생깁니다.
- 기본 VPC는 처음부터 인터넷에 연결돼 있어서 인스턴스가 인터넷에 액세스합니다.
- 내부의 EC2 인스턴스는 공용 IPv4 주소를 얻습니다.
- EC2 인스턴스를 위한 공용 및 사설 IPv4 DNS 이름도 얻습니다.
VPC
VPC - AWS
Virtual Private Cloud
- 단일 AWS 리전에 여러 VPC를 둘 수 있습니다.
- VPC마다 할당된 CIDR는 다섯 개입니다.
- 각 CIDR의 최소 크기는 /28로 IP 주소는 최소 16개가 있습니다.
- 최대 크기는 /16으로 IP 주소는 최대 65,536개입니다.
- VPC가 사설 리소스이기 때문에 사설 IPv4 범위만 허용됩니다.
- 10.0.0.0 – 10.255.255.255 (10.0.0.0/8)
- 172.16.0.0 – 172.31.255.255 (172.16.0.0/12)
- 192.168.0.0 – 192.168.255.255 (192.168.0.0/16)
- 일반적인 규칙으로는 원하는 대로 할당할 수 있지만
VPC CIDR
가 다른 VPC
나 네트워크
혹은 기업 네트워크
와 겹치지 않도록 주의하세요.
VPC - Subnet
- VPC 내부에 있는 IPv4 주소의 부분 범위입니다.
- 이 범위 내에서 AWS가 IP 주소 다섯 개를 예약합니다.
- IP 주소 처음 네 개, 마지막 한 개를 서브넷마다 예약합니다.
- 이런 IP 주소는 사용도 안 되고 EC2 인스턴스에 IP로 할당되지도 못합니다.
예를 들어 CIDR 블록 10.0.0.0/24가 있다면,
10.0.0.0
– 네트워크 주소
10.0.0.1
– .1을 VPC 라우터용으로 예약
10.0.0.2
– Amazon 제공 DNS에 매핑
10.0.0.3
– 당장 사용되진 않지만 나중에 필요할지 모르니까 예약
10.0.0.255
– 네트워크 브로드캐스트 주소인 .255도 있는데 AWS는 VPC에서 브로드캐스트를 지원하지 않기에 예약은 되지만 사용하는 건 안 됩니다.
EC2 인스턴스 서브넷에서 IP 주소 29개가 필요할 때,
- /27 서브넷은 사용 못 한다는 걸 시험 볼 때 기억해 두세요
- /27 IP 주소는 32개인데 예약된 IP 주소 다섯 개를 제외하면 27개만 남기 때문입니다.
- 서브넷에 IP 주소 64개를 제공하니까요 서브넷 크기는 /26이어야 합니다.
Internet Gateway (IGW)
IGW
는 VPC의 리소스를 인터넷에 연결하도록 허용하는 EC2 인스턴스
나 람다 함수
등입니다.
- 수평으로 확장되고 가용성과 중복성이 높습니다.
- VPC와는 별개로 생성해야 합니다.
- VPC는 IGW 하나에만 연결되며 반대의 경우도 마찬가지입니다.
- 인터넷 액세스를 허용하지 않습니다.
- 작동을 위해 라우팅 테이블을 수정해야 합니다.
Bastion Hosts
- 인스턴스를 Private 서브넷에 연결할 때 Bastion 호스트를 이용합니다.
- Bastion 호스트는 Public 서브넷의 EC2 인스턴스로 통과할 수 있는 요새 호스트입니다.
- 이를 위해 Bastion 서브넷 EC2 인스턴스의
보안 그룹 규칙
을 수정해야 합니다.
- Bastion 호스트는 인터넷에서 사설 EC2 인스턴스로 SSH를 하는 방법입니다.
- Public 서브넷에 위치하여 그 Public 서브넷이 다른 모든 Private 서브넷과 연결됩니다.
Bastion 호스트의 보안 그룹은 엄격해야 합니다.
- 모든 네트워크에 액세스해서 올바르게 작성해야 합니다.
- EC2 인스턴스 보안 그룹을 올바르게 구성하여 Bastion 호스트로부터의 트래픽을 허용해야 합니다.
NAT Instance
- Network Address Translation
- 네트워크 주소 변환
- Private 서브넷 EC2 인스턴스가 인터넷에 연결되도록 허용합니다.
- Public 서브넷에서 실행되어야 하고, Public 및 Private 서브넷을 연결합니다.
- 비활성화해야 하는 설정은 소스/목적지 확인입니다.
- 고정된 Elastic IP가 연결되어야 합니다.
- 라우팅 테이블을 수정하여 Private 서브넷과 Public 서브넷의 두 서브넷에 있는 EC2 인스턴스로부터 NAT 인스턴스로 트래픽을 전송하도록 합니다.
- 2020년 12월 31일로 표준 지원이 종료.
- NAT Gateway를 권장
- 가용성이 높지 않습니다.
- 초기화 설정으로 복원할 수 없어서 여러 AZ에 ASG를 생성해야 합니다.
- 복원되는 사용자 데이터 스크립트가 필요하기에 꽤 복잡합니다.
- 작은 인스턴스는 큰 인스턴스에 비교해서 대역폭이 더 작습니다.
- 보안 그룹과 규칙을 관리해야 합니다.
- 인바운드에서는, Private 서브넷의 HTTP/HTTPS 트래픽을 허용하고 홈 네트워크의 SSH도 허용합니다.
- 아웃바운드에서도 트래픽이 나가도록 합니다.
NAT Gateway
- AWS의 관리형 NAT 인스턴스이며 높은 대역폭을 가지고 있습니다.
- 가용성이 높으며 관리할 필요가 없습니다.
- 사용량 및 NAT Gateway의 대역폭에 따라 청구됩니다.
- 특정 AZ에서 생성되고 탄력적 IP를 이어받습니다.
- EC2 인스턴스와 같은 서브넷에서 사용할 수 없어서 다른 서브넷에서 액세스할 때만 사용됩니다.
- 경로는 (Private Subnet => NATGW => IGW) 입니다.
- 대역폭은 초당 5GB이며, 초당 45GB까지 확장할 수 있습니다.
- 보안 그룹을 관리할 필요가 없습니다.
NAT Gateway 고가용성
-
NAT Gateway은 단일 AZ에서 복원 가능합니다.
-
AZ가 중지될 경우를 위해 다중 NAT Gateway
를 여러 AZ
에 두면 결함 허용을 할 수 있습니다.
-
라우팅 테이블을 통해 AZ를 서로 연결할 필요는 없습니다.
NAT Gateway vs. NAT Instance
DNS 확인
DNS Resolution
- enableDnsSupport
- Route 53 Resolver 서버의 DNS 확인이 VPC에서 지원될지 결정하는 옵션입니다.
- 기본 설정은 True
- VPC 내의 EC2 인스턴스가 Amazon 제공 DNS 서버를 쿼리 할 수 있다는 뜻입니다.
- 이때의 서버 IP는 169.254.169.253 혹은 이전에 언급했던 예약된 IP인 VPC IPv4 네트워크 범위의 기본에 더하기 2를 한 것입니다.
- 다시 말해 .2 주소입니다.
DNS Hostnames
(enableDnsHostnames)
- 기본 VPC가 있다면,
- 기본적으로 True
- 새로 생성된 VPC라면 False
- 미리 활성화하지 않으면 아무것도 하지 않습니다.
- DNS 호스트 이름이 True일 때 공용 IPv4도 가진다면 EC2 인스턴스가 공용 호스트 이름을 가집니다.
왜 이런 두 가지 설정을 활성화해야 할까?
Route 53의 사설 호스팅 영역에 사용자 지정 DNS 도메인이 있고
두 가지 속성 모두 True라면
사설 호스팅 영역을 만들 수 있습니다.
보안 그룹과 NACLs
Security Groups & NACLs
Network Access Control List (NACL)
- 서브넷을 오가는 트래픽을 제어하는 방화벽과 비슷합니다.
- 서브넷마다 하나의 NACL이 있고 새로운 서브넷에는 기본 NACL이 할당됩니다.
- NACL 규칙 정의,
- 숫자가 있고 범위는
1부터 32,766
까지이고 숫자가 낮을수록 우선순위가 높습니다.
- 첫 번째 규칙 비교로 결정이 날 것입니다.
- ALLOW는 100이고 DENY가 200이니까 100이 200보다 우선해서 IP 주소는 허용됩니다.
- (*) 별표인데, 일치하는 규칙이 없으면 모든 요청을 거부합니다.
- AWS는 규칙을 100씩 추가하는 것을 권장합니다.
- 새로 만들어진 NACL은 기본적으로 모두를 거부합니다.
- 서브넷 수준에서 특정한 IP 주소를 차단하는데 적합합니다.
- 다중 NACL 및 서브넷이 있다면 각 NACL 조합이 NACL 내에서 허용되어야 한다는 것입니다
기본 NACL
- 기본 NACL는 연결된 서브넷을 가지고 인바운드와 아웃바운드의 모든 요청을 허용하는 특수성을 가집니다.
- 기본 NACL을 수정하지 않는 것을 추천합니다.
임시 포트
- 클라이언트와 서버가 연결되면 포트를 사용해야 합니다.
- 임시 포트라고 불리는 것은 연결 수명을 위해서만 할당되는 무작위 포트이기 때문입니다.
- 클라이언트가 정의된 포트에 연결하고 사용 후 삭제 포트에서 응답을 기대합니다.
- 운영 체제에 따라 포트 범위가 다릅니다. 예:
- IANA & MS Windows 10 : 49152 – 65535
- Many Linux Kernels : 32768 – 60999
NACL with Ephemeral Ports
Security Group vs NACLs
VPC 연결성 분석기
- 굉장히 멋진 기능을 갖춘 네트워크 진단 도구로써
VPC에서 두 개의 엔드 포인트 간 네트워크 연결의 문제 해결에 도움을 줍니다.
- 네트워크 구성을 세세히 보면서 오류가 발생한 곳을 알아내는 대신
두 개의 엔드 포인트 사이 네트워크 구성 모델을 만들어서 AWS 계정 내의 구성을 기반으로 도달 가능성을 확인하고 구축합니다.
- 패킷을 보내지 않고도 네트워크 구성 분석 만으로 가능합니다.
- 어떤 라우팅 테이블이 제대로 구성되지 않았는지 정확히 알려줄 수 있습니다.
VPC Peering
- AWS 네트워크를 사용하여 두 개의 VPC를 개별적으로 연결합니다.
- VPC가 모두 같은 네트워크에서 작동하도록 만들기 위해서 입니다.
- 중복되는 CIDR이 없어야 합니다.
- VPC 피어링은 두 VPC 간에 발생하며 전이되지 않습니다
- (서로 통신해야 하는 각 VPC에 대해 설정해야 함)
- EC2 인스턴스가 서로 통신할 수 있도록 각 VPC의 서브넷에서 경로 테이블을 업데이트해야 합니다.
- 다른 계정 간에도 가능하단 점입니다.
- 리전 간 연결도 가능합니다.
- 보안 그룹에서 다른 보안 그룹을 참조할 수 있었는데 동일 리전의 계정 간 VPC에서도 보안 그룹을 참조할 수도 있습니다.
VPC Endpoints
- VPC 엔드 포인트는 VPC 내의 사설 엔드 포인트로 AWS 서비스로의 사설 연결을 할 수 있게 해줍니다.
- AWS의 모든 서비스는 공용 URL이 있습니다.
- VPC 엔드 포인트는 공용 인터넷을 사용하지 않고 사설 네트워크를 통해 서비스에 연결합니다.
- 공용 인터넷은 수평적 스케일링을 하는데, 사설 네트워크는 스케일링을 고려하지 않아도 됩니다.
- IGW, NATGW 등이 AWS 서비스에 액세스할 필요가 없습니다.
- 문제가 발생한 경우:
- VPC에서 DNS 설정 확인
- 경로 테이블 확인
AWS 두 가지 타입의 엔드 포인트
Interface Endpoints
- 인터페이스 엔드 포인트는 ENI를 프로비저닝할 것입니다.
- ENI는 일래스틱 네트워크 인터페이스, 인터페이스 엔드 포인트 이름입니다.
- AWS 서비스로의 엔트리 포인트가 됩니다.
- ENI가 대부분의 AWS 서비스를 지원합니다.
Gateway Endpoints
- 게이트웨이 엔드 포인트는 게이트웨이를 프로비저닝합니다.
- 라우팅 테이블에서는 대상으로 사용됩니다.
- 서비스 두 개 :
VPC Flow Logs
- VPC 플로우 로그는 인터페이스로 향하는 IP 트래픽에서 정보를 얻도록 허용합니다.
- VPC Flow Logs
- Subnet Flow Logs
- 일래스틱 네트워크 인터페이스 즉 ENI Flow Logs
- VPC에서 발생하는 연결 문제를 추적하고 해결하기에 아주 유용합니다.
- 플로우 로그의 목적지는 두 곳 :
- Amazon S3 Logs
- CloudWatch Logs
- AWS가 관리하는
ELB
와 RDS
, ElastiCache
, Redshift
, WorkSpaces
, NAT Gateway
, Transit Gateway
등 인터페이스에 사용할 정보를 얻어 올 수 있습니다.
VPC Flow Logs 문법
AWS Site-to-Site VPN
Site-to-Site VPN 연결
- 고객 게이트웨이 디바이스 (온 프레미스)
- 어떤 IP 주소를 사용해야 할지
- 고객 게이트웨이가 공용이라면 인터넷 라우팅이 가능한 IP 주소가 고객 게이트웨이 장치에 있습니다.
- NAT 트래버설(NAT-T)을 사용하도록 설정된 NAT 장치 뒤에 있는 경우 NAT 장치의 공용 IP 주소를 사용합니다.
- 중요 :
- 서브넷의 VPC에서 라우트 전파를 활성화해야 Site-to-Site VPN 연결이 실제로 작동한다는 점입니다.
- 온프레미스에서 AWS로 EC2 인스턴스 상태를 진단할 때 보안 그룹 인바운드 ICMP 프로토콜이 활성화됐는지 확인해야 합니다.
AWS VPN CloudHub
-
CloudHub는 여러 VPN 연결을 통해 모든 사이트 간 안전한 소통을 보장합니다.
-
비용이 적게 드는 허브 및 스포크 모델(hub&spoke)로 VPN만을 활용해 서로 다른 지역 사이 기본 및 보조 네트워크 연결성에 사용합니다.
-
VPN 연결이므로 모든 트래픽이 Public 인터넷을 통합니다.
-
설치 방법은 Virtual Private Gateway 하나에 Site-to-Site VPN 연결을 여러 개 만들어 동적 라우팅을 활성화하고 라우팅 테이블을 구성하면 됩니다.
Direct Connect (DX)
- Direct Connect는 원격 네트워크로부터 VPC로의 전용 사설 연결을 제공합니다.
- Direct Connect 연결을 생성해야 할 때 AWS Direct Connect 로케이션을 사용합니다.
- VPC 측에 Virtual Private Gateway도 있어야합니다.
- 같은 연결상에서는
Amazon S3를 비롯한 Public Resource
와 EC2 인스턴스 등의 Private Resource
에 Public/Private Virtual Interface
를 사용해 액세스할 수 있습니다.
- 사용 :
대역폭 처리량 증가
보다 일관된 네트워크 환경
하이브리드 환경(프리미엄 + 클라우드)
- IPv4, IPv6 둘다 지원
Direct Connect Gateway
- 여러 지역(동일한 계정)에서 하나 이상의 VPC에 직접 연결을 설정하려면 직접 연결 게이트웨이를 사용해야 합니다.
Direct Connect 유형
전용 연결
- 용량은 초당 1Gbp 혹은 10Gbp
- 물리적인 전용 이더넷 포트를 얻습니다.
- 먼저 AWS에 요청을 보내면 AWS Direct Connect 파트너가 처리를 완료할 겁니다.
호스팅 연결
- 초당 50Mbp, 500Mbp에서 10Gbp까지 다양해요.
- AWS Direct Connect 파트너를 통해 또다시 연결을 요청합니다.
- 필요하면 언제든지 용량을 추가하거나 제거하면 되므로
전용 연결
보다는 유연합니다.
- 선택한 로케이션에서 1, 2, 5, 10Gbp 이용이 가능합니다.
전용 연결
이든 호스팅 연결
이든 새 연결을 만들려면 리드타임이 한 달보다 길어질 때도 있습니다.
Direct Connect 암호화
- Direct Connect에는 암호화 기능이 없어요.
- 그래도 비공개로 연결되므로 데이터는 공개되지 않습니다.
- 암호화를 원한다면
VPN
과 함께 Direct Connect
를 설치해서 IPsec
으로 암호화된 비공개 연결이 가능합니다.
- 추가로 보안을 확보하면 좋지만 배치하는 게 복잡해집니다.
Direct Connect 복원력
VPC의 서비스를 다른 VPC에 노출
- Public으로 만들기
- 인터넷 트래픽이 Public 인터넷을 통과.
- 액세스를 관리하기 힘듭니다.
- VPC peering
- 모든 VPC 사이에 피어링 연결
- 한 VPC에서 다른 VPC로 모든 네트워크를 열게 됩니다
AWS PrivateLink (VPC Endpoint Services)
- 더 안전한 확장형 방식으로 VPC 수천 개에 서비스를 노출할 수 있습니다.
- VPC, Internet Gateway, NAT, Route tables등을 요구하지 않습니다.
- 네트워크 로드 밸런서(서비스 VPC) 및 ENI(고객 VPC) 또는 GWLB 필요합니다.
- NLB가 여러 AZ에 있고 ENI가 여러 AZ에 있는 경우 내결함성 솔루션이 있습니다.
EC2-Classic & AWS ClassicLink
- EC2-Classic: 다른 고객과 공유되는 단일 네트워크에서 인스턴스 실행
- Amazon VPC: 인스턴스는 논리적으로 AWS 계정에 격리되어 실행됩니다.
- ClassicLink를 사용하면 EC2-Classic 인스턴스를 계정의 VPC에 연결할 수 있습니다.
- Security Group을 연결해야 합니다.
- 전용 IPv4 주소를 사용한 통신 사용합니다.
- 공용 IPv4 주소 또는 Elastic IP 주소를 사용할 필요가 없습니다.
Transit Gateway
-
전이적 피어링 연결이 VPC 수천 개와 온프레미스 데이터 센터 Site-to-Site VPN, Direct Connect 허브와 스포크 간 스타형 연결 사이에 생기는 겁니다.
-
리전 리소스이며 리전 간에 작동합니다.
-
Transit Gateway를 계정 간에 공유하려면 Resource Access Manager를 사용합니다.
-
리전 간 Transit Gateway를 피어링할 수도 있습니다.
-
라우터 테이블
- 어느 VPC가 누구와 통신할지 어떤 연결이 액세스할지 제한합니다.
-
Direct Connect Gateway
, VPN connections
과 작업합니다.
-
IP 멀티캐스트
가 나오면 Transit Gateway를 사용해야 합니다.
Transit Gateway: Site-to-Site VPN ECMP
- ECMP = Equal-cost multi-path routing
- 여러 최적 경로를 통해 패킷을 전달할 수 있는 라우팅 전략입니다.
Site-to-Site VPN 연결
을 많이 생성해서 AWS로의 연결 대역폭을 늘릴 때 사용하게 됩니다.
Transit Gateway: ECMP 처리량
Transit Gateway: 다중 계정 사이에 Direct Connect 공유
VPC –Traffic Mirroring
- VPC에서 네트워크 트래픽을 수집하고 검사하되 방해되지 않는 방식으로 실행하는 기능입니다.
- 관리 중인 보안 어플라이언스로 트래픽을 라우팅합니다.
- 트래픽을 수집해 :
- From (Source) - ENIs
- TO (Targets) - ENI 또는 네트워크 로드 밸런서
- 모든 정보가 아닌 일부만 얻고 싶다면
선택적으로 필터
를 사용할 수도 있습니다.
- 동일한 VPC에
소스
와 대상
이 있어야 합니다.
- VPC 피어링을 활성화한 경우라면 다른 VPC에 걸쳐 있기도 합니다.
- 사용 :
IPv6
IPv6
- IPv4가 처음 만들어질 당시 주소 43억 개를 제공하도록 설계됐고 머지않아 전부 소진될 것입니다.
- 주소가 모두 소진되며 새 IP 체계의 필요성을 깨닫고
IPv4
의 뒤를 잇는 IPv6
가 만들어졌습니다.
- 3.4x10의 38승 개 고유 IP 주소를 제공합니다.
- 모든 IPv6 주소는 공용이고 인터넷 라우팅이 가능합니다.
- 형식은
16진수
8자리
로 나타냅니다.
- Examples:
- 2001:db8:3333:4444:5555:6666:7777:8888
- 2001:db8:3333:4444:cccc:dddd:eeee:ffff
- :: -> all 8 segments are zero
IPv6 - VPC
- VPC에서 IPv6 지원을 활성화할 수 있기 때문입니다.
- VPC와 서브넷에서 IPv4 비활성은 불가능하지만 IPv6를 활성화할 수 있습니다.
- 공용 IP 주소이며
듀얼 스택 모드
로 작동합니다.
- EC2 인스턴스가 VPC에서 실행되면
최소 사설 내부 IPv4 하나와 공용 IPv6 하나를 얻게 되고
IPv4나 IPv6를 사용해서 인터넷 게이트웨이를 통해
인터넷에 통신할 수 있습니다.
IPv6 - 트러블슈팅
- IPv4는 VPC 및 서브넷에서 비활성화될 수 없습니다.
- 만약 IPv6가 활성화된 VPC가 있는데 서브넷에서 EC2 인스턴스를 실행할 수 없습니다.
- 인스턴스가 IPv6를 받지 못해서는 아닙니다.
- 진짜 원인은 서브넷에 이용 가능한 IPv4가 없기 때문입니다.
- 솔루션은 서브넷에 IPv4 CIDR를 생성하는 겁니다.
Egress-only Internet Gateway
- IPv6만 사용합니다.
- NAT Gateway와 비슷하지만 IPv6 전용입니다.
- VPC 인스턴스에서 IPv6상 아웃바운드 연결을 허용하고
동시에 인터넷이 인스턴스로 IPv6 연결을 시작하지 못하게 막습니다.
- 그러려면
라우팅 테이블
을 업데이트해야 합니다.
- IPv6 라우팅
요약
CIDR
VPC
- 가상 사설 클라우드로 IPv4와 IPv6용으로 작동합니다.
Subnets
- CIDR가 정의된 AZ에 연결되며 공용 및 사설 서브넷이 있습니다.
Internet Gateway
- VPC 레벨에서, IPv4와 IPv6 인터넷 액세스를 제공합니다.
Route Tables
- 대체 게이트웨이나 VPC 피어링 연결 VPC 엔드 포인트로 향하는 라우트를 갖도록 편집되고 네트워크가 VPC 내부에서 흐르도록 돕는 중요한 기능입니다.
Bastion(요새) Host
- 공용 EC2 인스턴스로 SSH를 수행하며 사설 서브넷의 다른 EC2로 SSH 연결을 사용할 수 있습니다.
NAT Instances
- EC2 인스턴스이며 사설 및 공용 서브넷에 배포되어 사설 서브넷의 EC2 인스턴스에 인터넷 액세스를 제공합니다.
- 오래돼서 더는 사용하지 않습니다.
- 소스/목적지 검사 플래그를 비활성화해야 작동합니다.
- 보안 그룹 규칙을 수정해야 합니다.
NAT Gateway
- AWS에서 관리합니다.
- 사설 EC2 인스턴스입니다.
- 확장 가능한 인터넷 액세스를 제공하고 IPv4에서만 작동합니다.
Private DNS
+ Route 53
- DNS Resolution + DNS Hostnames (VPC)
- DNS 변환과 DNS 호스트 이름 설정을 활성화해야합니다.
NACL
- 네트워크 ACL은 방화벽 규칙입니다.
- 인바운드와 아웃바운드 액세스를 서브넷 레벨에서 정의합니다.
- 임시 포트 NACL이 무상태이므로 인바운드와 아웃바운드 규칙이 항상 평가된다는 겁니다.
Security Groups
- 임시 포트 NACL이 상태이므로 인바운드 허용 시 아웃바운드도 바로 허용되고 반대로도 마찬가지입니다.
- EC2 인스턴스 레벨에서 적용됩니다.
Reachability Analyzer
- 여러 AWS 리소스 사이에서 네트워크 연결을 시험하고 디버깅을 수행합니다.
VPC Peering
- 두 VPC를 연결할 때 유용한데 CIDR가 겹치지 않는 경우에만 가능합니다.
- 비전이적이므로 VPC 세 개를 연결하려면 VPC 피어링 연결도 세 개가 필요합니다.
VPC Endpoints
- AWS 서비스에 사설 액세스를 제공합니다.
- Amazon S3, DynamoDB CloudFormation, SSM 등 VPC 내 모든 서비스에서 가능합니다.
- Amazon S3와 DynamoDB를 위한 게이트웨이 엔드 포인트로 사용됩니다.
- 나머지는 모두 인터페이스 엔드 포인트입니다.
VPC Flow Logs
- VPC 내 모든 패킷과 관련해 일정 레벨의 메타데이터를 얻는 방법입니다.
- ACCEPT 및 REJECT 트래픽 정보가 있습니다.
- VPC 서브넷이나 ENI 레벨에서 생성할 수 있습니다.
- 분석 과정 후 Amazon S3로 전송됩니다.
- 이어서 Athena로 분석하거나 CloudWatch Logs로 보내 CloudWatch Logs Insights로 분석하기도 합니다.
Site-to-Site VPN
- 공용 인터넷을 지나는 VPN 연결입니다.
- AWS에는 가상 프라이빗 게이트웨이를 생성합니다.
- 데이터 센터에는 고객 게이트웨이를 생성합니다.
- 그리고 VPN 연결을 구축합니다.
AWS VPN CloudHub
- 가상 프라이빗 게이트웨이를 사용해 VPC 연결을 여러 개 생성할 때 활용합니다.
- 허브와 스포크 간 VPN 모델로 사이트에 연결합니다.
Direct Connect
- 데이터 센터를 완전히 비공개로 연결할 때 사용합니다.
- 공용 인터넷을 통과하지 않는데 구축하는 데 시간이 걸립니다.
- 데이터 센터를 Direct Connect 로케이션과 연결해 줘야 작동합니다.
- 관련도가 높고 더 안전할 뿐만 아니라 연결도 안정적입니다.
Direct Connect Gateway
- 다양한 AWS 리전의 수많은 VPC에 Direct Connect를 설정합니다.
AWS PrivateLink / VPC Endpoint Services
:
- 고객 VPC에 만든 자체 VPC의 내부 서비스에 비공개로 연결됩니다.
- 장점 :
VPC 피어링
, 공용 인터넷
, NAT Gateway
, 라우팅 테이블
은 필요 없습니다.
네트워크 로드 밸런서
와 ENI
만 주로 함께 사용된답니다.
- 네트워크를 드러내지 않은 채, VPC가 있는 서비스를 수백, 수천 고객 VPC에 노출할 수 있습니다.
ClassicLink
- EC2-Classic 인스턴스를 VPC에 비공개로 연결하는데 곧 사라질 서비스입니다.
Transit Gateway
- VPC와 VPN Direct Connect를 위한 전이적 피어링 연결입니다.
- 모두 이곳을 지난다는 게 장점입니다.
Traffic Mirroring
- 추가 분석을 위해 ENI 등에서 네트워크 트래픽을 복사하는 겁니다.
Egress-only Internet Gateway
- NAT Gateway와 비슷하지만 IPv6 트래픽을 인터넷으로 내보내는 송신 전용 인터넷 게이트웨이입니다.
From
AWS Certified Solutions Architect Associate 시험합격!