brunch
매거진 NCA

NCA-4. 로드밸런서, 글로벌에지-2025

by Master Seo

# 오리진을 애플리케이션 로드밸런서로 사용하는 글로벌 CDN을 사용해 보자.



<1> 애플리케이션 로드밸런서 만들어 사용해 보자.

<2> ALB사용 서버에서 외부 접속IP 확인을 위한 X-Forwarder-For 설정

<3> 네임서버를 네이버 클라우드에서 운영해 보자.

<4> 글로벌 CDN을 사용해 보자.

<5> 로드밸런서로 선택 기준



<1> 애플리케이션 로드밸런서 만들어 사용해 보자.



1

로드밸런서를 사용하려면 네트워크부터 구축해야 한다.


프라이빗 서브넷

퍼블릭 서브넷

로드밸런서용 public 서브넷-pub1-lb


슬라이드2.JPG
슬라이드3.JPG




2

# 서버 생성해 보자


타깃 서버가 있어야 한다.

프라이빗 서브넷에 해당 서버를 구축하자.


작업 순서

우선 퍼블릭에 서버 1대 구축 - 애플리케이션 설치 하자. ACG는 내 IP만 SSH 되도록 수정하자.

이미지 서버 만들자

프라이빗에 2대 구축하자.

디폴트 ACG에서 80 포트 허용하자.


init-script 파일




#!/bin/bash

wget -O /etc/yum.repos.d/Rocky-Extras.repo http://init.ncloud.com/server/linux/repo/rocky8/Rocky-Extras.repo

yum clean all

yum -y install httpd php mariadb-server php-mysqlnd


sleep 60

cd /var/www/html

wget https://kr.object.ncloudstorage.com/ncp-manual/handson/lab.tgz

tar xvfz lab.tgz


/usr/bin/cp -rf php.conf /etc/httpd/conf.d/php.conf

/usr/bin/cp -rf www.conf /etc/php-fpm.d/www.conf


systemctl enable mariadb

systemctl enable httpd

systemctl enable php-fpm

systemctl start mariadb

systemctl start httpd

systemctl start php-fpm



3

애플리케이션 로드 밸런서 만들기 전에 타깃 그룹을 먼저 만들자.

http, https 모니터링




4

애플리케이션 로드 밸런서를 만들어 타깃 그룹에 연결하자.




<2> ALB사용 서버에서 외부 접속IP 확인을 위한 X-Forwarder-For 설정



1


[root@s107113338 httpd]# cd /etc/httpd/conf

[root@s107113338 conf]# vi httpd.conf

[root@s107113338 conf]# systemctl restart httpd

[root@s107113338 conf]# tail -f /var/log/httpd/access_log



2

set number

201



3

X-Forwarder-For 설정



변경전

# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined



LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined



3

서버 로그에서 확인




<3> 네임서버를 네이버 클라우드에서 운영해 보자.


1

도메인 구매

도메인 구매 시 네임서버 등록 2개

ns1-1.ns-ncloud.com

ns1-2.ns-ncloud.com



2

네이버 클라우드 콘솔에서 도메인 설정

A 레코더 설정해 보기

CNAME 설정해 보기

적용

배포


확인






<4> 글로벌 CDN을 사용해 보자.



# 오리진을 NCP 로드 밸런서 사용하는 설정을 해보자.


1

글로벌 에지 > 메니지 먼트 > 프로필 생성

agame



2

Edge 생성



Quick Start와 Self Intergration 이 있다.

Self Intergration으로 한다. 상세 설정이 가능하다.

agame-web



3

서비스설정

서비스 프로토콜은 HTTP, HTTPS , HTTP and HTTS 이 가능하다.

한국, 일본, 글로벌 설정이 가능하다.


설정은 다음 버튼은 없다. 필요한 설정을 클릭 클릭 해야 한다.


40 서비스 설정.png



4

오리진 선택?

NCP Object Storage - Korea , USW, Singapore, Japan, Germany 가능 - 버킷 이름 선택

NCP Load Balancer

NCP API Gateway

외부 오리진 도메인


포워드 호스트 헤더- Incoming Host Header , Oragin Hostname , Custom

오리진 프로토콜 설정 - HTTP, HTTPS

오리진 경로


오리진 페일오버

50 오리진.png





5

캐시설정

디폴트 캐스 - 기본 TTL 30일


캐시옵션- 캐시, 바이패스 캐시, 원본 Cache-Control 헤더 우선

Maxage 30일


50 캐시.png



6

툴빌더

HTTP/2 , HSTS 기본 활성화

60 h.png




7

최적화

압축전송, 대용량 파일전송 기본 활성화


70 최적화.png





8

접근제어

IP/CIDR , Geo , Referer Header 기준으로 화이트 블랙을 만들고 정의

화이트 리스트와 블랙리스트 함께 사용 불가, 하나의 정책만 적용

80 ip.png


9

왼쪽 위 설정완료

배포 중





10

cdn 도메인으로 사이트 접속해 보자.



<5> 로드밸런서로 선택 기준


1

VPC

TCP이면 NLB , Proxy NLB

HTTP/HTTPS 이면 ALB


40 ㅣㅠ.png




https://brunch.co.kr/@topasvga/4658


keyword
매거진의 이전글NCA-3. 디스크 추가, 스냅샷 생성-2025