Networking
CIDR
Classless Inter-Domain Routing : 클래스 없는 도메인간 라우팅이고, 이는 IP 주소를 할당하는 방법이다.
Security Group 규칙과 AWS 일반적인 네트워킹에 사용된다.
- 0.0.0.0/0
- 192.168.0.0/24
- 192.168.0.1/32
이는 두 가지의 구성 요소를 포함한다
- Base IP
- 범위에 포함된 IP를 의미한다.
- Subnet Mask
- 이는 IP에서 변경 가능한 비트의 개수를 의미한다.
- 두 가지의 표현 방식이 있다.
- /8 = 255.0.0.0
- /16 = 255.255.0.0
- /24 = 255.255.255.0
- /32 = 255.255.255.255
IANA에서 구축한 특정 IPv4 주소 블록은 사설 LAN 네트워크, 로컬 네트워크나 공용 인터넷 주소이다.
private IP는 다음 값들만 허용된다.
- 10.0.0.0/8
- 10.0.0.0 ~ 10.255.255.255
- 대형 네트워크에서 사용한다.
- 172.16.0.0/12
- 172.16.0.0 ~ 172.31.255.255
- AWS 의 기본 VPC 범위이다.
- 192.168.0.0/16
- 192.168.0.0 ~ 192.168.255.255
- 홈 네트워크 등에 사용한다.
이외의 모든 IP 주소는 public IP이다.
VPC
Virtual Private Cloud 으로서, 모든 AWS 계정은 기본 VPC 가 있다.
새로운 EC2 인스턴스는 서브넷이 명시되지 않은 경우 기본 VPC 에 포함되게 된다.
기본 VPC 는 인터넷에 연결되어 있어서 내부의 EC2 인스턴스는 IPv4 주소를 가질 수 있다.
단일 AWS 리전에 여러 VPC를 둘 수 있고, VPC마다 할당된 CIDR 은 다섯 개이다.
- 최소 크기는 /28 (2^4개의 ip 주소)
- 최대 크기는 /16 (2^16개의 ip 주소)
VPC는 사설 리소스이기 때문에 private IPv4 주소 범위만 서용된다.
CIDR 범위는 자유롭게 private IPv4 주소에서 선택할 수 있지만, 다른 네트워크과 겹치지 않게 해야한다.
Subnet
서브넷은 VPC 내부에 있는 IPv4 주소의 부분 범위이다.
이 범위 내에서 AWS는 다섯 개의 IP 주소를 예약한다. (처음 네 개 + 마지막 한 개)
DNS Resolution in VPC
VPC 는 DNS 확인 기능을 제공한다.
이는 Route53 resolver 서버의 DNS 확인이 VPC에서 지원될지 결정하는 옵션이다.
DNS Support가 없는 경우에도 DNS 확인을 얻을 수 있지만 이 경우 사용자가 직접 DNS 서버를 구성하고 회신해야 한다.
Reachability Analyzer
VPC에서 두 개의 엔드포인트 간 네트워크 연결의 문제 해결에 도움을 준다.
이는 두 엔드 포인트 사이 네트워크 configuration model 을 만들어 연결 가능성을 체크하기에, 패킷을 전송하지 않는다.
VPC Peering
이는 다양한 리전과 계정에서 VPC를 생성했을 때, VPC가 모두 같은 네트워크에서 작동하도록 이들을 AWS 네트워크를 통해 연결하는 데에 사용된다.
CIDR이 겹치지 않아야 서로 연결이 가능하며, 이는 두 VPC 사이에서 발생하며 전이되지 않는다.
VPC Endpoints
AWS 의 다양한 서비스를 사용할 때, 인터넷 게이트웨이를 통한 연결 대신 VPC 엔드포인트를 써서 사설망 내부로 접근이 가능하다.
이는 비용 절감과 속도 개선 및 안정도를 향상시킬 수 있다.
Interface Endpoints
이는 ENI를 프로비저닝한 것으로서, IP주소는 private 하다.
또한, ENI이기 때문에 보안 그룹을 연결하면 대부분의 AWS 서비스를 지원한다.
Gateway Endpoints
이는 게이트웨이를 프로비저닝하였으며, 라우팅 테이블에서 대상으로 사용되어야 한다.
이는 S3과 DynamoDB 둘 다 지원한다.
AWS PrivateLink
더 안전한 확장형 방식으로서, VPC 수천 개에 서비스를 노출할 수 있도록 한다.
VPC Peering이나 Internet gateway, NAT, route table 들을 요구하지 않는다.
사용을 위해서는 서비스 VPC에서 NLB가, 사용자 VPC에서는 ENI가 필요하다.
VPC Flow Logs
VPC 플로우 로그는 인터페이스로 향하는 IP 트래픽에서 정보를 얻도록 허용한다.
VPC, 서브넷 레벨부터 ENI레벨까지 세 가지로 유형이 나뉜다.
VPC에서 발견되는 모든 문제들을 추적하고 해결하기에 유용한 도구이다.
이러한 플로우 로그를 Athena 나 S3, CloudWatch Logs Insights를 통해 분석할 수도 있다.
VPC Traffic Mirroring
이는 VPC에서 네트워크 트래픽을 수집하고 검사하되 방해되지 않는 방식으로 실행하는 기능이다.
관리 중인 보안 어플라이언스로 트래픽을 라우팅하게 된다.
트래픽을 다음과 같이 캡처하게 되는데, 이 때 필터링이 가능하다.
- From (source) : ENIs
- To (targets) : ENI or Network Load Balancer
Internet Gateway (IGW)
인터넷 게이트웨이는 VPC의 리소스를 인터넷에 연결시켜주는 EC2 인스턴스나 Lambda 등이다.
이는 수평으로 확장되며 가용성과 중복성이 높은 관리형 리소스이다.
VPC는 인터넷 게이트웨이 하나에만 일대일로 연결된다.
Bastion Host
Bastion host는 private subnet 안의 EC2 instance에게 ssh 연결을 중개 (hop) 해주는 public subnet 내의 EC2 인스턴스이다.
NAT Instance
NAT 은 Network Address Translation 으로서, private subnet 의 EC2 인스턴스에게 인터넷 연결을 지원해주는 EC2 인스턴스이다.
이는 Bastion Host 로 사용이 가능하다.
deprecated 되었다.
NAT Gateway
AWS 의 관리형 NAT 인스턴스로서, 높은 대역폭을 가지고 있다.
사용량 및 NAT Gateway 의 대역폭에 따라 비용이 청구된다.
이는 특정 AZ에서 생성되며, Elastic IP를 사용한다.
NAT Gateway는 Internet Gateway를 필요로 한다. (private subnet -> NATGW -> IGW)
관리할 Security Group이 없다.
High Availability
- 단일 AZ에서 복원이 가능하다.
- AZ가 중지될 경우를 위해 다중 NAT Gateway 를 여러 AZ에 놓을 수 있다.
- 라우팅 테이블을 통해 AZ 간 서로 연결할 필요가 없다.
NACL
Network Access Control List는 서브넷을 오가는 트래픽을 제어하는 방화벽과 비슷한 역할을 한다.
서브넷마다 하나의 NACL 이 있으며, 새로운 서브넷에는 기본 NACL이 할당된다.
NACL Rule 은 다음 특성으로 이루어진다
- Rules have a number (규칙 순서)
- 만일 첫 규칙을 만나게 되면 그 결과를 곧바로 사용하게 된다.
새로 만들어진 NACL은 기본적으로 모든 것을 거부한다.
이는 서브넷 수준에서 특정한 IP 주소를 차단하는데 적합하다.
Default NACL
기본 NACL은 연결된 서브넷에서 모든 인바운드와 아웃바운드의 모든 요청을 허용한다.
Ephemeral Ports
클라이언트와 서버가 연결되면 포트를 사용해야 한다.
클라이언트는 규정된 포트의 서버에 연결한다.
서버가 서비스를 올릴 때 클라이언트는 규정된 포트에 접속하지만, 클라이언트가 서버에서 회신 받을 때는 다르다.
서버도 응답을 하려면 클라이언트에 연결을 해야 하는데, 클라이언트는 기본적으로 개방된 포트가 없기에 자체적으로 특정한 포트를 열게 된다.
VPN
Site-to-Site VPN
VPC가 구축되었으나 특정 구조가 있는 기업 데이터 센터를 AWS와 비공개로 연결하려면 기업은 고객 게이트웨이를, VPC는 VPN 게이트웨이를 갖춰야 한다.
공용 인터넷을 통해 사설 Site-to-Site VPN을 연결하게 된다.
- Virtual Private Gateway (VGW)
- VPN연결에서 AWS측에 있는 VPN conecntrator 이다.
- 이는 생성되면 VPC에 연결된다.
- Customer Gateway (CGW)
- 기업 측에서 갖춰야 할 소프트웨어 혹은 물리적인 장치로서, VPN 연결에서 데이터 센터 측에 해당한다.
AWS VPN CloudHub
VGW 를 갖춘 VPC가 있고, 고객 네트워크와 데이터 센터마다 고객 게이트웨이가 있을 때,
CloudHub은 여러 VPN 연결을 통해 모든 사이트 간 안전한 연결을 지원한다.
비용이 적게 드는 hub & spoke 모델이다.
이 경우 고객 네트워크는 VPN 연결을 통해 서로 소통할 수 있게 된다.
Direct Connect (DX)
원격 네트워크로부터 VPC로의 전용 사설 연결을 제공한다.
이러한 연결을 생성하기 위해서는 AWS Direct Connect locations를 사용해야 한다.
VPC 측에 가상 프라이빗 게이트웨이도 있어야 온프레미스 데이터 센터와 AWS 간 연결이 가능하다.
같은 연결상에는 Amazon S3을 비롯한 공용 리소스와 EC2 인스턴스 등의 사설 리소스에 공용 및 사설로 접근이 가능하다.
대량의 데이터셋을 처리하기 위해 대역폭을 늘려야 할 때
Direct Connect를 사용하는 동안 더욱 안정적인 네트워크 연결이 가능하다.
Direct Connect Gateway 를 사용하면 수많은 VPC들과 Direct Connect 수립이 가능해진다.
Connection Types
- Dedicated Connections : 1Gbps, 10Gbps capacity
- 물리적인 전용 이더넷 포트를 얻는다.
- AWS에 먼저 요청을 보내면 AWS Direct Connect 파트너가 처리를 완료한다.
- Hosted Connections : 50Mbps, 500Mbps ~ 10Gbps
- Capacity는 demand에 따라 증감이 가능하다.
이러한 새 연결은 꽤 긴 리드 타임이 소요된다.
Transit Gateway
전이적 Peering 연결이 수많은 VPC와 온프레미스 데이터 센터, Site-to-Site VPN, Direct Connect, hub & spoke 간 이루어지는 것이다.
이는 리전 리소스이며, cross-region 작동이 가능하다.
Resource Access Manager를 이용하면 계정 간 공유가 가능하다.
Transit Gateway에 route table을 설정하여 연결과 통신 방식을 정의한다.
IP Multicast를 지원한다.
'공부한 이야기 > 클라우드' 카테고리의 다른 글
AWS SAA - Test Exam Summary (0) | 2022.08.04 |
---|---|
AWS SAA - Serverless (0) | 2022.08.04 |
AWS SAA - Monitoring & Audit (0) | 2022.08.04 |
AWS SAA - Identifications (0) | 2022.08.04 |
AWS SAA - Storages (0) | 2022.08.02 |