AWS Black Belt Online Seminarの最新コンテンツ: https://aws.amazon.com/jp/aws-jp-introduction/#new
過去に開催されたオンラインセミナーのコンテンツ一覧: https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
AWS Summit Seoul 2015에서 GS네오텍 박정수 팀장님의 CloudFront와 Route53 기반 콘텐츠 배포 전략 발표 자료입니다.
---
웹 서비스를 이용하는 사용자들이 늘어나고 트래픽이 증가하면 이에 대응하기 위해 보다 유연한 서비스 환경을 구축할 필요가 있습니다. 특히 서비스 내 미디어 등 콘텐츠를 빠르게 배포하는 것은 서비스 경험을 높이는 데 매우 중요한 요소입니다.
이 강연에서는 AWS 클라우드의 콘텐츠 배포 서비스(CDN)인 Amazon CloudFront와 도메인 관리 서비스인 Amazon Route53를 활용하고 있는 국내 고객의 사례를 소개하고, 국내는 물론 국외에 소재한 고객들에게도 훌륭한 서비스 경험을 제공하기 위해 한국을 비롯해 전 세계 53개소에 자리잡은 CloudFront 엣지 로케이션을 활용하는 방법의 다양한 기술적/비용적 이점에 대해 설명하겠습니다.
발표영상 다시보기: https://youtu.be/BZhbRQFwkMQ
AWS의 기본 서비스 중 가상 네트워크에서 AWS 리소스를 구동할 수 있는 클라우드 상의 논리적으로 격리된 공간인 VPC와 애플리케이션 트래픽을 로드 발란싱 할 수 있는 ELB, OnPremise와 연결할 수 있는 Direct Connect 및 VPN에 대해 이해할 수 있습니다.
AWS Black Belt Online Seminarの最新コンテンツ: https://aws.amazon.com/jp/aws-jp-introduction/#new
過去に開催されたオンラインセミナーのコンテンツ一覧: https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
AWS Summit Seoul 2015에서 GS네오텍 박정수 팀장님의 CloudFront와 Route53 기반 콘텐츠 배포 전략 발표 자료입니다.
---
웹 서비스를 이용하는 사용자들이 늘어나고 트래픽이 증가하면 이에 대응하기 위해 보다 유연한 서비스 환경을 구축할 필요가 있습니다. 특히 서비스 내 미디어 등 콘텐츠를 빠르게 배포하는 것은 서비스 경험을 높이는 데 매우 중요한 요소입니다.
이 강연에서는 AWS 클라우드의 콘텐츠 배포 서비스(CDN)인 Amazon CloudFront와 도메인 관리 서비스인 Amazon Route53를 활용하고 있는 국내 고객의 사례를 소개하고, 국내는 물론 국외에 소재한 고객들에게도 훌륭한 서비스 경험을 제공하기 위해 한국을 비롯해 전 세계 53개소에 자리잡은 CloudFront 엣지 로케이션을 활용하는 방법의 다양한 기술적/비용적 이점에 대해 설명하겠습니다.
발표영상 다시보기: https://youtu.be/BZhbRQFwkMQ
AWS의 기본 서비스 중 가상 네트워크에서 AWS 리소스를 구동할 수 있는 클라우드 상의 논리적으로 격리된 공간인 VPC와 애플리케이션 트래픽을 로드 발란싱 할 수 있는 ELB, OnPremise와 연결할 수 있는 Direct Connect 및 VPN에 대해 이해할 수 있습니다.
오픈스택 커뮤니티 - 제1회 공개 SW 커뮤니티데이 (2017년 9월 정기 세미나 대체)
- 일시: 9월 22일 금요일
- 발표자: 장태희 (운영진, 스터디 매니저)
- 행사 정보: https://www.facebook.com/groups/openstack.kr/permalink/1826976907316452/
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...Amazon Web Services Korea
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기
김병수 솔루션즈 아키텍트, AWS
AWS는 고객의 요구사항을 반영하여 끊임없이 서비스들을 추가하고 개선해왔습니다. 본 세션에서는 이러한 서비스들 중 게임 서비스 아키텍처를 개선하는데 직접적으로 도움이 될 수 있는 서비스와 기능들을 신규 서비스들을 중심으로 살펴보고 장르별 게임 아키텍처에서 신규 서비스 도입 이전과 이후의 아키텍처 개선사항을 비교해봅니다.
3. Azure Load Balancer
• L4 기반의 Load balancer
• 공인 IP를 Mapping 시킬 수 있으며, 고정 IP로도 설정 가능
• VM의 Availability set을 정의하지 않으면 1:1 Mapping만 가능하며 VM만 연결할 수 있음
• Backend Instance가 사설 IP(Private IP)만 있더라도 ALB에서 트래픽 전달 가능
• Inbound NAT Rules로 공인 IP(Public IP)가 없는 VM에 직접 접근 가능 (Port forwarding 가능)
• L4 기반의 LB로써 TCP와 UDP패킷을 분산하지만, Probes는 TCP와 HTTP를 설정할 수 있음
• Load Balancing Rules를 설정할 시 Source IP 선호도 모드와 해시 기반 배포 모드로 설정 가능
• 기본적은 Load Balancing Rules은 해시 기반 배포 모드
• 유휴 제한시간이 있으며, 기본적으로 4분
• Internal Load Balancer도 제작 가능
• 공인 IP를 여러 개 연결하여 IP 기반 부하분산 기능을 사용할 수 있음
• 모든 설정을 수동으로 전부 해야지만 동작
4. 해시 기반 배포 모드
• 5개 튜플(원본 IP, 원본 포트, 대상 IP, 대상 포트, 프로토콜 종류) : none (Default)
• 세션 연결 시만 동작
5. 소스 IP 선호도 모드
• 2개 튜플(원본 IP, 대상 IP) : sourceIP
• 3개 튜플(원본 IP, 대상 IP, 프로토콜) : sourceIPProtocol
• 부하 분산 집합이 변경되면(가상 컴퓨터 추가 또는 제거)
클라이언트 요청 배포가 다시 계산
• 트래픽이 불규칙하게 배포될 수 있음
6. SQL Always On에 대해 부하 분산 장치 구성
• Internal Load Balancer (lLB) 에서만 사용 가능
• 동일한 가상 네트워크에 있는 서비스 및 VM
• 연결된 온-프레미스 네트워크의 서비스 및 VM
• 상호 연결된 VNet의 서비스 및 VM
• 부동 IP 설정 필요
8. Outbound 연결의 이해
시나리오 메서드 참고
독립 실행형 VM
(부하 분산 장치 없음, 인스턴스
수준 공용 IP 주소 없음)
->Availability set을 설정이 되지
않은 VM
기본 SNAT
Azure에서는 SNAT에 공용 IP 주
소를 연결합니다.
부하 분산 VM
(VM에 인스턴스 수준 공용 IP 주
소 없음)
->Availability set을 설정하고 pip
가 연결되지 않은 VM
부하 분산 장치를 사용하는
SNAT
Azure에서는 SNAT에 부하 분산
장치의 공용 IP 주소를 사용합니
다.
인스턴스 수준 공용 IP 주소를 가
진 VM
(부하 분산 장치 있음 또는 없음)
->Availability set을 설정하고 pip
가 연결된 VM
SNAT를 사용하지 않습니다.
Azure에서는 VM에 할당된 공용
IP를 사용합니다.
9. Outbound 연결의 이해
VM에 공인 IP 있음VM에 공인 IP 없음
SNAT 사용
(Port 개수 1024-65535)
Inbound Outbound
SNAT 미사용
Inbound Outbound
• SNAT 사용 시 1개의 Public IP가 Backend VM으로 Packet 전달 시 SNAT를 사용하기 때문에 Port 임계치인
64,500개 이상 연결을 할 시 오류가 발생할 수 있음
10. SNAT 사용 시 Public IP의 Port 부족으로 발생할 수 있는 Error Log 예제
{
"time": "2016-01-26T10:37:46.6024215Z",
"systemId": "32077926-b9c4-42fb-94c1-762e528b5b27",
"category": "LoadBalancerAlertEvent",
"resourceId": "/SUBSCRIPTIONS/XXXXXXXXXXXXXXXXX-XXXX-XXXX-
XXXXXXXXX/RESOURCEGROUPS/RG7/PROVIDERS/MICROSOFT.NETWORK/LOADBALANCERS/WWEBLB",
"operationName": "LoadBalancerProbeHealthStatus",
"properties": {
"eventName": "Resource Limits Hit",
"eventDescription": "Ports exhausted",
"eventProperties": {
"public ip address": "40.117.227.32"
}
}
}
11. 그럼 이게 뭔말?
NAT
LB MUX
VM DIP
10.1.1.2
VM DIP
10.1.1.3
Azure VMSwitch
Stateless
터널
엣지 라우터
클라이언트
VIP
VIP
DIP
DIP
직접 전달:
VIP
VIP
LB MUX
VM DIP
10.1.1.4
VM DIP
10.1.1.5
Azure VMSwitch
NAT
컨트롤러
테넌트 정의:
VIPs, # DIPs
맵핑
NAT
• LB의 목표 : VIP와 DIP 묶음을
클라우드 서비스에 연결
• SDN 컨트롤러가 LB/vSwitch간
교신을 추상화
• 2단계로 이루어짐:
1. 부하 분산 - DIP 선택
2. NAT - VIP->DIP와 포트 변환
• NAT에서 vSwitch로의 전달은 부하 분산이
Stateless(ECMP)로 처리된 후, 직접 전달
• MUX는 VM 형태로 확장 및 축소가 가능
From. 백승주 부장’s PPT
14. Application Gateway
• L7 기반의 Load balancer
• 공인 IP를 Mapping 시킬 수 있으나, 동적 IP로만 설정 가능
• 기본적인 설정은 되어있으며, Backend Pool만 설정하면 바로 사용 가능
• Backend Instance가 사설 IP(Private IP)만 있더라도 AGW에서 트래픽 전달 가능
• WAF를 활성화 할 수 있음 탐지(검색) 모드와 제어(방지) 모드가 있음 (Preview)
• HTTP(S) 트래픽만 서비스 가능
• 쿠키 기반 세션 선호도 처리 가능
• SSL 오프로드를 지원하며, 종단간 SSL도 지원 (테스트 해보지 못했음…)
• Load Balancing Mode는 Round Robin
• URL 기반 라우팅이 가능하며, 여러 Site를 하나의 AGW에서 라우팅 가능
• Websocket Native 지원
• EndPoint는 모든 Azure 내부 IP 주소 또는 공용 인터넷 IP 주소
19. Application Gateway 가격 정책
APPLICATION GATEWAY 유형 기본 APPLICATION GATEWAY WAF APPLICATION GATEWAY
(미리 보기)
작음 게이트웨이 시간당 ₩30
(~₩22,320/월)
사용할 수 없음
중간 게이트웨이 시간당 ₩84.00
(~₩62,496/월)
미리 보기 중 기본과 동일한 가격
큼 게이트웨이 시간당 ₩384
(~₩285,696/월)
미리 보기 중 기본과 동일한 가격
데이터 처리 작음 중간 큼
첫 10TB/월 GB당 ₩9.60 무료 무료
다음 30TB
(10 - 40TB)/월
GB당 ₩9.60 GB당 ₩8.40 무료
40TB 초과/월 GB당 ₩9.60 GB당 ₩8.40 GB당 ₩4.20
21. Traffic Manager
• DNS 기반의 Load balancer
• DNS 기반의 Failover 구성이 가능
• Azure Service 이외 DNS로 접근 가능한 모든 Endpoint를 소유할 수 있음
• Swapping Service를 지원하지 않는 Service 이용 시 매우 유용
• Probe는 Protocol(HTTP/HTTPS)과 Port, 그리고 Monitoring Path를 설정할 수 있음
• DNS TTL의 기본값은 300초
• 트래픽 라우팅 방법은 우선순위, 가중치, 성능으로 통 세가지가 있으며, 중첩으로 설정이 가능
28. 알게 된 몰랐던 것들
• VM 하나 띄우고, LB 하나 설정 바꾸고 하는데 너무 많은 시간이 소모되는 느낌 (AWS와 비교 시)
• 생각보다 친절하지 않은 UI이나, 경력자 들은 손쉽게 사용할 수 있는 흐름
• 여기저기 왔다 갔다 하지 않고도 처리할 수 있는 업무가 많음
• Wide 모니터(21:9)가 절실히 필요함
• 정적 공인 IP가 유료라는 것을 알게 됨 (5개 까지만 무료)
https://azure.Microsoft.com/ko-kr/pricing/details/ip-addresses/
• 동적 공인 IP는 각 Instance마다 무료~ (과금시 $0.004, AWS는 $0.005)
• Availability set이 VM을 여러 개 생성해 주는 것이 아니라 Set에 속한 VM들을 물리 분리 해준다는 의미
• Azure Blob은 S3랑 비교할 때 나쁘지 않다.
29. 각 서비스 비교
부여 Azure Load Balancer 응용 프로그램 게이트웨이 트래픽 관리자
기술 전송 수준(계층 4) 응용 프로그램 수준(계층 7) DNS 수준
지원되는 응용 프
로그램 프로토콜
모두 HTTP 및 HTTPS
모두
(HTTP 끝점은 끝점 모니터링에 필요함)
끝점
Azure VM 및 클라우드 서비스
역할 인스턴스
모든 Azure 내부 IP 주소 또는
공용 인터넷 IP 주소
Azure VM, 클라우드 서비스,
Azure 웹앱 및 외부 끝점
Vnet 지원
인터넷 연결 및 내부(Vnet) 응용 프로그램
모두에 사용할 수 있습니다.
인터넷 연결 및 내부(Vnet) 응용 프로그램
모두에 사용할 수 있습니다.
인터넷 연결 응용 프로그램만 지원
끝점 모니터링 프로브를 통해 지원됨 프로브를 통해 지원됨 HTTP/HTTPS GET을 통해 지원됨
Protocol TCP/UDP HTTP/HTTPS -
고정 IP 지원 - -
Load Balancing
Mode
5 튜플(원본 IP, 원본 포트, 대상 IP, 대상 포트,
프로토콜 유형)
Round Robin
우선 순위, 가중치, 성능을 기반한
DNS
Load Balancing
Mode
(Sticky Session)
2 튜플(원본 IP 및 대상 IP), 3 튜플(원본 IP,
대상 IP 및 포트) 가상 컴퓨터의 수에 따라
확장 또는 축소할 수 있습니다.
쿠키 기반 선호도 -
SLA 무료 99.95% 99.99%