일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Kubernetes
- kubeadm
- cloudmonitor
- 네이버클라우드
- 테라폼
- CKAD
- argocd
- RollingUpdate
- 알리바바클라우드
- cloud monitor
- terraform
- IAC
- 자동화
- Cluster
- cicd
- k8s
- alibabacloud
- hashicorp
- alibaba
- recreate
- NCP
- slack app
- alibaba cloud
- CDN
- 쿠버네티스
- helm
- Naver Cloud
- 시험
- alibaba Cloud CDN
- AWS
- Today
- Total
Room9
[Cloud Network] Alibaba Cloud CDN feature (Basic / Origin Fetch) 본문
[Cloud Network] Alibaba Cloud CDN feature (Basic / Origin Fetch)
Room9_ 2025. 4. 14. 17:26
Overview
CDN에는 기본적으로 일반적인 캐싱 기능외에 많은 기능을 추가적으로 제공합니다.
아래에서 소개할 몇가지 기능중에 예를들어 Back-to-Origin 설정이라던지 보안접속을 위한 SSL 인증서를 바인딩 한다거나 접근제어 등 여러가지 기능을 제공하고 있어 이러한 기능들을 한가지씩 살펴보면서 원하는 설정을 할 수 있습니다.
Details
- Basic 설정
- Acceleration Region
- Global Resource Plan
- Contional Origin
- IPv6 Setting
- Origin Fetch
- Default Origin Host
- Origin Host for Each Origin
- Origin Protocol Policy
- Alibaba Cloud OSS Private Bucket Access
- Default Origin SNI
- Common Name Whitelist
- Timeout for HTTP Back-to-origin Requests
- Advance Origin
- 301/302 Redirection
- Origin Fetch over IPv6
Basic 설정
Acceleration Region
CDN을 최초 도메인 설정 당시 설정했던 Region 정보를 수정할 수 있습니다. 앞선 글에서 작성된 Domain Name Setting를 참고할 수 있습니다.
- Chinese Mainland Only : CDN을 통한 요청을 중국 본토에 배포된 POP으로 리디렉션 됩니다. 중국 본토 외부의 요청은 China Telecom에서 관리하는 POP으로 리디렉션 됩니다.
- Global : 모든 요청이 가장 가까운 POP으로 리디렉션 됩니다.
- Global (Excluding the Chinese Mainland) : 중국 본토를 제외한 POP으로 리디렉션 됩니다.
💡 Global 또는 Chinese Mainlad Only 선택 시 ICP 비안이 있어야 구성 가능합니다.
Global Resource Plan
🚫 Global Resource Plan은 도메인 생성 단계에서 설정이 가능하며, 설정 수정만으로 적용할 수 없습니다. Global Resource Plan 적용이 필요하다면, 기존 도메인을 삭제하고 재생성을 진행해야합니다. 또한 해당 기능을 ON 하게되면 CDN의 기본기능들 중 제공되지 않는 기능들이 많이 생깁니다.
해당 기능은 Alibaba Cloud 및 글로벌 파트너의 POP을 포함하여 더 많은 접속지점을 제공하여, 콘텐츠 전송 속도를 높일 수 있는 기능입니다. 글로벌 파트너의 POP도 함께 이용하는 플랜이기 때문에 일부 기능 제약이 있음으로 사전에 Document에서 필요한 기능이 제공되는지 여부를 필수적으로 확인해서 적용해야합니다.
Conditional Origin
조건부 오리진 기능은 특정 조건이 충족될 때 요청을 지정된 오리진 서버로 리디렉션할 수 있게 해주는 기능입니다. 이 기능은 보다 유연한 백투오리진(원본 서버로의 요청) 제어를 가능하게 합니다. 조건부 오리진은 기본 오리진 서버보다 우선순위가 높습니다.
Rule Engine 과 같이 사용되어 request header, query string parameter, path, Client IP 등 지정된 조건에 따라 사용자의 요청을 필터링하고, 조건을 충족하는 요청은 지정된 오리진 서버로 리디렉션기능을 제공합니다.
🚫 Contional Origin 과 Advanced Origin 기능 중 하나만 사용할 수 있습니다. 같이사용하는 경우에는 충돌이 발생합니다.
💡 Matching의 우선 순위 : 설정된 조건부 오리진은 리스트의 상단부터 내림차순으로 매칭됩니다.
내림차순으로 적용하고 적용된 시점에 이후 규칙들은 무시되어 적용되어집니다.
IPv6 Setting
IPv6 기능을 활성화 하면 CDN은 IPv6 클라이언트 요청을 처리하고 원본 서버로 전달할 수 있는 기능을 제공합니다. 대부분의 CDN POP은 IPv6를 지원합니다.
Origin Fetch
오리진 패치는 CDN POP이 클라이언트가 요청한 리소스를 원본서버(Origin Server)에서 가져오는것을 의미합니다.
- 클라이언트가 CDN 도메인으로 요청을 보냅니다.
- CDN POP은 요청된 리소스에 대한 캐시를 확인합니다. 캐시된 리소스가 있다면 클라이언트로 직접 반환합니다.
- 캐시된 리소스가 없다면, POP이 Origin Fetch 정책에 때라 원본 서버(Origin Server)에 요청을 보냅니다.(리디렉션)
- 원본서버는 요청을 받은 후, URL과 파라미터에 따라 리소스를 생성하고 POP으로 반환합니다.
- CDN POP은 받은 리소스를 캐시에 저장하여, 다음 요청 시 바로 응답합니다.
- POP은 요청한 클라이언트에게 리소스를 전달합니다
Default Origin Host
하나의 서버에서 여러 도메인을 가상호스트(Virtual Host) 방식으로 운영하거나, CDN에 설정된 도메인과 오리진 서버에서 원래 서비스하던 도메인이 다른 경우, 오리진 서버는 특정 도메인으로 들어오는 요청만 정상적으로 처리하도록 구성되어 있을 수 있습니다.
이때 Default Origin Host 기능을 사용하면, CDN이 오리진 서버로 요청을 전달할 때 Host 헤더 값을 오리진 서버가 인식할 수 있는 도메인으로 설정해 줄 수 있습니다.

Default Origin Host 로 설정가능한 Domain Type은 CDN Domain , Origin Domain , Custom Domain 으로 설정 가능합니다.
예시
원본 서버의 주소가 도메인인 경우
- 가속화된 CDN 도메인 : image.example.com
- 원본 서버의 도메인 : source.example.com
CDN은 사용자가 요청한 image.example.com으로 접근하지만, 오리진 서버는 source.example.com만 처리하도록 구성되어 있다면, Default Origin Host를 source.example.com으로 설정함으로써 정상적인 응답을 받을 수 있습니다.
원본 서버의 주소가 IP인 경우
- 가속화된 CDN 도메인 : image.example.com
- 원본 서버의 IP : 10.10.10.10
오리진 서버가 IP 기반이라도, 웹 서버가 가상호스트 설정(예: Nginx의 server_name : source.example.com)을 통해 도메인별로 요청을 처리하는 구조라면, Default Origin Host를 설정해 Host: source.example.com 으로 요청되도록 해야 정상 동작합니다.
Origin Host for Each Origin
요청사항에 맞게 호스트를 변경할 수 있는 기능입니다.
Each origin 기능은 하나의 도메인에서 여러 다른 웹사이트를 운영할 때, 각 웹사이트가 요청을 받을 때마다 어떤 서버에서 처리할지 결정하는 기능입니다.
예를 들어, 하나의 도메인에 여러 서브도메인이 있을 때, 각 서브도메인마다 다른 서버로 요청을 보낼 수 있습니다. 반면, All origins 기능은 여러 도메인이나 서브도메인에서 오는 요청을 모두 하나의 서버로 보낼 때 사용됩니다. 즉, 어떤 도메인에서 요청이 들어오든 상관없이 모든 요청을 같은 서버로 처리하도록 설정이 가능합니다. Default Origin Host 와 Each Origin이 둘다 설정되어 있는 경우 우선순위는 Each Origin 이 먼저 적용됩니다.
Origin Protocol Policy
해당 기능을 활성화 하면 CDN POP이 원본을 호출할때 해당 프로토콜을 통해 리소스를 검색하게 됩니다.
- HTTP : POP이 원본으로 HTTP 를 통해 리디렉션 됩니다.
- HTTPS : POP이 원본으로 HTTPS 를 통해 리디렉션 됩니다.
- Follow : POP으로 들어오는 요청에 따라 원본으로 리디렉션 됩니다.
Alibaba Cloud OSS Private Bucket Access
동일 계정에 있는 OSS가 Private으로 설정되어 있더라도 Origin으로 설정하여 CDN이 캐싱할 수 있게하는 설정동일 계정에 있는 OSS라면 해당 기능을 켜게되면 STS 토큰을 자동 발급하여 Private Bucket이라도 원본으로 설정할 수 있다. 타 계정에 있는 Private OSS도 RAM 계정의 Accesskey 와 SecretKey 를 이용하여 원본으로 설정이 가능하게 하는 기능입니다.
암호화된 버킷의 경우
1. AliyunKMSCryptoUserAccess 정책 연결
CDN이 암호화된 OSS 객체에 접근하기 위해서는 해당 객체를 해독할 수 있어야합니다. AliyunKMSCryptoUserAccess 정책을 통해 KMS가 제공하는 암호화 키에 대한 접근 권한을 부여하는 역할을 수행합니다.
2. AliyunCDNAccessingPrivateOSSRole 역할에 정책 연결
AliyunCDNAccessingPrivateOSSRole 역할은 CDN이 Private OSS 버킷에 접근할 수 있는 권한을 가진 RAM 역할 입니다. 이 역할에 위에서 생성한 정책을 연결해야 CDN이 암호화된 객체에 접근할 수 있는 권한을 가지게 설정이 가능합니다
Default Origin SNI(Server Name Indication) - 서버 이름 표시
원본 서버의 IP 주소가 여러 도메인 이름과 연결되어 있고 요청이 HTTPS를 통해 원본 서버로 리디렉션되는 경우, 원본 서버에 대해 서버 이름 표시(SNI) 기능을 구성해야 합니다. SNI는 여러 도메인에 대해 하나의 IP 주소에서 SSL/TLS 연결을 처리할 수 있게 해주는 기술입니다. 이를 통해 여러 도메인에 대해 각각 다른 SSL 인증서를 적용할 수 있습니다.
- CDN POP은 HTTPS을 통한 요청을 원본 서버로 리디렉션 합니다. 요청 대상 도메인 이름은 SNI로 지정됩니다.
- 원본 서버는 요청을 수신한 후 SNI를 기반으로 example.com과 같은 요청된 도메인 이름의 인증서로 응답합니다.
- POP이 인증서를 수신하면 POP은 원본 서버와의 보안 연결을 설정합니다.
Common Name Whitelist
인증서의 CN(Common Name)이 다르더 라도 예외로 적용하여 보안연결을 허용할 수 있게 화이트리스트 처리 할 수 있습니다.
예를들어 domain1.com 으로 접속하고, 서버의 인증서는 domain2.com 인 경우에 domain2.com 을 CDN에서 화이트리스트 처리하게되면 domain1.com를 통하여 보안연결을 할 수 있게 서버측 인증서를 화이트리스트 처리할 수 있습니다.
- 다양한 도메인에 대해 여러 인증서를 관리할 필요 없이, 하나의 인증서를 통해 여러 도메인에 대해 보안 연결을 허용할 수 있는 유연성을 제공합니다.
- 특히 CDN을 통해 여러 도메인의 요청을 처리할 때 유용하며, 인증서 CN이 달라도 정상적으로 보안 연결을 처리할 수 있게 됩니다.
결국, 화이트리스트 처리를 통해, 인증서의 CN이 다르더라도 원하는 도메인에 대한 보안 연결을 문제없이 허용할 수 있게 되는 것입니다.
Timeout for HTTP Back-to-origin Requests
HTTP 원본 요청에 대한 시간 제한을 설정할 수 있습니다. 이를 통해 POP과 원본 서버 간의 연결을 효율적으로 관리할 수있습니다. 기본적으로 30초를 적용하게 되며, 최대는 150초 이상 설정할 수 없으며, 권장되는 값은 60초 입니다.
- 짧은 타임아웃: 원본 서버가 바쁠 때 데이터를 응답할 시간이 부족해서 서비스가 제대로 동작하지 않거나 오류가 발생할 수 있습니다.
- 긴 타임아웃: 원본 서버가 느리더라도 기다리니까 사용자가 웹사이트가 느리다고 느끼거나 응답 속도가 떨어질 수 있습니다.
따라서 타임아웃 시간은 적절한 균형이 중요합니다. 너무 짧으면 서버가 응답할 기회도 못 얻고, 너무 길면 사용자 경험이 나빠집니다. 오리진 서버와 CDN 간의 원활한 소통을 위해 타임아웃 시간을 알맞게 설정하는 것이 중요합니다.
Advance Origin
요청 헤더, 쿼리 문자열 매개변수, 경로, 요청 쿠키 를 기반으로 요청을 다른 오리진 서버로 리디렉션하도록 설정할 수 있습니다.
🚫 앞서 설명된 Conditional Origin 설정 기능과 충돌 됩니다.
Conditional Origin 또는 Advanced Origin 기능 하나만을 사용할 수 있습니다.
- Basic Origin : 서버의 기본 주소, 요청이 조건부 오리진이나 고급 오리진에 속하지 않으면 Default로 사용 됨
- Conditional Origin 이 Advanced Origin 의 상위 설정 입니다.
예시는 아래와 같습니다.
조건 종류 | 조건 예시 | 오리진 주소 |
쿼리스트링 | user=vip 포함 | vip-origin.example.com |
경로(Path) | /static/js/ 포함 | default-origin.example.com/static-js |
요청 헤더 | User-Agent에 Mobile 포함 | mobile-origin.example.com |
쿠키 | region=us 포함 | us-origin.example.com |
301/302 Redirection
💡 Origin 서버에서 301/302 리디렉션 설정이 필수적입니다.
CDN에 들어온 사용자의 요청에 대해, 특정 조건이 맞으면 다른 URL로 리디렉션(이동) 시켜주는 기능입니다.
리디렉션 타입 | 의미 | 브라우저 반응 |
301 | 영구 이동 (permanent redirect) | 브라우저가 캐시함, SEO 영향 O |
302 | 임시 이동 (temporary redirect) | 캐시 안함, SEO 영향 X |
리디렉션 설정 횟수가 5라면 POP이 원본으로 요청하는 횟수는 5+1로 처리됩니다.
매개변수와 헤더를 유지하는 설정도 가능합니다.
Origin Fetch over IPv6
Origin 서버가 IPv6를 지원한다면, POP에서 Origin을 호출할때 정책에 따라 IPv6로 리디렉션 설정도 지원합니다.
- Use IPv6 : 해당 기능을 활성화 하면 Origin 서버는 기본적으로 IPv6를 사용하게 됩니다.
- POP 또는 Origin 서버에 IPv6 주소가 없다면 IPv4를 사용하게 됩니다.
- Match Client : 해당 기능을 활성화 하면 클라이언트 요청의 IP 버전으로 Origin 요청을 하게 됩니다.
- IPv4 / IPv6 Load Balancing : IPv4 , IPv6 를 라운드로빈 방식으로 로드밸런싱하거나, 네트워크 상태를 보고 적절히 로드밸런싱하게 됩니다.
Reference
What is origin fetch and the supported origin fetch configurations? - CDN - Alibaba Cloud Documentation Center
Add, rewrite, or remove an HTTP response header You can rewrite HTTP headers in responses from an origin server.
www.alibabacloud.com
Basic settings - CDN - Alibaba Cloud Documentation Center
Search Thank you! We've received your feedback.
www.alibabacloud.com