You are on page 1of 75

Program 201 – Networking

김세준 | 솔루션즈 아키텍트


AWS Builders – Program
AWS 네트워킹 서비스 201

Icon 명칭 설명

VPC AWS 클라우드에 만드는 가상의 데이터센터


On-prem 데이터 센터와 VPC의 IPSEC VPN
VPN
연결
Direct Connect On-prem 데이터 센터와 VPC의 전용선 연결

ELB 관리형 Load Balancer 서비스

Route53 관리형 DNS 서비스


VPC
AWS Builders – Program
Amazon VPC 201

Virtual Private Cloud


• 사용자가 정의한 가상의 네트워크 환경 (논리적 격리)
• 사용자 별 네크워크 제어가능
• IP 범위 지정
• 용도에 맞는 Subnet 분리
• Routing Tables
• 보안 : Security Group, Network ACL
• Gateway : Internet Gateway, NAT Gateway, Virtual Gatewa
• On-Premise 데이터센터와 연결 옵션 (VPN, DirectConnect)
AWS Builders – Program
VPC 만들기 : 일반적인 절차 201

IGW

Region, 가용영역(AZ)에 Routing Traffic 통제


(In/Out)
IP대역 결정 Subnet 생성 설정
AWS Builders – Program
VPC 만들기 : Region 선택 201

22 Regions – 69 Availability Zones – 216 Points of Presence Regions & Availability Zones
AWS GovCloud Europe
US-West (3), Frankfurt (3), Ireland (3),
US-East (3) London (3), Paris (3),
Stockholm (3)
US West Asia Pacific
N. California (3), Mumbai (2), Seoul (3),
Oregon (4) Singapore (3), Sydney (3),
Tokyo (4), Osaka (1)
US East China
N. Virginia (6), Beijing (2),
Ohio (3) Ningxia (3)
Canada South America
Central (2) São Paulo (3)

Announced regions Middle East


Milan, Jarkarta, Cape Town Bahrain(3)
AWS Builders – Program
VPC 만들기 : Region, 가용영역, VPC 이해 201

Availability Zone#1 Availability Zone#2

AWS Seoul Region (# of AZs :


2)
AWS Builders – Program
VPC 만들기 : CIDR (Classless Inter-Domain Routing) 201

172.31.0.0/16
B Class Network ID Host ID

IP 10101100.00011111.00000000.00000000
Subnet 11111111.11111111.00000000.00000000
Mask
IP Address Range 172.31.0.0 ~ 172.31.255.255 (65,536개, 2^16)
:
AWS Builders – Program
VPC 만들기 : IP Range 결정 시 고려사항 201

Subnet Bits(CIDR) # of hosts


• VPC 확장 시나리오 고려 /16 65,534

• 서비스 확장을 고려하여 충분히 큰 CIDR 지정 /17 32,766

/18 18,382
• 향후 AWS내 동일 Region / 다른 Region의 VPC /19 8,190

확장 /20 4,094

/21 2,046
• 향후 고객사 On-Premise Network과의 연동 /22 1,022

• VPC의 Network 범위는 /16 ~ /28까지 가능 /23 510

/24 254
• VPC Primary CIDR은 생성 후 변경 불가 /25 128

/26 62
• Secondary CIDR은 4개 까지 추가 가능
/27 30
• RFC 1918 (Private IP 표준) 권장 /28 14

• 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16


AWS Builders – Program
VPC 만들기 : 가용영역에 Subnet 생성 201

172.31.0.0/16

eu-west-1a eu-west-1b eu-west-1c

172.31.0.0/24 172.31.1.0/24 172.31.2.0/24

VPC subnet VPC subnet VPC subnet


Availability Zone Availability Zone Availability Zone
AWS Builders – Program
VPC 만들기 : Subnet IP Range 201

172.31.0.0/24
B Class Network ID Subnet ID Host ID

IP 10101100.00011111.00000000.00000000
Subnet 11111111.11111111.11111111.00000000
Mask
IP Address Range 172.31.0.0 ~ 172.31.0.255 (256개, 2^8)
:
AWS Builders – Program
VPC 만들기 : Subnet 생성 시 고려 사항 201

• Subnet Network 범위는 /16(65,536 IPv4 주소) ~ /28(16 IPv4 주소)까지


가능
• 예약된 IP 주소 (Subnet CIDR이 10.0.0.0/24인 경우)
10.0.0.0 : 네트워크 주소
10.0.0.1 : VPC 라우터용으로 예약된 주소
10.0.0.2 : AWS에서 예약한 DNS 주소, AmazonProvidedDNS
10.0.0.3 : AWS에서 향후 사용을 위하여 예약
10.0.0.255 : 브로드캐스트 주소. VPC에서는 브로드캐스트를 지원하지 않으며, AWS에서 예약
• Subnet의 CIDR은 생성 후 변경할 수 없음
• Application의 고가용성을 위해 복수개의 가용영역에 Subnet 생성 (Multi-AZ 아키텍처)
AWS Builders – Program
VPC 만들기 : Subnet 구성 예시 201

Public Subnet#1
172.21.0.0/24
(Web)

Private Subnet#1
172.21.2.0/24
(Database)

Availability Zone#1 Availability Zone#2

VPC CIDR : 172.21.0.0/16


AWS Builders – Program
VPC 만들기 : Subnet 구성 예시 201

Public Subnet#1
172.21.0.0/24
(Web)

Private Subnet#1
172.21.2.0/24
(Database)

Availability Zone#1 Availability Zone#2

VPC CIDR : 172.21.0.0/16


AWS Builders – Program
VPC 만들기 : Subnet 구성 예시 201

Public Subnet#1 Public Subnet#2


172.21.0.0/24 172.21.1.0/24
(Web) (Web)

Private Subnet#1 Private Subnet#2


172.21.2.0/24 172.21.3.0/24
(Database) (Database)

Availability Zone#1 Availability Zone#2

VPC CIDR : 172.21.0.0/16


AWS Builders – Program
VPC 만들기 : Subnet 구성 예시 201

Public Subnet#1 Public Subnet#2


172.21.0.0/24 172.21.1.0/24
(Web) (Web)

Private Subnet#1 Private Subnet#2


172.21.2.0/24 172.21.3.0/24
(WAS) (WAS)

Private Subnet#3 Private Subnet#4


172.21.4.0/24 172.21.5.0/24
(Database) (Database)

VPC CIDR : 172.21.0.0/16


AWS Builders – Program
VPC 만들기 : Routing 201

“Network#2”
172.31.1.100
255.255.255.0

172.31.0.100 172.31.0.200
255.255.255.0 255.255.255.0
“Network#1”
AWS Builders – Program
VPC 만들기 : Main Route Table 201

172.31.0.0/16
• Main Route Table은 VPC 생성
시 자동으로 생성
172.31.1.0/24 172.31.3.0/24 • VPC 내 모든 Subnet에
VPC Subnet 1 VPC Subnet 3 암시적으로(implicitly) 적용
• Subnet : Route Table = 1 : 1
• 삭제 불가
172.31.2.0/24 172.31.4.0/24

VPC Subnet 2 VPC Subnet 4

Availability Zone ‘A’ Availability Zone ‘B’


AWS Builders – Program
VPC 만들기 : Custom Route Tables 201

Custom Route Table


172.31.0.0/16 (CIDR)
Destination Target

172.31.0.0/16 local
172.31.1.0/24 172.31.2.0/24
0.0.0.0/0 igw-bc3e5cd5

• VPC 외부 리소스 (예 : 인터넷,


Router On-prem 데이터센터) 와
VPC Subnet 1 VPC Subnet 2 통신을 위한 Route rule 추가
AZ-1 AZ-2
• 명시적으로 (Explicitly) Subnet에
Association
AWS Builders – Program
VPC 만들기 : 네트워크 트래픽 통제 201

1 Route Table
• Subnet 단위 라우팅 통제
2 Network ACL
172.31.0.0/16 (CIDR)
• Subnet 단위
1 1
• Stateless 방화벽
172.31.1.0/24 172.31.2.0/24
• Inbound & Outbound
3 2 2 3
• Rule # ordering

Router
3 Security Group
VPC Subnet 1 VPC Subnet 2 • 인스턴스 단위
AZ-1 AZ-2

• Stateful 방화벽
• Inbound or Outbound
VPC 만들기 : 네트워크 트래픽 통제 (Security Group)
AWS Builders – Program
201

“MyWebServers” Security Group

Allow only
“MyWebServers”

“MyBackends” Security Group


VPC 만들기 : 네트워크 트래픽 통제 (Security Group)
AWS Builders – Program
201

• Security Group for Web Servers • Security Group for DB Servers

인터넷 구간으로부터 HTTP, 웹서버 Security Group으로부터


HTTPS Connection 허용 3306 Port Connection 허용
VPC 만들기 : 네트워크 트래픽 통제 (Network ACL)
AWS Builders – Program
201

Inbound Network ACL


10.0.10.0/24
Rule Type Protocol Port Source Action
Public Subnet
100 All All All 0.0.0.0/0 Allow
* *
* All All All 0.0.0.0/0 Deny

Outbound Network ACL


10.0.30.0/24
Rule Type Protocol Port Destination Action
Private Subnet
100 All All All 0.0.0.0/0 Allow
* All All All 0.0.0.0/0 Deny VPC – Virtual Private Cloud
VPC 만들기 : 네트워크 트래픽 통제 (Network ACL)
AWS Builders – Program
201

Inbound Network ACL


10.0.10.0/24
Rule Type Protocol Port Source Action
Public Subnet
110 Custom TCP 3306 10.0.10.0/24 Allow
TCP 3306 *
* All All All 0.0.0.0/0 Deny

Outbound Network ACL


10.0.30.0/24
Rule Type Protocol Port Destination Action
Private Subnet
110 All TCP All 10.0.10.0/24 Allow
* All All All 0.0.0.0/0 Deny VPC – Virtual Private Cloud
AWS Builders – Program
VPC 확장 시나리오 201

Internet

EC2

virtual private cloud virtual private cloud corporate data center


AWS Builders – Program
VPC 확장 : Internet 201

VPC Internet Gateway Internet

Public Subnet Route Table


• Managed Service Destination Target
172.16.0.0/16 local
• 확장성, 가용성, 중복성 보장 설계
0.0.0.0/0 IGW

• VPC 당 Attach 가능한 Internet Gateway :


1개
• VPC 인스턴스와 인터넷 간의 통신
Public Subnet

• 1:1 NAT
• 인터넷 구간과 연결하려는 EC2
인스턴스는 Public IP나 EIP(Elastic IP) Private Subnet

를 가져야 함
• Public Subnet의 Routing Table 수정
• IPv4, IPv6 지원
AWS Builders – Program
VPC 확장 : Internet 201

VPC NAT Gateway Internet

• AWS가 완전하게 관리하는 NAT Gateway Internet Gateway

• Internet Access가 불가능한 Private


Subnet에 있는 Instance들이 Patch,
Update Download등을 위하여 구성
• 고가용성 및 최대 45Gbps의 대역폭 제공
• Internet facing Interface를 위해 NAT NAT
Gateway
Gateway당 하나의 Elastic IP 필요 Public Subnet
• TCP, UDP, ICMP Protocol 지원
• Network ACL을 통하여 Traffic
통제(외부의 특정한 Server에서만
Private Subnet Route Table
Download 가능) Private Subnet Destination Target
• VPC Flow Logs를 통하여 Traffic 172.16.0.0/16 local
0.0.0.0/0 NAT-GW
Monitoring
• CloudTrail 지원
AWS Builders – Program
VPC 확장 : Internet 201

EIP (Elastic IP) Internet

• Account에 할당되어 변경되지 않는


Elastic IP(EIP)를 할당
• EC2 Instance 장애시, 다른 EC2
Instance로 EIP를 Re-Associate EIP(nn.nn.nn.nn) EIP(nn.nn.nn.nn)
• Region당 기본 5개의 Elastic IP Address
할당 가능(Soft-Limit)
• Allocation / Release
• Account에 EIP 할당 또는 반납 172.16.11.100 172.16.12.89

• Associate / Disassociate 172.16.11.0/24 172.16.12.0/24


• EC2/NAT GW Instance에 EIP 연결 VPC Subnet 1 VPC Subnet 2
또는 분리 Availability Zone Availability Zone
‘A’ ‘B’
AWS Builders – Program
VPC 확장 : On-Premise 201

VPN Gateway
172.16.0.0/16
IPSec Site-to-Site VPN 을 통하여 고객사 Network과
암호화터널 구성 Subnet-
1
13.124.64.138 (Public IP)
EC2
172.16.1.205 (Private IP)

Internet 172.16.1.0/24
AZ-1
Internet
nn.nn.nn.nn
Gateway (IGW)
Router
VPN
192.168.100.1 Customer Gateway (VGW) Destination Target
Gateway VPN Connection
(CGW) 172.16.0.0/16 local
(IPSec)
0.0.0.0/0 igw-bc3e5cd5
vgw-
192.168.100.0/24
1428a424
Subnet-
2
192.168.100.0/24
On-Premise Network 172.16.2.0/24
AZ-2
AWS Builders – Program
VPC 확장 : On-Premise 201

AWS Direct Connect


전용회선을 통하여 고객사와 직접 연결

172.16.0.0/16

전용회선 구간
Private Virtual VLAN 1
EC2 Interface 고객측 라우터/방화벽
VLAN 2
Virtual Private 고객/파트너
AWS Direct
Subnet Gateway (VGW)
Connect 라우터
AZ
Endpoint

고객/파트너
AWS Cage Cage
On-Premise Network
Amazon AWS Direct Connect(DX)
Amazon S3
Glacier
Regio Location
n Seoul Region
• KINX (가산) / LG U+
(평촌)
AWS Builders – Program
VPC 확장 : Other VPCs 201

VPC Peering
• IPv4 또는 IPv6 주소를 사용하여 두 VPC
사이의 네트워크 연결 DEV VPC PROD VPC

• 사용자의 자체 VPC 또는 다른 AWS VPC


계정의 Peering
VPC와 피어링 연결 가능, 리전간 연결
가능 pcx-
12345678
• 고가용성 및 Traffic에 대한 수평적 확장 172.16.0.0/16 10.0.0.0/16
제공
Route Table Route Table
• Routing Table을 통하여 통제가 Destination Target Destination Target
172.16.0.0/16 local 10.0.0.0/16 local
가능하고, Transit Routing은 제공되지
0.0.0.0/0 IGW 0.0.0.0/0 IGW
않음 10.0.0.0/16 VPC Peer 172.16.0.0/16 VPC Peer

• 구성 사례 : 인증, 디렉터리 서비스,


모니터링, 로깅, 공통 서비스
VPC 확장 : VPC Peering
AWS Builders – Program
201

172.31.0.0/16 Step 1 10.55.0.0/16

VPC peering
요청
VPC 확장 : VPC Peering
AWS Builders – Program
201

172.31.0.0/16 Step 1 10.55.0.0/16

VPC peering
요청

Step 2

VPC peering
승낙
VPC 확장 : VPC Peering
AWS Builders – Program
201

172.31.0.0/16 Step 1 10.55.0.0/16

VPC peering
요청

Step 2

VPC peering
승낙

Step 3
Peering된 VPC에 대한 Routing 정보
AWS Builders – Program
VPC 확장 : AWS 서비스와 연계 201
AWS Region
VPC Endpoints – Gateway Type Internet Amazon S3

• 인터넷을 경유하지 않고 VPC내 EC2


Instance와 S3, DynamoDB를 연결
Internet Gateway
• VPC Endpoint 생성 시 Routing Policy
추가
NAT
• 다양한 접근 제어 정책 적용 Gateway
Public Subnet VPC Endpoint
• Route Table
• VPC Endpoint Policy
• S3 Bucket Policy Private Subnet
Destination
172.16.0.0/16
Target
local
0.0.0.0/0 NAT-GW
• Security Group with Prefix list pl-nnnnnnnn (s3)
vpce-
nnnnnnnn
VPC 확장 : AWS 서비스와 연계
AWS Builders – Program
201

VPC Endpoints – Gateway Type


• VPC Endpoint Gateway 타입 IAM 정책 예시• S3 Bucket의 IAM 정책 예시

VPC Endpoint를 통해 접근 가능한 S3 지정 특정 VPC Endpoint를 통해서만 S3 Access


가능하도록 지정
AWS Builders – Program
VPC 확장 : AWS 서비스와 연계 201

AWS Private Link VPC Endpoints – Interface


Type

AZ a

VPCE
NLB AZ b
Private Link
VPC (service consumer)

AZ c

Shared Service VPC


(service provider)
AWS Builders – Program
VPC 확장 : AWS 서비스와 연계 201

AWS Private Link VPC Endpoints – Interface


Type
• AWS 서비스, 다른 AWS 계정에서
호스팅 된 VPC Endpoint Service 나
AWS Marketplace 파트너 서비스의
VPC를 비공개로 연결

• VPC내 생성된 VPC endpoint network


interface를 이용하므로 서비스 연결 시
IGW, NAT Gateway, Public IP, DX
불필요
AWS Builders – Program
VPC 확장 : AWS 서비스와 연계 201

AWS Private Link VPC Endpoints – Interface


Type

Internet Gateway, NAT Gateway


불필요
https://aws.amazon.com/ko/blogs/compute/setting-up-aws-privatelink-for-amazon-ecs-and-amazon-ecr/
AWS Builders – Program
VPC 확장 : AWS 서비스와 연계 201

AWS Private Link VPC Endpoints – Interface


Type
• Amazon API Gateway • Amazon SageMaker and Amazon
• AWS CloudFormation SageMaker Runtime
• Amazon CloudWatch • Amazon SageMaker Notebook Instance
• Amazon CloudWatch Events • AWS Secrets Manager
• Amazon CloudWatch Logs • AWS Security Token Service
• AWS CodeBuild • AWS Service Catalog
• AWS Config • Amazon SNS
• Amazon EC2 API • Amazon SQS
• Elastic Load Balancing API • AWS Systems Manager
• Amazon Elastic Container Registry • Endpoint services hosted by other AWS
• Amazon Elastic Container Service accounts
• AWS Key Management Service • Supported AWS Marketplace partner
• Amazon Kinesis Data Streams services
AWS Builders – Program
VPC 관리 201

VPC Flow Logs


• VPC, Subnet, EC2 Instance ENI 단위로 적용 가능한 Network Packet 수집
• 생성되는 모든 Packet에 대한 정보를 CloudWatch Logs Group에 기록 (10분에서
15분 지연)
• 수집되지 않은 정보
• Amazon DNS Server로의 Traffic
• Amazon Windows 라이센스 인증을 위하여 Windows 인스턴스에서 생성한 Traffic
• EC2 인스턴스의 Metadata를 위해 169.254.169.254와의 Traffic
• DHCP Traffic
• VPC의 Default Router의 예약된 IP Address로 보내는 Traffic

• AWS 계정과 워크로드를 보호하기 위한 지능형 위협 탐지 및 지속적 모니터링을 위한


Guard Duty에서 사용
AWS Builders – Program
VPC 관리 201

VPC Flow Logs in CloudWatch Logs

Who’s this?
# dig +short -x 109.236.86.32
internetpolice.co.
UDP Port 53 = DNS

REJECT
AWS Builders – Program
Amazon Kinesis Firehose + Athena + QuickSight 201

https://aws.amazon.com/ko/blogs/big-data/analyzing-vpc-flow-logs-with-amazon-kinesis-firehose-amazon-athena-and-amazon-
quicksight/
AWS Builders – Program
CloudWatch Logs + Elastisearch + Kibana 201

https://github.com/awslabs/cloudwatch-logs-subscription-consumer
Direct Connect
AWS Builders – Program
AWS DirectConnect 201

API Gateway

Amazon S3 Public VIF

DynamoDB

Other AWS Services


Transit VIF Direct Connect Gateway
Private IP: 172.16.0.0/24

DirectConnect

Private VIF
Customer Gateway
VPC – Virtual Private Cloud WAN
AWS Cloud DirectConnect Location Corporate Datacenter
AWS Builders – Program
AWS DirectConnect 201

• 고객 전용의 1Gbps 또는 10Gbps Fiber Cross Connect


• DX Connection당 최대 50개의 가상 인터페이스(Private and Public) 생성 및
연결 가능
• 필요에 따라 VIF(Virtual Interface)를 생성하고 Private Interface(VPC)및 Public
Interface(S3, DynamoDB등), Transit Interface(Transit Gateway)에 연결
• APN 파트너를 통한 Hosted Connection 사용
• 50M, 100M, 200M, 300M, 400M 및 500M 회선 사용 가능
• Hosted Connection당 하나의 VIF(Virtual Interface) 연결 가능

• 고객 On-Premise Network과 VPC를 직접 연결(Private connectivity)


• VPN 대비 낮은 Latency및 지속적이고 예측 가능한 성능 보장
• 낮은 Traffic 요금 (VPN, Internet 대비)
AWS Builders – Program
AWS DirectConnect 201

• Public, Private VIF(Virtual Interface)


• Private VIF : On-Premise와 VPC를 연결하기 위한 용도. BGP구성시, Private
ASN(64512~) 사용 가능
• Public VIF : On-Premise에서 Public AWS서비스(S3, DynamoDB등)에 직접
연결하기 위한 용도. BGP구성시 고객의 Public ASN 필요

• DirectConnect(DX) Location에 대한 Site 이중화 구성 가능 (KINX 및 LG


U+)

• 하나의 DX Location에 다수의 DX Connection을 구성한 경우, 물리적인


H/W(Router)에 대한 분리 가능
AWS Builders – Program
AWS DirectConnect Gateway 201

Private VIF

VPC – Virtual Private Cloud

AWS Region #1
Direct Connect Gateway

Private VIF Direct Connect

VPC – Virtual Private Cloud


Customer Gateway
AWS Region #2
WAN
AWS Cloud DirectConnect Location Corporate Datacenter
AWS Builders – Program
Transit Gateway 201

Full Mesh Topology를 위해 필요한 VPC Peering 수


= ???
AWS Builders – Program
Transit Gateway 201

Full Mesh Topology를 위해 필요한 VPC Peering 수 =


6
AWS Builders – Program
Transit Gateway 201

On-prem datacenter와
VPC연결을 위해 필요한 터널
수:
AWS Builders – Program
Transit Gateway 201

On-prem datacenter와
VPC연결을 위해 필요한 터널
수:4
AWS Builders – Program
Transit Gateway 201

Transit Gateway
AWS Builders – Program
Transit Gateway 201

• VPC와 On-premise 데이터센터의 Interconnect


• 심플한 Network Topology 구현으로 관리 부담 경감
• VPN, Direct Connect의 단일 접점
• On-premise 데이터센터와 VPN 연결 시 ECMP (Equal-cost multi-path
routing) 지원으로 50Gbps+ 대역폭 가능
• CloudWatch, VPC Flow Logs와 통합되어 Traffic 통합관리, 모니터링 가능
• Transit Gateway Network Manager 사용 시 온프렘 과 AWS 간 연결된
네트워크에 대한 단일 모니터링 제공
Elastic Load Balancing
AWS Builders – Program
Elastic Load Balancing 201

Internet

• Region내 Load Balancing 서비스


• 다수의 가용영역(AZ)으로 Traffic 분배
• HTTP/S, TCP/S
• Backend Target 에 대한 Health-Check
ELB ELB
• 고가용성 기반의 L4/L7 서비스
• 모든 가용영역으로 분산 및 Traffic증가에
대한 자동 Scale-Out
• Auto Scaling Group과 연동 Availability Zone Availability Zone
‘A’ ‘B’
AWS Builders – Program
ELB 유형 201

Application Load Balancer


Network Load BalancerClassic Load Balancer
Previous Generation
HTTP & HTTPS (VPC) TCP/UDP Workloads (VPC)
for HTTP, HTTPS, TCP
(Classic Network)
AWS Builders – Program
Application Load Balancer 201

• HTTP, HTTPS, HTTP/2, WebSockets 지원


• layer 7 load-balancing 플랫폼
• Listener와 Target Group으로 구성
• 컨텐츠 기반 라우팅
• Path 기반 라우팅
• Host 기반 라우팅

• Microservices, Container기반 어플리케이션과 호환


• Amazon ECS, EKS와 호환
Application Load Balancer AWS Builders – Program
201
EC2
instance

EC2 Target Group#1


instance
/orders
EC2
instance

example.com
ALB EC2
Listener instance
/images
EC2
Target Group#2
instance

EC2
instance
AWS Builders – Program
Application Load Balancer : Listener / Target Group 201

Listener Target Group

• Listening Port, Protocol 지정 • ALB 밑단 타겟들의 Logical 그룹


• ALB 당 최소 1개 지정해야 함 • Target Group에 포함 가능한 리소스
• 최대 50개까지 생성 가능 • EC2 Instances
• ECS, EKS Containers
• Contents 기반 Rule 지정
• IP Address
• Host 기반
RFC 6598 range (100.64.0.0/10),
• Path 기반
RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12,
192.168.0.0/16)
• Lambda
AWS Builders – Program
Application Load Balancer : Rules 201

Load Balancer (ALB) https://www.example.com

Listener (TCP80) Listener(TCP8080)


Rule (default) Rule (*/img/*) Rule (default)

EC2 EC2 EC2 EC2 EC2 EC2 ECS ECS ECS

Health Check Health Check Health Check

Target Group #1 Target Group #2 Target Group #3


https://www.example.com https://www.example.com/img/image.jpg https://www.example.com:8080
AWS Builders – Program
Application Load Balancer : Rules 201
Listener - HTTP:80

Host-Based Routing

Path-Based Routing
AWS Builders – Program
Network Load Balancer 201

• Layer 4 기반 Load Balancer


• TCP/UDP Protocol 지원
• 고성능 – 초당 수백만 Request 처리, 낮은 Latency
• NLB에는 AZ당 하나의 고정 IP 부여
• Long-running Connection이 필요한 Application에 적합
• IoT, gaming, messaging applications

• ALB과 같이 Listener, Target Group 로 구성


• Rule을 추가하여 Port 기반으로 트래픽을 처리할 Target Group 지정
• TLS Termination 지원, ACM(Amazon Certificate Manager) 연동 가능
AWS Builders – Program
상세 기능 비교 201

Feature Application Load Balancer Network Load Balancer


Protocols HTTP, HTTPS TCP, UDP
Platforms VPC VPC
Health checks Yes Yes
CloudWatch metrics Yes Yes
Logging Yes Yes
Path-Based Routing Yes
Host-Based Routing Yes
Native HTTP/2 Yes
Configurable idle connection timeout Yes
SSL offloading Yes Yes
Server Name Indication (SNI) Yes
Sticky sessions Yes
Back-end server encryption Yes
Static IP Yes
Elastic IP address Yes
Preserve Source IP address Yes
AWS Builders – Program
ELB에 대한 고려 사항 201

• ELB의 IP Address는 기본적으로 변경될 수 있음


• ELB 접속 시 IP가 아닌 DNS Name Record를 사용
• DNS의 CNAME Record 또는 Route53의 Alias Record를 사용
• NLB에는 고정 IP 부여 가능

• ELB에서 TLS Termination


• Client의 SSL을 ELB에서 Termination (Backend EC2 Instance의 SSL 부하 감소,
CLB/ALB/NLB)
• Backend ELB와 EC2 Instance(Server)간 Mutual SSL 구현 가능

• Cross-Zone Load Balancing


• Sticky Sessions
Route 53
AWS Builders – Program
Route53 201

• 고가용성, Cloud기반의 Scalable DNS 서비스 (GSLB + L4/L7)


• 100%의 SLA 제공
• Route53 주요 기능
• Latency Based Routing (지연시간 기반)
• Geo Based Routing (지역 기반)
• Weighted Round Robin (가중치 기반)
• DNS Failover (Active-Standby) + Health Checks (L4, L7 Layer)
• Domain Registration
• Zone Apex 통합
• ELB, S3, CloudFront(CDN)
• VPC내 자원들을 위한 Private DNS : Private Hosted Zone 제공
AWS Builders – Program
Global Traffic Management 예제: 201

example.com
Route 53

Main
Yes No
Site
healthy?

A/B
95% Testing 5%

App Version A App Version B App DR


AWS Region AWS Region
AWS Cloud
AWS Builders – Program
Global Traffic Management 예제: 201

Failover Rule
Weighted Rule
AWS Builders – Program
Public/Private Hosted Zone 201

Public Hosted Zone Private Hosted Zone

• 도메인 구입 필요 • 도메인 구입 불필요


• 인터넷에서 도메인 트래픽 라우팅 • VPC내 도메인 트래픽 라우팅
• 가중치 기반 레코드 및 장애 조치 • 가중치 기반 레코드 및 장애 조치
레코드를 포함한 모든 옵션 사용 레코드에만 연결할 수 있음
가능 • Private 서비스
• Public 서비스
AWS Builders – Program
Route53 시작하기 201

• Route53을 통하여 DNS Name을 등록하거나 외부 등록기관으로 부터


Domain Transfer
• 기존 Domain의 Sub-Domain을 Route53에 위임
• Route53에 Hosted Zone 생성
• AWS Management Console 또는 API 사용
• Private Hosted Zone 생성 후 특정 VPC와 연동 가능
• Domain Register에 Update(Transfer 한 경우)
• Route53의 DNS Servers(NS Records)
• DNS Record생성 및 Mapping
Summary
AWS Builders – Program
마무리 : 몇 가지 Tip 201

• 마우스, 키보드 보다는 종이와 펜 부터


• EC2 관점에서 Traffic Flow 고려
• “VPC 내부” / “VPC 외부” 서비스 구분
• Service Limits / 숨어있는(?) 제약사항 찾기
• 신규 VPC Endpoint 론칭 주목
• 익숙해 지면 유형 별 CloudFormation Template
작성
Program 201 감사합니다.

You might also like