×
Community Blog 중국 - 글로벌간 네트워크 가속화 및 보안 강화를 위한 WAF, Anti-DDoS, GA 구성 가이드

중국 - 글로벌간 네트워크 가속화 및 보안 강화를 위한 WAF, Anti-DDoS, GA 구성 가이드

본 가이드 포스트를 참고하여 알리바바 클라우드의 Anti-DDoS, WAF, GA 구성 방법에 대해 참조할 수 있으며 중국-글로벌 간 네트워크 가속화에 대해 배울 수 있습니다.

1. Introduction, 구성 요건

1.1 GA란?

1

GA는 가속 영역의 각 영역에 가속 IP 주소를 할당합니다. 이러한 지역의 클라이언트는 가속 IP 주소를 통해 클라이언트와 가장 가까운 액세스 포인트에 연결할 수 있습니다. 액세스 포인트는 클라이언트 요청을 수신하고 해당 요청을 Alibaba Cloud 글로벌 네트워크로 전달합니다. 그런 다음 GA는 클라이언트 요청을 최적의 끝점에 배포할 경로를 자동으로 선택합니다. 이는 네트워크 정체를 피하고 네트워크 대기 시간을 줄이는 데 도움이 됩니다. 엔드포인트는 SLB(서버 로드 밸런서) 인스턴스, ECS(Elastic Compute Service) 인스턴스, Alibaba Cloud 공용 IP 주소, 원본 서버의 사용자 지정 IP 주소 및 원본 서버의 사용자 지정 도메인 이름이 될 수 있습니다.

  • Basic Bandwidth : 기본 대역폭 계획은 인터넷을 통해 그리고 Alibaba Cloud의 내부 네트워크 내에서 데이터 전송을 위한 대역폭을 제공합니다. 그러나 기본 대역폭 요금제는 중국 본토와 중국 본토 외부 지역 간의 데이터 전송에는 적용되지 않습니다.
  • Cross-border acceleration bandwidth plan : 중국 본토와 중국 본토 외부 지역 간의 데이터 전송 가속이 필요한 경우 국경 간 가속 대역폭 요금제를 구매해야 합니다.

1.2 구성 요건

  1. ICP를 보유
  2. 중국에서 글로벌로 서비스를 제공
  3. Alibaba Cloud 외부의 환경에 백엔드를 구성
  4. GA의 Accelerated IP 지역을 3개로 구성

2. Anti-DDoS, WAF, GA 구성 절차**

https://www.alibabacloud.com/help/en/doc-detail/160388.html

(+ Multiple endpoint : https://www.alibabacloud.com/help/doc-detail/200132.html )

2

2.1 GA Instance 구매를 위한 요건 확인

요건에 따라 GA의 Instance Spec과 Bandwidth의 형태가 달라질 수 있습니다.

참조 1) GA Instance specification

3

참조 2) Bandwidth fee

4

2.2 GA Instance 만들고 2가지(Basic, Cross-border) Bandwidth 바인딩

먼저 GA Instance를 구매합니다.

GA 콘솔 우측 상단 > Create Instance

5

  • Specification : 각 요건에 따라 선택, 본 건에서는 Small III 선택

구매 후 구성된 Instance를 확인합니다.

6

스크린 샷의 Basic/Cross-border Bandwidth에서 Bind Now를 눌러 각 Bandwidth를 구매하고 바인딩합니다.

Basic Bandwidth Bind now > purchase

7

  • Peak Bandwidth : 가장 트래픽이 몰렸을 때의 Bandwidth를 예상하여 산정
  • Bandwidth Type : Basic은 중국에서만 Bandwidth를 처리할 경우, Enhanced는 Cross-Border가 필요할 경우 사용. 본 건에서는 Enhanced 를 선택

Cross-border Acceleration Bandwidth Bind now > purchase

8

  • Bandwidth : 가속화할 Bandwidth를 산정, 만약 가속화 지역이 3개이며 각 지역에서 5Mb 만큼의 Bandwidth가 필요하다면 15 Mb 선택

9

바인딩된 두 가지 Bandwidth 확인

2.3 Listener 및 End Point추가

GA인스턴스에 가속화를 구현하기 위한 두 가지 컴포넌트인 Listener와 End Point를 추가합니다.

GA 콘솔 > Standard Instance > Instance ID > Listener > Add Listener 클릭

10

  • 클라이언트에서 사용할 Protocol과 Port Number를 정의. 본 건에서는 HTTP/80을 사용
  • Client Affinity : Source Ip Address를 drop-down에서 사용할 수 있으며, 이 옵션이 enable 되면 특정 Client IP는 같은 endpoint로 트래픽이 전송 됨

Next를 클릭하여 다음 구성으로 넘어갑니다.

2.4 Default Endpoint Group 설정

GA에서는 Layer 7 스마트 라우팅 기능을 지원합니다. 본 시나리오에서는 도메인 기반 스마트 라우팅을 설정합니다.

HTTP 리스너에 대한 Default Endpoint Group 및 Virtual Endpoint Group을 구성할 수 있습니다.

  • Default Endpoint Group : 리스너를 생성할 때 Default Endpoint Group을 구성해야 합니다. 시스템은 Default Endpoint Group에 대한 기본 Forwarding Rule을 자동으로 추가합니다. 사용자 지정 Forwarding Rule의 일치 조건을 충족하지 않는 요청은 기본 Forwarding Rule의 Default Endpoint Group으로 전달됩니다.
  • Virtual Endpoint Group : 리스너를 만든 후 Virtual Endpoint Group을 만들고 Endpoint Group페이지에서 Virtual Endpoint Group에 대한 사용자 지정 Forwarding Rule을 추가할 수 있습니다. GA는 Forwarding Rule의 일치 조건을 충족하는 요청을 연결된 최적의 엔드포인트로 전달합니다.

11

먼저 Server A를 위한 Default endpoint group을 설정합니다.

12

  • Region : 중국 본토로부터 가속화할 지역을 선택. 본 건에서는 China (Hong Kong)을 선택
  • Backend Service : 백엔드로 구성된 서버가 Alibaba Cloud의 서비스인지, Alibaba Cloud 외부의 서비스인지 선택. 본 건에서는 Off Alibaba Cloud 선택
  • Preserve Client IP : 이 옵션을 Enable하면 백엔드 서비스에서 Original IP를 확인 가능
  • Endpoint : 각 백엔드에 접속을 위한 Endpoint를 정의. IP/Domain으로 정의할 수 있으며 Blue/Green, Canary 배포가 필요할 경우 Weight 정의 가능. 본 건에서는 Server A의 IP 입력

모든 설정을 확인하여 Listener와 Endpoint 설정을 완료합니다.

2.5 Virtual Endpoint Group 설정

GA의 리스너에서 Layer 7의 forwarding rule로 도메인 조건에서 분기하기 위해 Server B를 위한 Virtual Endpoint Group을 추가합니다.

GA 콘솔 > Instance 클릭 > 구성한 Listener ID 클릭 > Endpoint Group 선택

13

Server B에 대한 Endpoint 추가

14

  • Default Endpoint Group을 만들 때와 같은 형태로 Configuration 추가

2.6 Forwarding Rule 추가

Server B에 대한 Forwarding Rule을 추가합니다. Server B 도메인으로 접근하는 트래픽 이외에는 모두 default endpoint group으로 라우팅되므로 Forwarding Rule은 Server B를 위한 구성 하나면 충분합니다.

15

  • IF : Domain Name 선택하여 조건을 넣을 domain을 명시. 본 건에서는 servera.test.com을 입력
  • Forward to Virtual Endpoint Group : 조건에 맞는 트래픽일 경우에 라우팅할 Virtual Endpoint Group을 선택. 본 건에서는 Server B를 위한 Virtual Endpoint group 선택

2.7 Acceleration area 추가

GA 콘솔 – Standard Instance – Instance ID – Acceleration Area클릭

16

  • Add Region 선택

17

  • Regions : 가속화가 필요한 리전 선택
  • Bandwidth : 해당 지역에 부여할 Bandwidth 선택

18

생성된 Accelerated IP Address 체크합니다.

2.8 GA Instance의 CNAME 확인

GA 콘솔 > Instance 선택 > Instance information 확인

19

  • WAF의 백엔드 설정에 필요한 정보인 GA instance의 CNAME을 노트

2.9 WAF 설정

WAF Console > Purchase WAF subscription

20

  • Region : 가속화할 지역 선택. 본 건에서는 China Mainland 선택
  • Plan : 구성할 WAF 형태 선택. 구분은 아래서 확인 가능

21

  • Bot Manager : Enable하면 구성된 봇으로 웹 공격에 대한 탐지를 보다 강화할 수 있습니다. 상세는 해당 링크에서 확인할 수 있습니다. Set a bot threat intelligence rule
  • Mobile App Protection : 만약 모바일 앱 서비스를 지원하는 서비스를 구성할 경우 enable
  • Extra Domain : 추가적인 Domain 구매, 10개 이상의 서브도메인을 구성할 때 추가 구매 필요

2.10 WAF에서 Add website configuration

WAF에 도메인을 설정합니다.

WAF Console > Asset Center > Website Access > Add Domain Name

22
23

  • Domain Name : 도메인 네임 입력. *본 건에서는 .test.com을 입력
  • Protocol Type : HTTP, HTTPS(SSL Offload를 위해 enable USE HTTP 선택)
  • Domain : 앞에서 노트한 GA Instance의 CNAME 입력
  • Http Port : 80
  • Load Balancing Algorithm : IP hash or Round Robin이지만 본 조건에서는 CNAME을 백엔드로 두기 때문에 의미 없음
  • Does a layer 7 proxy exist in from of WAF : YES, 첫번째 선택 (만약 X-forwarded-for 방어를 하기 위해 헤더를 수정한 로직이라면 2번째 선택)
  • Enable traffic mark : 헤더에 특정 값을 기록해서 모니터링 할 수 있도록 설정. 본 설정에서는 선택 안함

NEXT를 누르면 나오면 CNAME을 노트합니다. 해당 값은 Anti-DDoS의 백엔드 입력시 사용됩니다.

24

2.11 Anti-DDoS 설정

25

  • Type : Anti-DDoS Pro (Mainland China) 선택
  • Basic Protection : 기본으로 막아주는 최대 Protection 규모
  • Burstable protection : Basic 용량을 초과했을 때 추가로 방어 가능한 규모, pay-as-you-go로 빌링
  • Business Scale : 기본 예상되는 Business 트래픽 양, 초과시 패킷 로스나 성능 저하가 생길 수 있음
  • Function Plan : Standard 선택 / Enhanced는

    • Supports Non-Standard ports for HTTP(S) and WebSocket(s)
    • Supports GeoIP blocking rules (i.e. Allow access from Europe only)
    • Supports custom application layer Access-Control-Rules
    • Supports static website caching
    • Supports for custom TLS protocol versions and cipher suites
    • Supports for CDN Interaction
    • 의 케이스에서 사용
  • Domain : 인스턴스에 추가할 수 있는 HTTP 및 HTTPS 도메인 이름의 수를 지정

2.12 Anti-DDoS Website Config 설정

이제 Anti-DDoS의 도메인을 설정합니다.

Anti-DDoS Pro > Provisioning > Website Config > Add Domain

26

  • Domain : ICP가 등록된 도메인을 입력( * 같은 wildcard entry 가용 가능)
  • Protocol : HTTP, HTTPS, Websocket, Websockets 모두 선택
  • Server IP : 위 단계에서 노트한 WAF의 CNAME 입력

또한 생성된 Anti-DDoS 인스턴스의 CNAME을 노트합니다. 이 값은 다음 단계인 DNS 추가에 사용됩니다.

2.13 DNS 추가

DNS에 각 서비스에 대한 도메인을 CNAME으로 매칭합니다.

27

  • Type : CNAME 선택
  • Host : 접속할 Subdomain 입력
  • Value : 노트한 Anti-DDoS의 CNAME 입력

이후 테스트를 진행하면 정상적으로 서버 연결이 되는 것을 확인할 수 있습니다.

2.14 Anti-DDoS Access Log 모니터링

먼저 기본적으로 제공하는 Overview 화면 우측 하단에서 어느 지역에서 접속했는지 접속 추이를 확인할 수 있습니다.

28

또한 로그 서비스를 활성화하면 Access Log 를 대시보드 형태로 확인할 수 있습니다.

Anti-DDoS 콘솔 > Investigation > Log Analysis > Log Reports > Access Center

29

만약, 특정 지역에서 몇 건의 Access가 발생했는지 확인하고 싶으면 아래의 가이드를 따라 쿼리를 확인할 수 있습니다.

Anti-DDoS 콘솔 > Investigation > Log Analysis > 입력창에 아래 쿼리 입력

30

host: aliyun.com |select ip_to_city(real_client_ip) ,ip_to_country(real_client_ip),ip_to_city(real_client_ip),ip_to_geo(real_client_ip),ip_to_province(real_client_ip),ip_to_provider(real_client_ip) ,COUNT(*) as c group by ip_to_city(real_client_ip) ,ip_to_country(real_client_ip),ip_to_city(real_client_ip),ip_to_geo(real_client_ip),ip_to_province(real_client_ip),ip_to_provider(real_client_ip) order by c desc limit 99999

3. 결과 확인

3.1 Curl 이용

curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "<domain_name>"
  • time_connect: the period of time to establish a TCP connection.
  • time_starttransfer: the period of time for the backend server to send the first byte after the client sends a request.
  • time_total: the period of time for the backend server to respond to the session after the client sends a request.

3.2 MTR 리포트 수행

mtr -n -T -c 200 <domain_name> --report

4. 마무리

지금까지 Anti-DDoSWAF를 이용하여 보안을 강화하고 GA 로 중국-글로벌 간 네트워크를 가속화하는 구조를 구성하는 방법에 대해서 알아보았습니다.

GA를 이용하면 기존 Latency가 많고 Jitter가 많이 생기는 국가간 네트워크 구간에서 안정화를 가지게 되며 서비스의 퀄리티를 높일 수 있게 됩니다.

만약 해당 구성 사항이나 테스트에 대해 문의가 있으시면 아래 메일로 연락주시기 바랍니다.
cloudkorea@list.alibaba-inc.com

0 0 0
Share on

JJ Lim

21 posts | 4 followers

You may also like

Comments