Home 기술 문서 온라인 비즈니스를 위한 에지 구성
Applications

온라인 비즈니스를 위한 에지 구성

About The Author

Outline

요약

현재 Edgio인 EdgeCast는 미디어 기업 및 글로벌 기업을 위한 에지 솔루션을 제공합니다. 선도적인 글로벌 에지 네트워크를 기반으로 구축된 Edgio의 고품질 전송, 컴퓨팅, 보안 및 스트리밍 솔루션은 세계 최대 규모의 웹사이트, 앱 및 OTT 서비스를 강화하고 보호합니다. Dell은 고객에게 구성 가능성과 유연성의 중요성을 잘 알고 있으며, 이를 통해 고객이 제어할 수 있는 다양한 기술을 제공하고 있습니다. 규칙 엔진은 이러한 예에 불과합니다.

Edgio의 규칙 엔진은 엣지 네트워크에서 요청을 처리하는 방식을 사용자 정의할 수 있게 해줍니다. 기본적으로 Edgio는 고객 오리진에서 보낸 모든 헤더를 존중합니다. 그러나 콘텐츠와 고객 활용 사례에 따라 오리진의 기본 동작을 재정의하려면 사용자 지정 규칙이 필요할 수 있습니다. Rules Engine 및 관련 API는 뛰어난 유연성과 구성 가능성을 제공합니다. 이를 통해 고객은 비교할 수 없는 정밀도로 콘텐츠 전송 및 보안 요구 사항을 제어할 수 있습니다. 이 글에서는 몇 가지 일반적인 사용 사례를 살펴보고 규칙 엔진에 정의된 다양한 규칙을 활용하여 얻을 수 있는 이점을 알아봅니다.

규칙 엔진 기능

규칙 엔진에는 일치 조건 집합으로 식별되는 요청에 적용할 작업 유형을 정의하는 여러 가지 유용한 기능이 포함되어 있습니다. 일치 조건은 기능 집합이 수행될 특정 유형의 요청을 식별합니다. 먼저 고객이 사용할 수 있는 기능의 유형을 살펴보겠습니다. Akamai의 엣지 네트워크가 자사 콘텐츠에 대한 요청을 관리하는 방식을 사용자 정의합니다.

액세스: 이 기능은 콘텐츠에 대한 액세스를 제어합니다. 예를 들어, 토큰 인증 기능은 토큰 기반 인증을 요청에 적용할지 여부를 결정합니다. 이렇게 하면 데이터, 파일 또는 페이지에 대한 액세스를 적절한 권한이 있는 사용자에게만 제한하고 잠글 수 있습니다. 이렇게 하면 콘텐츠나 정보가 권한이 없는 사용자와 공유되지 않습니다. 다른 액세스 제어에는 국가/지리적 위치가 포함됩니다.

				
					<rule>
   <description>Enable Token Auth</description>
   <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
      <feature.access.token-auth enabled="true"/>
   </match.request.edge-cname.literal>
</rule>
				
			

캐싱: 이러한 기능은 콘텐츠가 캐싱되는 시기와 방법을 사용자 지정합니다. 규칙 엔진은 에지가 콘텐츠를 처리하는 방식을 미세 조정할 수 있도록 다양한 캐싱 기능을 제공합니다. 예를 들어 PCS(Partial Cache Sharing)는 부분적으로 캐시된 파일이 후속 요청에서 캐시 적중으로 사용될 수 있는지 또는 파일을 에지에서 제공하기 전에 완전히 캐시해야 하는지를 나타냅니다. 이 기능을 활성화하면 PC가 오리진 로드를 줄이고 성능을 향상시킬 수 있습니다. 즉, 소스 컨텐츠에 대한 오리진 요청이 줄어들어 호스트/오리진에서 대역폭 비용이 줄어들 수 있습니다. 동시에 캐시를 최적화하면 가능한 경우 CDN 엣지에서 콘텐츠를 제공함으로써 성능을 향상시킬 수 있습니다.

				
					<rule>
   <description>Enable Partial Cache Sharing</description>
   <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
      <feature.caching.partial-cache-sharing enabled="true"/>
   </match.request.edge-cname.literal>
</rule>
				
			

헤더: 이러한 기능은 요청 및/또는 응답 헤더를 즉시 조작합니다. 예를 들어, Modify Client Request Header를 사용하면 요청에서 헤더를 덮어쓰거나 추가하거나 삭제할 수 있습니다. 사용자는 클라이언트에서 전송되거나 서버에서 수신된 데이터를 사용자 지정하여 웹 사이트 및 응용 프로그램의 동작을 제어할 수 있습니다.

				
					<rule>
    <description>Add CORS Header</description>
    <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
        <feature.headers.modify-client-response-header action="set" name="access-control-allow-origin" value="*"/>
    </match.request.edge-cname.literal>
</rule>
				
			

로그: UI 기반 분석 제품군 중 원시, 실시간 및 사용자 지정 로그를 생성하여 CDN 및 보안 트래픽 공간을 심층적으로(또는 360도) 파악할 수 있습니다. 이러한 기능은 원시 로그 파일에 저장된 데이터를 사용자 지정합니다. 예를 들어, Mask Client Subnet은 로깅 및 보고 목적으로 클라이언트의 IP 주소를 마스킹할지 여부를 결정합니다. 이는 GDPR(General Data Protection Regulation) 준수에 도움이 됩니다. 우리는 실시간 로그 전달을 사용하여 글로벌 핀테크 회사인 Plus500을 지원함으로써 소프트웨어 릴리스를 더 빠르고 안전하게 만들 수 있었습니다.

오리진: 이러한 기능은 CDN이 오리진 서버와 통신하는 방식을 제어합니다. 예를 들어 최대 연결 유지 요청은 연결 유지 연결이 닫히기 전의 최대 요청 수를 정의합니다. 따라서 요청에 필요한 TCP 인증 단계의 수를 최소화하여 에지 성능을 향상시킬 수 있습니다.

Specialty: 이러한 기능은 CDN이 오리진 또는 클라이언트와 작동하는 방식을 위한 고급 기능을 제공합니다. 예를 들어, QUIC 규칙을 전환하여 CDN 서비스가 QUIC를 지원한다는 사실을 클라이언트에 알리는지 여부를 지정할 수 있습니다. 이를 통해 Edgio는 최상의 성능을 발휘하도록 최적화된 웹 페이지를 제공할 수 있습니다.

				
					<rule>
    <description>Enable QUIC</description>
    <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
        <feature.specialty.quic enabled="true"/>
    </match.request.edge-cname.literal>
</rule>
				
			

사용자 변수: 맞춤형 트래픽 처리 솔루션에 전달되는 사용자 정의 변수에 값을 할당합니다. 이는 사용자 지정 백엔드 스크립팅 언어(LUA)와 함께 자주 사용됩니다. 한 가지 이점은 사용자가 사용자 정의 변수를 정적 구성에 삽입하여 서버 로드 밸런싱을 위해 백엔드를 제어할 수 있다는 것입니다.

규칙 엔진 기능/이점 요약

사용 사례

HTTP를 HTTPS로 리디렉션: TLS를 통해 웹 사이트 또는 응용 프로그램 트래픽을 강요하지 않는 경우 방문자는 브라우저에서 두려운 보안 경고 팝업을 볼 수 있습니다. 웹 사이트 방문자는 안전하지 않은 사이트가 자신의 정보를 훔칠 수있는 공격에 취약하다는 것을 알고 있습니다. 안전한 사이트는 신뢰를 심어줍니다. 방문객은 자신의 개인 데이터를 보호하기 위해 귀하가 할 일을 하고 있음을 알 수 있습니다. HTTPS는 보안 및 접근성을 보장하는 핵심이며 HTTP에서 HTTPS로 리디렉션하는 것은 규칙 엔진을 통해 쉽게 이루어집니다. Edgio는 또한 SSL을 위한 키 볼트 통합을 통해 완벽하게 관리되는 SSL(Secure Socket Layer)과 BYOC(Bring Your Own Certificate) SSL을 제공합니다.

방문자의 지리적 위치 및 장치 유형 이해: 기업은 웹 자산 방문자가 어디에서 왔는지, 어떤 유형의 장치가 사용되는지 파악하여 풍부한 정보를 얻을 수 있습니다. 규칙 엔진을 사용하면 사용자 지정 로그 필드를 추가하여 요청의 지리적 위치와 사용된 장치 유형에 대한 통찰력을 제공할 수 있습니다. HTTP 변수를 사용하면 이러한 메트릭을 원시 로그에 추가할 수 있습니다. 이를 통해 보다 철저한 로깅, 내부 보고, 모니터링, 통찰력 및 문제 해결이 가능합니다.

또한 URL 리디렉션 기능을 통해 기업은 최종 사용자의 지리적 지역에 따라 다른 URL로 요청을 리디렉션할 수 있습니다. 이 기능은 웹 사이트의 지역별 버전(예: 다른 언어 및 테마)을 유지 관리하는 다국적 기업에 특히 유용합니다.

				
					<rule>
   <description>Language Redirect</description>
   <select.first-match>
       <match.location.country.literal result="match" codes="US">
           <feature.url.url-redirect source="/80666BA/Origin1/(.*)" destination="%{scheme}://www.example-edgecat.com/us/$1" code="301"/>
       </match.location.country.literal>
       <match.location.country.literal result="match" codes="DE">
           <feature.url.url-redirect source="/80666BA/Origin1/(.*)" destination="%{scheme}://www.example-edgecat.com/de/$1" code="301"/>
       </match.location.country.literal>
   </select.first-match>
</rule>
				
			

다른 지역별 사용 사례는 펌웨어 다운로드와 관련이 있습니다. 전 세계적으로 분산된 고객은 펌웨어 다운로드를 위한 단일 URL을 사용하는 경우가 많습니다. 그러나 최종 사용자 환경을 개선하고 너무 많은 요청으로 인해 서버에 과부하가 걸리지 않도록 하려면 가장 가까운 지역 서버에서 요청을 가져와야 합니다. Rules Engine을 사용하면 요청을 시작한 Geolocation을 기반으로 요청이 지역 서버로 다시 라우팅되도록 URL 재작성을 적용할 수 있습니다.

				
					<rule>
    <description>Rewrite for Regional Origin Servers</description>
    <select.first-match>
        <match.location.country.literal result="match" codes="US">
            <feature.url.url-rewrite source="/80666BA/Origin1/(.*)" destination="/80666BA/Origin-US/$1"/>
        </match.location.country.literal>
        <match.location.country.literal result="match" codes="DE">
            <feature.url.url-rewrite source="/80666BA/Origin1/(.*)" destination="/80666BA/Origin-DE/(.*)"/>
        </match.location.country.literal>
    </select.first-match>
</rule>
				
			

콘텐츠에 대한 액세스 거부: 온라인 비즈니스가 콘텐츠에 대한 액세스를 거부하거나 차단해야 하는 데는 여러 가지 이유가 있습니다. 지역 잠금은 최종 사용자의 위치에 따라 콘텐츠에 대한 액세스를 제한합니다. 이는 기업이 경제 제재 및 개인 정보 보호법을 준수하거나 보안 위협을 차단하는 데 필요할 수 있습니다. 지역 및 국가 코드를 포함하여 다양한 위치 일치 조건을 사용하여 콘텐츠에 대한 액세스를 거부하거나 허용하도록 규칙 엔진에서 지역 잠금 규칙을 설정할 수 있습니다.

				
					<rule>
    <description>Deny RU Access</description>
    <match.location.country.literal result="match" codes="RU">
        <feature.access.deny-access enabled="true"/>
    </match.location.country.literal>
</rule>
				
			

고객은 토큰 기반 인증을 사용하여 콘텐츠에 대한 액세스를 거부할 수도 있습니다. 여기에는 정확한 지리적 위치, URL 경로, 다양한 헤더 및/또는 쿠키의 값, 파일 이름, IP 주소 등과 같은 수신 요청의 다양한 특성에 따라 콘텐츠에 대한 액세스를 거부하거나 허용하는 작업이 포함됩니다. Geoblocking은 넷플릭스 및 훌루와 같은 스트리밍 서비스에서 인터넷을 통해 전송하는 콘텐츠의 라이센스 법률을 준수하는 데 사용됩니다.

캐시 제어: 규칙 엔진을 통해 고객은 콘텐츠가 에지 서버에 캐시되는 방식을 세부적으로 조정할 수 있습니다. 콘텐츠 및 전송 요구 사항에 따라 적용할 수 있는 수십 가지 캐싱 규칙이 있습니다. 다음은 몇 가지 활용 사례입니다.

  • 기본적으로 CDN은 오리진에서 설정한 캐싱 지시어를 따릅니다. 그러나 오리진에서 캐시를 우회하도록 요청하는 경우 고객은 이 지침을 무시하고 자산을 캐시하여 전달할 수 있습니다. 따라서 규칙 엔진을 사용하여 캐시를 간편하게 제어할 수 있으며 고객이 오리진을 변경할 필요가 없습니다.
  • External Max-Age 규칙을 사용하면 브라우저를 제어하여 서버 캐시 재검증을 수행할 수 있습니다. 즉, 고객은 브라우저가 엣지 서버에서 새 버전의 자산을 검사하기 전에 경과해야 하는 시간을 지정할 수 있습니다.
  • Stale While Revalidate 규칙은 에지 서버가 유효성이 재검증되는 동안 요청자에게 유효하지 않은 콘텐츠를 제공할 수 있도록 하여 성능을 향상시킵니다. 고객은 CDN이 오래된 콘텐츠를 전송할 수 있는 TTL(Time-to-Live) 만료 기간을 완벽하게 제어할 수 있습니다. 이 규칙의 한 버전은 오류 발생 시 오래된 콘텐츠 배달 규칙입니다. 이 기능은 캐시 재유효성 검사 또는 오리진 서버에서 요청한 콘텐츠를 검색할 때 오류가 발생할 때 만료된 캐시된 콘텐츠를 제공하는 데 사용할 수 있습니다. 고객은 경우에 따라 오류를 최종 사용자에게 전달하는 것보다 이 방법을 선호할 수 있습니다.
  • 또한 규칙 엔진을 통해 특정 오류를 간단히 캐시하도록 네거티브 캐싱을 설정하여 오류를 생성하는 요청이 급증하는 것을 방지할 수 있습니다. 이 구성은 요청을 이행할 수 없을 때 오리진의 압력을 완화하는 것을 확인했습니다. 이 기능은 4xx 또는 5xx 요청에서 오리진 스파이크를 줄이기 위해 사용자가 구성할 수 있는 훌륭한 기능입니다.
  • 규칙 엔진의 스트리밍 최적화 기능은 라이브 스트림의 성능을 최적화하고 오리진 (s)의 부하를 줄이기 위해 캐싱 구성을 조정하는 데 적합합니다.

고객의 요구에 맞는 고유한 구성

우리는 어떤 고객도 동일하지 않으며, 같은 업계의 두 회사조차도 서로 다른 콘텐츠 요구 사항을 가지고 있다는 것을 알고 있습니다. Rules Engine을 사용하면 네트워크가 콘텐츠를 처리하도록 구성된 방식을 완벽하게 제어할 수 있습니다. 우리는 크고 작은 회사와 협력하고 있으며, 우리의 네트워크가 당신의 컨텐츠의 전문적인 제공에 맞게 미세 조정되도록 보장합니다.

Rules Engine이 콘텐츠 및 전송 요구 사항을 지원하는 방법에 대해 자세히 알아보려면 문의해 주십시오.