발표자료 다시보기: https://youtu.be/Xj2zTXgZ92I
본 온라인 세미나는 AWS 네트워크의 기본인 VPC를 살펴보고 VPC의 기본 개념 및 구성방법과, VPC 내에서의 보안 설정 옵션에 대해 알아봅니다. 그리고 VPC 연결 옵션인 인터넷 연결, 다른 VPC연결, On-Premises 네트워크 연결 방법에 대해서 소개합니다.
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
1. AWS 네트워크 서비스 소개 및 사용 방법
김기현 | Solutions Architect
2. 강연 중 질문하는 방법 AWS Builders
Go to Webinar “Questions” 창에 자신이 질문한
내역이 표시됩니다. 기본적으로 모든 질문은
공개로 답변 됩니다만 본인만 답변을 받고
싶으면 (비공개)라고 하고 질문해 주시면 됩니다.
본 컨텐츠는 고객의 편의를 위해 AWS 서비스 설명을 위해 온라인 세미나용으로 별도로 제작, 제공된 것입니다. 만약 AWS
사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우, AWS 사이트(aws.amazon.com)가 우선합니다. 또한 AWS 사이트
상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다.
AWS는 본 컨텐츠에 포함되거나 컨텐츠를 통하여 고객에게 제공된 일체의 정보, 콘텐츠, 자료, 제품(소프트웨어 포함) 또는 서비스를 이용함으로 인하여 발생하는 여하한 종류의 손해에
대하여 어떠한 책임도 지지 아니하며, 이는 직접 손해, 간접 손해, 부수적 손해, 징벌적 손해 및 결과적 손해를 포함하되 이에 한정되지 아니합니다.
고지 사항(Disclaimer)
3. AWS 네트워킹 서비스
Icon 명칭 설명
VPC AWS 클라우드에 만드는 가상의 데이터센터
VPN
On-prem 데이터 센터와 VPC의 IPSEC VPN
연결
Direct Connect On-prem 데이터 센터와 VPC의 전용선 연결
ELB 관리형 Load Balancer 서비스
Route53 관리형 DNS 서비스
AWS Builders – Program
201
5. Amazon VPC
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
201
7. VPC 만들기 : Region 선택
Regions & Availability Zones
AWS GovCloud Europe
US-West (3),
US-East (3)
Frankfurt (3), Ireland (3),
London (3), Paris (3),
Stockholm (3)
US West Asia Pacific
N. California (3),
Oregon (3)
Mumbai (3), Seoul (2),
Singapore (3), Sydney (3),
Tokyo (4), Osaka (1)
US East China
N. Virginia (6),
Ohio (3)
Beijing (2),
Ningxia (3),
Hong Kong SAR(3)
Canada South America
Central (2)
Middle East
Bahrain (3)
São Paulo (3)
22 Regions – 69 Availability Zones – 160 Points of Presence
AWS Builders – Program
201
Announced regions
Milan, Jarkarta, Cape Town
8. VPC 만들기 : Region, 가용영역, VPC 이해
AWS Seoul Region (# of AZs :
3)
Availability Zone#2Availability Zone#1
AWS Builders – Program
201
9. VPC 만들기 : CIDR (Classless Inter-Domain Routing)
172.31.0.0/16
10101100.00011111.00000000.00000000IP
11111111.11111111.00000000.00000000Subnet
Mask
Network ID Host ID
IP Address Range
:
B Class
172.31.0.0 ~ 172.31.255.255 (65,536개, 2^16)
AWS Builders – Program
201
10. VPC 만들기 : IP Range 결정 시 고려사항
• VPC 확장 시나리오 고려
• 서비스 확장을 고려하여 충분히 큰 CIDR 지정
• 향후 AWS내 동일 Region / 다른 Region의 VPC
확장
• 향후 고객사 On-Premise Network과의 연동
• VPC의 Network 범위는 /16 ~ /28까지 가능
• VPC CIDR은 생성 후 변경 불가
• Secondary CDIR은 4개 까지 추가 가능
• RFC 1918 (Private IP 표준) 권장
• 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16
Subnet Bits(CIDR) # of hosts
/16 65,534
/17 32,766
/18 18,382
/19 8,190
/20 4,094
/21 2,046
/22 1,022
/23 510
/24 254
/25 128
/26 62
/27 30
/28 14
AWS Builders – Program
201
11. VPC 만들기 : 가용영역에 Subnet 생성
172.31.0.0/16
Availability Zone Availability Zone Availability Zone
VPC subnet VPC subnet VPC subnet
172.31.0.0/24 172.31.1.0/24 172.31.2.0/24
eu-west-1a eu-west-1b eu-west-1c
AWS Builders – Program
201
12. VPC 만들기 : Subnet IP Range
172.31.0.0/24
10101100.00011111.00000000.00000000IP
11111111.11111111.11111111.00000000Subnet
Mask
Network ID Host ID
IP Address Range
:
B Class
172.31.0.0 ~ 172.31.0.255 (256개, 2^8)
Subnet ID
AWS Builders – Program
201
13. VPC 만들기 : Subnet 생성 시 고려 사항
• 최소 /24 subnet 지정 (가용 IP : 251개)
• 예약된 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
201
14. VPC 만들기 : Subnet 구성 예시
Availability Zone#2Availability Zone#1
VPC CIDR : 172.21.0.0/16
Public Subnet#1
172.21.0.0/24
(Web)
Private Subnet#1
172.21.2.0/24
(Database)
AWS Builders – Program
201
15. VPC 만들기 : Subnet 구성 예시
Availability Zone#2Availability Zone#1
VPC CIDR : 172.21.0.0/16
Public Subnet#1
172.21.0.0/24
(Web)
Private Subnet#1
172.21.2.0/24
(Database)
AWS Builders – Program
201
16. VPC 만들기 : Subnet 구성 예시
Availability Zone#2Availability Zone#1
VPC CIDR : 172.21.0.0/16
Public Subnet#1
172.21.0.0/24
(Web)
Public Subnet#2
172.21.1.0/24
(Web)
Private Subnet#1
172.21.2.0/24
(Database)
Private Subnet#2
172.21.3.0/24
(Database)
AWS Builders – Program
201
17. VPC 만들기 : Subnet 구성 예시
VPC CIDR : 172.21.0.0/16
Public Subnet#1
172.21.0.0/24
(Web)
Public Subnet#2
172.21.1.0/24
(Web)
Private Subnet#1
172.21.2.0/24
(WAS)
Private Subnet#2
172.21.3.0/24
(WAS)
Private Subnet#3
172.21.4.0/24
(Database)
Private Subnet#4
172.21.5.0/24
(Database)
AWS Builders – Program
201
18. VPC 만들기 : Routing
172.31.0.100
255.255.255.0
172.31.0.200
255.255.255.0
172.31.1.100
255.255.255.0
“Network#1”
“Network#2”
AWS Builders – Program
201
19. • 동일 VPC 내 서로 다른
Subnet의 Resource(예 : EC2)간
통신 목적
• Main Route Table은 VPC 생성
시 자동으로 생성
• VPC 내 모든 Subnet에
암시적으로(implicitly) 적용
• Subnet : Route Table = 1 : 1
• 삭제 불가
VPC 만들기 : Main Route Table
VPC Subnet 1 VPC Subnet 3
172.31.1.0/24 172.31.3.0/24
VPC Subnet 2 VPC Subnet 4
172.31.2.0/24 172.31.4.0/24
Availability Zone ‘A’ Availability Zone ‘B’
172.31.0.0/16
AWS Builders – Program
201
20. VPC 만들기 : Custom Route Tables
VPC Subnet 1
AZ-1
VPC Subnet 2
AZ-2
172.31.0.0/16 (CIDR)
172.31.1.0/24 172.31.2.0/24
Destination Target
172.31.0.0/16 local
0.0.0.0/0 igw-bc3e5cd5
Custom Route Table
Router
• VPC 외부 리소스 (예 : 인터넷,
On-prem 데이터센터) 와
통신을 위한 Route rule 추가
• 명시적으로 (Explicitly) Subnet에
Association
AWS Builders – Program
201
21. VPC 만들기 : 네트워크 트래픽 통제
VPC Subnet 1
AZ-1
VPC Subnet 2
AZ-2
172.31.0.0/16 (CIDR)
172.31.1.0/24 172.31.2.0/24
Router
1 1
Route Table
• Subnet 단위 라우팅 통제
1
22
Network ACL
• Subnet 단위
• Stateless 방화벽
• Allow/Deny
• Rule # ordering
2
3 3
Security Group
• 인스턴스 단위
• Stateful 방화벽
• Allow only
3
AWS Builders – Program
201
22. VPC 만들기 : 네트워크 트래픽 통제 (Security Group)
“MyWebServers” Security Group
“MyBackends” Security Group
Allow only
“MyWebServers”
AWS Builders – Program
201
23. VPC 만들기 : 네트워크 트래픽 통제 (Security Group)
• Security Group for Web Servers • Security Group for DB Servers
인터넷 구간으로부터 HTTP,
HTTPS Connection 허용
웹서버 Security Group으로부터
3306 Port Connection 허용
AWS Builders – Program
201
24. VPC –Virtual PrivateCloud
Public Subnet
Private Subnet
Inbound Network ACL
Source Protocol L4 Port Action
10.0.10.0/0 TCP MySQL 3306 Allow
* * * * Deny
10.0.10.0/24
10.0.30.0/24
Outbound Network ACL
Destination Protocol L4 Port Action
10.0.10.0/0 TCP * * Allow
* * * * Deny
TCP 3306 *
VPC 만들기 : 네트워크 트래픽 통제 (Network ACL)
AWS Builders – Program
201
25. VPC 확장 시나리오
virtual private cloud
Internet
EC2
corporate data centervirtual private cloud
…
AWS Builders – Program
201
26. VPC 확장 : Internet
VPC Internet Gateway
• Managed Service
• 확장성, 가용성, 중복성 보장 설계
• VPC 당 Attach 가능한 Internet Gateway :
1개
• VPC 인스턴스와 인터넷 간의 통신
• 1:1 NAT
• 인터넷 구간과 연결하려는 EC2
인스턴스는 Public IP나 EIP(Elastic IP)
를 가져야 함
• Public Subnet의 Routing Table 수정
• IPv4, IPv6 지원
Internet
Public Subnet
Private Subnet
Destination
172.16.0.0/16
0.0.0.0/0
Target
local
IGW
Public Subnet Route Table
AWS Builders – Program
201
27. VPC 확장 : Internet
VPC NAT Gateway
• AWS가 완전하게 관리하는 NAT Gateway
• Internet Access가 불가능한 Private
Subnet에 있는 Instance들이 Patch,
Update Download등을 위하여 구성
• 고가용성 및 최대 45Gbps의 대역폭 제공
• Internet facing Interface를 위해 NAT
Gateway당 하나의 Elastic IP 필요
• TCP, UDP, ICMP Protocol 지원
• Network ACL을 통하여 Traffic
통제(외부의 특정한 Server에서만
Download 가능)
• VPC Flow Logs를 통하여 Traffic
Monitoring
• CloudTrail 지원
Internet
Public Subnet
Private Subnet
NAT
Gateway
Destination
172.16.0.0/16
0.0.0.0/0
Target
local
NAT-GW
Private Subnet Route Table
Internet Gateway
AWS Builders – Program
201
28. VPC 확장 : Internet
172.16.11.0/24
VPC Subnet 1
Availability Zone
‘A’
172.16.12.0/24
VPC Subnet 2
Availability Zone
‘B’
172.16.11.100 172.16.12.89
EIP(nn.nn.nn.nn)
InternetEIP (Elastic IP)
• Account에 할당되어 변경되지 않는
Elastic IP(EIP)를 할당
• EC2 Instance 장애시, 다른 EC2
Instance로 EIP를 Re-Associate
• Region당 기본 5개의 Elastic IP Address
할당 가능(Soft-Limit)
• Allocation / Release
• Account에 EIP 할당 또는 반납
• Associate / Disassociate
• EC2/NAT GW Instance에 EIP 연결
또는 분리
EIP(nn.nn.nn.nn)
AWS Builders – Program
201
29. VPC 확장 : On-Premise
VPN Gateway
IPSec Site-to-Site VPN 을 통하여 고객사 Network과
암호화터널 구성
192.168.100.0/24
172.16.1.0/24
172.16.0.0/16
172.16.2.0/24
Customer
Gateway
(CGW)
On-Premise Network
VPN
Gateway (VGW)
Internet
Gateway (IGW)
Internet
13.124.64.138 (Public IP)
172.16.1.205 (Private IP)
EC2
Destination
172.16.0.0/16
0.0.0.0/0
Target
local
igw-bc3e5cd5
192.168.100.0/24
vgw-
1428a424
Router
VPN Connection
(IPSec)
AZ-1
AZ-2
Subnet-
1
Subnet-
2
192.168.100.1
nn.nn.nn.nn
AWS Builders – Program
201
30. VPC 확장 : On-Premise
AWS Direct Connect
전용회선을 통하여 고객사와 직접 연결
172.16.0.0/16
EC2
Regio
n
AZ
Subnet
Amazon
Glacier
Amazon S3
On-Premise Network
고객측 라우터/방화벽
AWS Direct Connect(DX)
Location
AWS Cage
고객/파트너
Cage
고객/파트너
라우터
AWS Direct
Connect
Endpoint
VLAN 1
VLAN 2
Private Virtual
Interface
Seoul Region
• KINX (가산) / LG U+
(평촌)
Virtual Private
Gateway (VGW)
전용회선 구간
AWS Builders – Program
201
31. VPC 확장 : Other AWS Regions
VPC Peering
DEV VPC PROD VPC
172.16.0.0/16 10.0.0.0/16
• 동일 Region내 VPC간 완전히 격리된
전용의 연결 (동일 Account및 다른
사용자 Account간)
• VPC간 하나의 VPC Peering만 제공되며,
VPC간 IP Address가 중복 될 수 없음
• 고가용성 및 Traffic에 대한 수평적 확장
제공
• Routing Table을 통하여 통제가
가능하고, Transit Routing은 제공되지
않음
• 구성 사례 : 인증, 디렉터리 서비스,
모니터링, 로깅, 공통 서비스
• 전송 중 암호화 (Inter Region VPC)
Destination
172.16.0.0/16
0.0.0.0/0
Target
local
IGW
10.0.0.0/16 VPC Peer
Route Table
Destination
10.0.0.0/16
0.0.0.0/0
Target
local
IGW
172.16.0.0/16 VPC Peer
Route Table
VPC
Peering
pcx-
12345678
AWS Builders – Program
201
32. VPC 확장 : VPC Peering
172.31.0.0/16 10.55.0.0/16Step 1
VPC peering
요청
AWS Builders – Program
201
34. VPC 확장 : VPC Peering
172.31.0.0/16 10.55.0.0/16Step 1
VPC peering
요청
Step 2
VPC peering
승낙
Step 3
Peering된 VPC에 대한 Routing 정보
AWS Builders – Program
201
35. VPC 확장 : AWS 서비스와 연계
VPC Endpoints – Gateway Type
• 인터넷을 경유하지 않고 VPC내 EC2
Instance와 S3, DynamoDB를 연결
• VPC Endpoint 생성 시 Routing Policy
추가
• 다양한 접근 제어 정책 적용
• Route Table
• VPC Endpoint Policy
• S3 Bucket Policy
• Security Group with Prefix list
Public Subnet
Private Subnet
NAT
Gateway
AWS Region
Internet Amazon S3
VPC Endpoint
Destination
172.16.0.0/16
0.0.0.0/0
Target
local
NAT-GW
pl-nnnnnnnn (s3)
vpce-
nnnnnnnn
Internet Gateway
AWS Builders – Program
201
36. VPC 확장 : AWS 서비스와 연계
• VPC Endpoint Gateway 타입 IAM 정책 예시• S3 Bucket의 IAM 정책 예시
VPC Endpoint를 통해 접근 가능한 S3 지정 특정 VPC Endpoint를 통해서만 S3 Access
가능하도록 지정
VPC Endpoints – Gateway Type
AWS Builders – Program
201
37. VPC 확장 : AWS 서비스와 연계
AWS Private Link VPC Endpoints – Interface
Type
Shared Service VPC
(service provider)
AZ a
NLB AZ b
AZ c
VPC (service consumer)
Private Link
VPCE
AWS Builders – Program
201
38. VPC 확장 : AWS 서비스와 연계
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
불필요
• 사용 사례 : 중앙화된 Internal Services
(DB, 로깅, 모니터링), Microservices,
AWS Builders – Program
201
39. VPC 확장 : AWS 서비스와 연계
AWS Private Link VPC Endpoints – Interface
Type
https://aws.amazon.com/ko/blogs/compute/setting-up-aws-privatelink-for-amazon-ecs-and-amazon-ecr/
Internet Gateway, NAT Gateway
불필요
AWS Builders – Program
201
40. VPC 확장 : AWS 서비스와 연계
AWS Private Link VPC Endpoints – Interface
Type• Amazon API Gateway
• AWS CloudFormation
• Amazon CloudWatch
• Amazon CloudWatch Events
• Amazon CloudWatch Logs
• AWS CodeBuild
• AWS Config
• Amazon EC2 API
• Elastic Load Balancing API
• Amazon Elastic Container Registry
• Amazon Elastic Container Service
• AWS Key Management Service
• Amazon Kinesis Data Streams
• Amazon SageMaker and Amazon
SageMaker Runtime
• Amazon SageMaker Notebook Instance
• AWS Secrets Manager
• AWS Security Token Service
• AWS Service Catalog
• Amazon SNS
• Amazon SQS
• AWS Systems Manager
• Endpoint services hosted by other AWS
accounts
• Supported AWS Marketplace partner
services
AWS Builders – Program
201
41. VPC 관리
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
201
42. VPC 관리
Who’s this?
# dig +short -x 109.236.86.32
internetpolice.co.
REJECT
UDP Port 53 = DNS
VPC Flow Logs in CloudWatch Logs
AWS Builders – Program
201
47. AWS DirectConnect
• 고객 전용의 1Gbps 또는 10Gbps Fiber Cross Connect
• DX Connection당 최대 50개의 가상 인터페이스(Private and Public) 생성 및
연결 가능
• 필요에 따라 VIF(Virtual Interface)를 생성하고 Private Interface(VPC)및 Public
Interface(S3, DynamoDB등)에 연결
• APN 파트너를 통한 Hosted Connection 사용
• 50M, 100M, 200M, 300M, 400M 및 500M 회선 사용 가능
• Hosted Connection당 하나의 VIF(Virtual Interface)생성 및 연결
• 하나 이상의 VPC연결을 위하여 추가 Hosted Connection 구성 필요
• 고객 On-Premise Network과 VPC를 직접 연결(Private connectivity)
• VPN 대비 낮은 Latency및 지속적이고 예측 가능한 성능 보장
• 낮은 Traffic 요금 (VPN, Internet 대비)
AWS Builders – Program
201
48. AWS DirectConnect
• 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
201
49. AWS Cloud
VPC –Virtual PrivateCloud
Corporate DatacenterDirectConnect Location
Direct Connect
CustomerGateway
WAN
PrivateVIF
AWS Region #2
VPC –Virtual PrivateCloud
PrivateVIF
AWS Region #1
Direct Connect Gateway
AWS DirectConnect Gateway
AWS Builders – Program
201
55. Transit Gateway
• VPC와 On-premise 데이터센터의 Interconnect
• 심플한 Network Topology 구현으로 관리 부담 경감
• VPN, Direct Connect의 단일 접점
• On-premise 데이터센터와 VPN 연결 시 ECMP (Equal-cost multi-path
routing) 지원으로 50Gbps+ 대역폭 가능
• CloudWatch, VPC Flow Logs와 통합되어 Traffic 통합관리, 모니터링 가능
• 라우팅 도메인 별 논리적 네트워크 분리
AWS Builders – Program
201
57. Elastic Load Balancing
Availability Zone
‘A’
Availability Zone
‘B’
Internet
ELB ELB
• Region내 Load Balancing 서비스
• 다수의 가용영역(AZ)으로 Traffic 분배
• HTTP/S, TCP/S
• Backend Target 에 대한 Health-Check
• 고가용성 기반의 L4/L7 서비스
• 모든 가용영역으로 분산 및 Traffic증가에
대한 자동 Scale-Out
• Auto Scaling Group과 연동
AWS Builders – Program
201
61. Application Load Balancer : Listener / Target Group
• Listening Port, Protocol 지정
• ALB 당 최소 1개 지정해야 함
• 최대 50개까지 생성 가능
• Contents 기반 Rule 지정
• Host 기반
• Path 기반
Listener Target Group
• ALB 밑단 타겟들의 Logical 그룹
• Target Group에 포함 가능한 리소스
• EC2 Instances
• ECS, EKS Containers
• IP Address
RFC 6598 range (100.64.0.0/10),
RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12,
192.168.0.0/16)
• Lambda
AWS Builders – Program
201
62. Application Load Balancer : Rules
Load Balancer (ALB)
Target Group #1
Health Check Health Check Health Check
EC2 EC2 EC2 EC2 EC2 EC2 ECS ECS ECS
Listener (TCP80) Listener(TCP8080)
Target Group #2 Target Group #3
Rule (default) Rule (*/img/*) Rule (default)
https://www.example.com
https://www.example.com https://www.example.com/img/image.jpg https://www.example.com:8080
AWS Builders – Program
201
64. Network Load Balancer
• Layer 4 기반 Load Balancer
• TCP Protocol 지원
• 고성능 – 초당 수백만 Request 처리, 낮은 Latency
• NLB에는 AZ당 하나의 고정 IP 부여
• Long-running Connection이 필요한 Application에 적합
• IoT, gaming, messaging applications
• ALB과 같이 Listener, Target Group, Targets 으로 구성
• Rule을 추가하여 Port 기반으로 트래픽을 처리할 Target Group 지정
• TLS Termination 지원, ACM(Amazon Certificate Manager) 연동 가능
AWS Builders – Program
201
65. Elastic Load Balancing : Network Load Balancer
Load Balancer (NLB)
Target Group #1
Health Check Health Check
EC2 EC2 EC2 EC2 EC2 EC2
Listener (TCP 80) Listener (TCP 8080)
Target Group #2
AWS Builders – Program
201
66. 상세 기능 비교
Feature Application Load Balancer Network Load Balancer
Protocols HTTP, HTTPS TCP
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
201
67. ELB에 대한 고려 사항
• 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
AWS Builders – Program
201
69. Route53
• 고가용성, 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
201
70. AWS Cloud
AWS RegionAWS Region
Route 53
Main
Site
healthy?
A/B
Testing95% 5%
Yes No
AppVersion A AppVersion B App DR
Global Traffic Management 예제:
AWS Builders – Program
201
example.com
72. Public/Private Hosted Zone
Public Hosted Zone Private Hosted Zone
• 도메인 구입 필요
• 인터넷에서 도메인 트래픽 라우팅
• 가중치 기반 레코드 및 장애 조치
레코드를 포함한 모든 옵션 사용
가능
• Public 서비스
• 도메인 구입 불필요
• VPC내 도메인 트래픽 라우팅
• 가중치 기반 레코드 및 장애 조치
레코드에만 연결할 수 있음
• Private 서비스
AWS Builders – Program
201
73. Route53 시작하기
• Route53을 통하여 DNS Name을 등록하거나 외부 등록기관으로 부터
Domain Transfer
• 기존 Domain의 Sub-Domain을 Route53에 위임
• Route53에 Hosted Zone 생성
• AWS Management Console 또는 API 사용
• Private Hosted Zone 생성 후 특정 VPC와 연동 가능
• Domain Registrar에 Update(Transfer 한 경우)
• Route53의 DNS Servers(NS Records)
• DNS Record생성 및 Mapping
AWS Builders – Program
201
75. 마무리 : 몇 가지 Tip
• 마우스, 키보드 보다는 종이와 펜 부터
• EC2 관점에서 Traffic Flow 고려
• 익숙해 지면 유형 별 Cloudformation Template
작성
• “VPC 내부” / “VPC 외부” 서비스 구분
• Service Limits / 숨어있는(?) 제약사항 찾기
AWS Builders – Program
201